diff --git a/resources/js/guest/pages/HomePage.tsx b/resources/js/guest/pages/HomePage.tsx
index 4a564d8..6bbc06f 100644
--- a/resources/js/guest/pages/HomePage.tsx
+++ b/resources/js/guest/pages/HomePage.tsx
@@ -534,7 +534,7 @@ function MissionActionCard({
-
+
ca. {durationMinutes} min
@@ -543,7 +543,7 @@ function MissionActionCard({
{card ? (
{card.title}
@@ -603,7 +603,7 @@ function MissionActionCard({
}}
>
- Andere
+ Andere
diff --git a/resources/js/pages/marketing/Demo.tsx b/resources/js/pages/marketing/Demo.tsx
index 7bd8079..b392064 100644
--- a/resources/js/pages/marketing/Demo.tsx
+++ b/resources/js/pages/marketing/Demo.tsx
@@ -2,6 +2,7 @@ import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert';
import { Badge } from '@/components/ui/badge';
import { Button } from '@/components/ui/button';
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
+import { Dialog, DialogContent } from '@/components/ui/dialog';
import { useLocalizedRoutes } from '@/hooks/useLocalizedRoutes';
import { useLocale } from '@/hooks/useLocale';
import MarketingLayout from '@/layouts/mainWebsite';
@@ -21,6 +22,7 @@ const DemoPage: React.FC = ({ demoToken }) => {
const { localizedPath } = useLocalizedRoutes();
const locale = useLocale();
const embedUrl = demoToken ? `/e/${demoToken}` : '/e/demo?demo=1';
+ const [isDemoOpen, setIsDemoOpen] = React.useState(false);
const demo = t('demo_page', { returnObjects: true }) as {
title: string;
@@ -31,14 +33,29 @@ const DemoPage: React.FC = ({ demoToken }) => {
openFull: string;
features: DemoFeature[];
};
+ const demoFeatures = Array.isArray(demo.features) ? demo.features : [];
+ const handleOpenDemo = (): void => {
+ if (typeof window === 'undefined') {
+ return;
+ }
+
+ const isMobile = window.matchMedia('(max-width: 768px)').matches;
+
+ if (isMobile) {
+ window.open(embedUrl, '_blank', 'noopener,noreferrer');
+ return;
+ }
+
+ setIsDemoOpen(true);
+ };
return (
-
+
-
+
Demo Live
@@ -67,7 +84,7 @@ const DemoPage: React.FC = ({ demoToken }) => {
{embedUrl ? (
<>
-
+
= ({ demoToken }) => {
{demo.iframeNote}
-
>
@@ -122,7 +142,7 @@ const DemoPage: React.FC
= ({ demoToken }) => {
- {demo.features.map((feature) => (
+ {demoFeatures.map((feature) => (
@@ -153,6 +173,23 @@ const DemoPage: React.FC = ({ demoToken }) => {
+
);
};