{"version":3,"sources":["../src/hooks/useBookmarks.ts"],"names":["useState","useEffect","get","useCallback","set"],"mappings":";;;;;;AAGA,IAAM,GAAA,GAAM,oBAAA;AAYL,SAAS,YAAA,GAAe;AAC7B,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,cAAA,CAAqB,EAAE,CAAA;AACzD,EAAAC,eAAA,CAAU,MAAM;AAAE,IAAAC,aAAA,CAAgB,GAAG,EAAE,IAAA,CAAK,CAAA,CAAA,KAAK,aAAa,CAAA,IAAK,EAAE,CAAC,CAAA;AAAA,EAAE,CAAA,EAAG,EAAE,CAAA;AAE7E,EAAA,MAAM,GAAA,GAAMC,iBAAA,CAAY,OAAO,CAAA,KAA0C;AACvE,IAAA,MAAM,OAAiB,EAAE,GAAG,GAAG,EAAA,EAAI,KAAA,GAAQ,KAAK,MAAA,EAAO,CAAE,SAAS,EAAE,CAAA,CAAE,MAAM,CAAA,EAAG,EAAE,GAAG,SAAA,EAAW,IAAA,CAAK,KAAI,EAAE;AAC1G,IAAA,MAAM,IAAA,GAAO,CAAC,GAAG,SAAA,EAAW,IAAI,CAAA;AAChC,IAAA,MAAMC,aAAA,CAAI,KAAK,IAAI,CAAA;AACnB,IAAA,YAAA,CAAa,IAAI,CAAA;AACjB,IAAA,OAAO,IAAA;AAAA,EACT,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,MAAM,MAAA,GAASD,iBAAA,CAAY,OAAO,EAAA,KAAe;AAC/C,IAAA,MAAM,OAAO,SAAA,CAAU,MAAA,CAAO,CAAA,CAAA,KAAK,CAAA,CAAE,OAAO,EAAE,CAAA;AAC9C,IAAA,MAAMC,aAAA,CAAI,KAAK,IAAI,CAAA;AACnB,IAAA,YAAA,CAAa,IAAI,CAAA;AAAA,EACnB,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,OAAO,EAAE,SAAA,EAAW,GAAA,EAAK,MAAA,EAAO;AAClC","file":"chunk-2E3V26BP.cjs","sourcesContent":["import { useCallback, useEffect, useState } from 'react'\nimport { get, set } from 'idb-keyval'\n\nconst KEY = 'careless-bookmarks'\n\nexport interface Bookmark {\n  id: string\n  threadId: string | null\n  messageId: string\n  text: string\n  role: 'user' | 'assistant' | 'system'\n  timestamp: number\n  note?: string\n}\n\nexport function useBookmarks() {\n  const [bookmarks, setBookmarks] = useState<Bookmark[]>([])\n  useEffect(() => { get<Bookmark[]>(KEY).then(b => setBookmarks(b || [])) }, [])\n\n  const add = useCallback(async (b: Omit<Bookmark, 'id' | 'timestamp'>) => {\n    const item: Bookmark = { ...b, id: 'bm-' + Math.random().toString(36).slice(2, 10), timestamp: Date.now() }\n    const next = [...bookmarks, item]\n    await set(KEY, next)\n    setBookmarks(next)\n    return item\n  }, [bookmarks])\n\n  const remove = useCallback(async (id: string) => {\n    const next = bookmarks.filter(b => b.id !== id)\n    await set(KEY, next)\n    setBookmarks(next)\n  }, [bookmarks])\n\n  return { bookmarks, add, remove }\n}\n"]}