diff --git a/src/components/ui/report-actions-sheet.tsx b/src/components/ui/report-actions-sheet.tsx index f12e3e1..367a24a 100644 --- a/src/components/ui/report-actions-sheet.tsx +++ b/src/components/ui/report-actions-sheet.tsx @@ -9,19 +9,6 @@ type ReportActionsSheetProps = { onClose?: () => void; }; -declare global { - interface Window { - HabibApp?: { - postMessage: (message: string) => void; - }; - onFlutterResponse?: (event: { - action: string; - success: boolean; - data?: { latitude: number; longitude: number }; - }) => void; - } -} - export function ReportActionsSheet({ onClose }: ReportActionsSheetProps) { const [isVisible, setIsVisible] = useState(true); const [isEntering, setIsEntering] = useState(true); @@ -80,11 +67,7 @@ export function ReportActionsSheet({ onClose }: ReportActionsSheetProps) { }, [isClosing, onClose]); useEffect(() => { - const handleFlutterResponse = (event: { - action: string; - success: boolean; - data?: { latitude: number; longitude: number }; - }) => { + const handleFlutterResponse: NonNullable = (event) => { if (event.action === "get_location" && event.success && event.data) { const message = `Location: ${event.data.latitude}, ${event.data.longitude}`; alert(message); diff --git a/src/types/window.d.ts b/src/types/window.d.ts index e2501e0..8eb1dfd 100644 --- a/src/types/window.d.ts +++ b/src/types/window.d.ts @@ -1,8 +1,14 @@ declare global { + interface FlutterResponseEvent { + action: string; + success: boolean; + data?: { latitude: number; longitude: number }; + } + interface Window { HABIB_TOKEN?: string; HABIB_COINS?: number; - onFlutterResponse?: (data: any) => void; + onFlutterResponse?: (event: FlutterResponseEvent) => void; HabibApp?: { postMessage: (message: string) => void; };