import { Suspense, lazy } from "react"; import { MaterialIcon } from "@/components/ui/MaterialIcon"; import type { Step } from "react-joyride"; const TourGuideImpl = lazy(() => import("./TourGuideImpl").then((m) => ({ default: m.TourGuideImpl }))); const PageTourImpl = lazy(() => import("./TourGuideImpl").then((m) => ({ default: m.PageTourImpl }))); export type { Step }; const TRIGGER_GLOBAL = "pram-tour-trigger"; export function TourGuide() { return ( ); } export function triggerGlobalTour() { window.dispatchEvent(new CustomEvent(TRIGGER_GLOBAL)); } // ── Page-specific tour ── interface PageTourProps { storageKey: string; steps: Step[]; autoDelay?: number; } export function PageTour({ storageKey, steps, autoDelay }: PageTourProps) { return ( ); } export function triggerPageTour(storageKey: string) { window.dispatchEvent(new CustomEvent(storageKey)); } // ── Floating help button ── interface TourHelpButtonProps { storageKey: string; label?: string; } export function TourHelpButton({ storageKey, label = "Panduan Halaman" }: TourHelpButtonProps) { return ( ); }