-
Growth · {L.pilotLabel}
+
{featuredPlan.name} · {L.pilotLabel}
{"\u20AA"}799
{"\u20AA"}299
{L.pilotPrice}
@@ -1226,60 +1210,18 @@ function FAQ({ L }: { L: I18NData }) {
/* ═══════════════════════════════════════════════════════════
Live Demo (interactive phone mockup)
═══════════════════════════════════════════════════════════ */
-function LiveWidgetEmbed({ L }: { L: I18NData }) {
- const hostRef = useRef
(null);
- const [status, setStatus] = useState<"loading" | "ready" | "error">("loading");
-
- useEffect(() => {
- let cancelled = false;
-
- const mountWidget = async () => {
- const host = hostRef.current;
- if (!host) return;
-
- setStatus("loading");
- host.innerHTML = "";
-
- try {
- await ensureLiveWidgetScript();
- if (cancelled || !hostRef.current) return;
-
- const widgetWindow = window as OpenSeatBookingWindow;
- widgetWindow.OpenSeatBooking?.mount(hostRef.current, {
- restaurantId: LIVE_WIDGET_RESTAURANT_ID,
- apiUrl: LIVE_WIDGET_API_URL,
- });
- setStatus("ready");
- } catch {
- if (!cancelled) setStatus("error");
- }
- };
-
- void mountWidget();
-
- return () => {
- cancelled = true;
- if (hostRef.current) hostRef.current.innerHTML = "";
- };
- }, []);
-
+function DemoSupportCard({ L }: { L: I18NData }) {
return (
-
-
{L.embedLabel}
-
{L.embedNote}
-
- {status === "error" ? (
-
{L.widgetError}
- ) : (
-
- {status === "loading" && (
-
- {L.widgetLoading}
-
- )}
-
+
+
{L.demoCardLabel}
+
{L.demoCardTitle}
+
+ {L.demoCardPoints.map((point, i) => (
+
+ {"✓"}
+ {point}
- )}
+ ))}
);
@@ -1309,7 +1251,7 @@ function LiveDemo({ L }: { L: I18NData }) {
{L.demoTitle}
{L.demoSub}
-
+
@@ -1389,7 +1331,7 @@ function LiveDemo({ L }: { L: I18NData }) {
))}
-
+