@@ -17,6 +17,7 @@ import { HotkeysProvider } from "react-hotkeys-hook"
1717import { useHotkeys } from "react-hotkeys-hook"
1818import { AnimatePresence } from "motion/react"
1919import { useIsMobile } from "@hooks/use-mobile"
20+ import { useAuth } from "@lib/auth-context"
2021import { useProject } from "@/stores"
2122import {
2223 useQuickNoteDraftReset ,
@@ -43,10 +44,27 @@ type DocumentWithMemories = DocumentsResponse["documents"][0]
4344
4445export default function NewPage ( ) {
4546 const isMobile = useIsMobile ( )
47+ const { user, session } = useAuth ( )
4648 const { selectedProject } = useProject ( )
4749 const { viewMode, setViewMode } = useViewMode ( )
4850 const queryClient = useQueryClient ( )
4951
52+ // Chrome extension auth: send session token via postMessage so the content script can store it
53+ useEffect ( ( ) => {
54+ const url = new URL ( window . location . href )
55+ if ( ! url . searchParams . get ( "extension-auth-success" ) ) return
56+ const sessionToken = session ?. token
57+ const userData = { email : user ?. email , name : user ?. name , userId : user ?. id }
58+ if ( sessionToken && userData . email ) {
59+ window . postMessage (
60+ { token : encodeURIComponent ( sessionToken ) , userData } ,
61+ window . location . origin ,
62+ )
63+ url . searchParams . delete ( "extension-auth-success" )
64+ window . history . replaceState ( { } , "" , url . toString ( ) )
65+ }
66+ } , [ user , session ] )
67+
5068 // URL-driven modal states
5169 const [ addDoc , setAddDoc ] = useQueryState ( "add" , addDocumentParam )
5270 const [ isSearchOpen , setIsSearchOpen ] = useQueryState ( "search" , searchParam )
0 commit comments