diff --git a/src/components/ThemePreferenceDialog.astro b/src/components/ThemePreferenceDialog.astro new file mode 100644 index 0000000..11366ae --- /dev/null +++ b/src/components/ThemePreferenceDialog.astro @@ -0,0 +1,252 @@ +--- +// First-visit theme preference dialog +// Shows only to true first-time visitors +// Two-step flow: theme selection → remember preference +--- + +
+ +
+ +
+
+
+
+ + +
+ +
+
+
+ + THEME_SELECT + +
+ +
+ + +

+ Choose Theme +

+

+ Select your preferred visual mode +

+ + +
+ + + + + +
+
+ + + +
+
+ + diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro index c13848c..7aa6a79 100644 --- a/src/layouts/BaseLayout.astro +++ b/src/layouts/BaseLayout.astro @@ -5,6 +5,7 @@ import Footer from '../components/Footer.astro'; import GridOverlay from '../components/GridOverlay.astro'; import Navigation from '../components/Navigation.astro'; import CustomCursor from '../components/CustomCursor'; +import ThemePreferenceDialog from '../components/ThemePreferenceDialog.astro'; import { HTML_MARKER, SITE_TITLE, SITE_DESCRIPTION, SOCIAL_LINKS } from '../consts'; interface Props { @@ -69,8 +70,13 @@ const personSchema = { @@ -90,6 +96,9 @@ const personSchema = { + + +