/* ============================================================================
   DOCS — travel documents, now shared via Supabase (documents table + vault
   bucket for files). docStore/useDocs keep the same surface the Vault screen
   uses; data is shared across the trip and cached locally for offline viewing.
   ============================================================================ */
const DOC_KINDS = [
  { kind: "Ticket / tour", icon: "ticket_diagonal", accent: "var(--color-marigold)" },
  { kind: "Hotel booking", icon: "bed", accent: "var(--color-cyan)" },
  { kind: "Transport", icon: "vehicle_car", accent: "var(--color-teal)" },
  { kind: "Passport", icon: "person", accent: "var(--color-darkTeal)" },
  { kind: "Visa", icon: "globe", accent: "var(--color-darkGreen)" },
  { kind: "Insurance", icon: "shield", accent: "var(--color-grape)" },
  { kind: "Other", icon: "document", accent: "var(--color-mink)" },
];

// Backed by the shared Supabase store; keeps add/remove/list + subscribe.
const docStore = {
  get list() { return (window.db && window.db.documents.list) || []; },
  add(d) { return window.db ? window.db.documents.upsert(d) : null; },
  remove(id) { return window.db ? window.db.documents.remove(id) : null; },
  refresh() { return window.db && window.db.documents.refresh(); },
  subscribe(f) { return window.db ? window.db.documents.subscribe(f) : () => {}; },
};

function useDocs() {
  window.db.useStore(window.db.documents); // re-renders on shared-store changes
  return docStore;
}

Object.assign(window, { docStore, useDocs, DOC_KINDS });
