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 (
);
}