diff --git a/src/components/atoms/Button.astro b/src/components/atoms/Button.astro
new file mode 100644
index 0000000..5dfadea
--- /dev/null
+++ b/src/components/atoms/Button.astro
@@ -0,0 +1,55 @@
+---
+import { clx } from '../../utils/classes';
+type Props = {
+ className?: string;
+ type?: 'primary' | 'ghost';
+}
+
+const { className, type, ...props } = Astro.props;
+const buttonType = type ?? 'primary'
+---
+
+
+
+
\ No newline at end of file
diff --git a/src/components/atoms/Card.astro b/src/components/atoms/Card.astro
new file mode 100644
index 0000000..f69f655
--- /dev/null
+++ b/src/components/atoms/Card.astro
@@ -0,0 +1,23 @@
+---
+interface Props {
+ to: string;
+ class?: string;
+}
+
+const { to, class: className, ...rest } = Astro.props;
+---
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/atoms/HorizontalSlider.astro b/src/components/atoms/HorizontalSlider.astro
new file mode 100644
index 0000000..7ec251e
--- /dev/null
+++ b/src/components/atoms/HorizontalSlider.astro
@@ -0,0 +1,19 @@
+
+
+
\ No newline at end of file
diff --git a/src/components/atoms/Link.astro b/src/components/atoms/Link.astro
index fb430d3..1312ff4 100644
--- a/src/components/atoms/Link.astro
+++ b/src/components/atoms/Link.astro
@@ -15,58 +15,34 @@ const currentPath = new URL(Astro.url).pathname.split('/')[1];
a {
text-decoration: none;
color: white;
- font-size: larger;
+ font-size: large;
position: relative;
- &::before {
- content: "{";
- transform: translateX(-2rem);
- left: 0;
- position: absolute;
- transition-property: transform, opacity;
- transition-duration: 150ms;
- transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
- }
-
&::after {
- content: "}";
- transform: translateX(2rem);
- right: 0;
- position: absolute;
+ font-family: monospace;
+ content: ".clickable";
transition-property: transform, opacity;
transition-duration: 150ms;
transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
&:not(.current) {
- &::after,
- &::before {
+ &::after {
opacity: 0;
}
&:hover,
&:focus-within {
- &::before,
&::after {
opacity: 1;
}
- &::before { transform: translateX(-1rem); }
- &::after { transform: translateX(1rem); }
}
}
&.current {
- &::before {
- transition: transform 100ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
- transform: translateX(-2rem);
- }
-
- &:hover::before,
- &:focus-visible::before {
- transform: translateX(-1rem);
- }
&::after {
+ content: '.current';
transform: translateX(2rem);
transition: transform 100ms cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
diff --git a/src/components/nav.astro b/src/components/nav.astro
new file mode 100644
index 0000000..756b112
--- /dev/null
+++ b/src/components/nav.astro
@@ -0,0 +1,77 @@
+---
+import { Icon } from 'astro-icon/components';
+import Button from './atoms/Button.astro';
+import Link from './atoms/Link.astro';
+---
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/icons/ham.svg b/src/icons/ham.svg
new file mode 100644
index 0000000..3334697
--- /dev/null
+++ b/src/icons/ham.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro
index 9c5df40..fcc573a 100644
--- a/src/layouts/Layout.astro
+++ b/src/layouts/Layout.astro
@@ -1,6 +1,6 @@
---
-import Link from '../components/atoms/Link.astro';
-import { getLangFromUrl, useTranslations } from '../i18n/utils';
+import Navigation from '../components/nav.astro'
+import { getLangFromUrl } from '../i18n/utils';
import '../styles/global.css'
interface Props {
@@ -9,7 +9,7 @@ interface Props {
const { title } = Astro.props;
const lang = getLangFromUrl(Astro.url);
-const t = useTranslations(lang);
+// const t = useTranslations(lang);
---
@@ -24,10 +24,7 @@ const t = useTranslations(lang);
-
+
@@ -35,23 +32,12 @@ const t = useTranslations(lang);