diff --git a/ui/src/components.tsx b/ui/src/components.tsx index db38242..520a70c 100644 --- a/ui/src/components.tsx +++ b/ui/src/components.tsx @@ -3,10 +3,12 @@ import { Link } from 'react-router-dom' import { useReveal } from './reveal' import { useI18n, useT } from './i18n' import { IS_DEMO } from './api' +import { helperConfigured } from './helper' /** A thin, always-visible strip in demo mode (runtime `?demo=1` or the VITE_DEMO fallback) so a - * visitor never mistakes the sample data for a real vault, and can leave demo mode (`?demo=0`). - * Renders nothing outside demo mode. */ + * visitor never mistakes the sample data for a real vault. Offers "Exit demo" (`?demo=0`) ONLY when + * a real mode exists to exit to (a helper is configured) — a pure demo deploy has nowhere to go, so + * the exit would land on an empty backend. Renders nothing outside demo mode. */ export function DemoBanner() { const t = useT() if (!IS_DEMO) return null @@ -14,7 +16,7 @@ export function DemoBanner() {
DEMO {t('demo.bannerNote')} - {t('demo.bannerExit')} + {helperConfigured() && {t('demo.bannerExit')}}
) }