diff --git a/astro.config.mjs b/astro.config.mjs index dd144d6..70ca5e5 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -4,6 +4,7 @@ import react from '@astrojs/react'; // https://astro.build/config export default defineConfig({ + prefetch: true, integrations: [react()], experimental: {}, }); diff --git a/src/assets/icons/hamburger.svg b/src/assets/icons/hamburger.svg new file mode 100644 index 0000000..296f49d --- /dev/null +++ b/src/assets/icons/hamburger.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/components/Navbar.astro b/src/components/Navbar.astro index d4be57c..57669dd 100644 --- a/src/components/Navbar.astro +++ b/src/components/Navbar.astro @@ -1,4 +1,7 @@ --- +import OffCanvas from '@components/OffCanvas/OffCanvas.astro'; +import OffCanvasBtn from '@components/OffCanvas/OffCanvasBtn.astro'; + const links = [ { href: '/', text: 'Home' }, { href: '/blog', text: 'Blog' }, @@ -8,85 +11,24 @@ const links = [ ]; --- - - -
- - -
-
- +
diff --git a/src/components/OffCanvas/OffCanvas.astro b/src/components/OffCanvas/OffCanvas.astro new file mode 100644 index 0000000..9b933db --- /dev/null +++ b/src/components/OffCanvas/OffCanvas.astro @@ -0,0 +1,107 @@ +--- +const { isOpen } = Astro.props; +--- + +
+
+ + +
+ +
+
+ +
+
+
+ + + + diff --git a/src/components/OffCanvas/OffCanvasBtn.astro b/src/components/OffCanvas/OffCanvasBtn.astro new file mode 100644 index 0000000..81ee5fd --- /dev/null +++ b/src/components/OffCanvas/OffCanvasBtn.astro @@ -0,0 +1,53 @@ + + + diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index f8e2aec..bb613fb 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -25,11 +25,11 @@ const { title } = Astro.props; - +
-
+
diff --git a/tsconfig.json b/tsconfig.json index 641dbd0..25e56fe 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,7 +7,8 @@ "baseUrl": ".", "paths": { "@components/*": ["src/components/*"], - "@layouts/*": ["src/layouts/*"] + "@layouts/*": ["src/layouts/*"], + "@assets/*": ["src/assets/*"] }, "plugins": [ {