"use client"; import { createContext, useContext, useState, ReactNode } from "react"; import type { AnalysisResponse } from "@/lib/types"; interface AnalysisContextType { analysisResult: AnalysisResponse | null; setAnalysisResult: (result: AnalysisResponse | null) => void; taskId: string | null; setTaskId: (taskId: string | null) => void; marketType: "us" | "twse" | "tpex"; setMarketType: (type: "us" | "twse" | "tpex") => void; } const AnalysisContext = createContext( undefined ); export function AnalysisProvider({ children }: { children: ReactNode }) { const [analysisResult, setAnalysisResult] = useState( null ); const [taskId, setTaskId] = useState(null); const [marketType, setMarketType] = useState<"us" | "twse" | "tpex">("us"); return ( {children} ); } export function useAnalysisContext() { const context = useContext(AnalysisContext); if (!context) { throw new Error("useAnalysisContext must be used within AnalysisProvider"); } return context; }