diff --git a/src/components/LanguagePicker.jsx b/src/components/LanguagePicker.jsx
index 5ef8c24..b2804fa 100644
--- a/src/components/LanguagePicker.jsx
+++ b/src/components/LanguagePicker.jsx
@@ -7,17 +7,24 @@ export default function LanguagePicker() {
const [language, setLanguage] = useAtom(languageState);
const t = getTranslations(language);
- const toggleLanguage = () => {
- setLanguage(language === 'en' ? 'fi' : 'en');
- };
-
return (
-
+
+
+
+
);
}
diff --git a/src/state/atoms.js b/src/state/atoms.js
index 1c527ab..6223729 100644
--- a/src/state/atoms.js
+++ b/src/state/atoms.js
@@ -6,4 +6,6 @@ export const activeSectionState = atom('home');
export const themeState = atom('dark');
-export const languageState = atom('en');
+export const languageState = atom(
+ typeof navigator !== 'undefined' && navigator.language?.startsWith('fi') ? 'fi' : 'en'
+);
diff --git a/src/styles/components/LanguagePicker.module.scss b/src/styles/components/LanguagePicker.module.scss
index 1d5530f..9ae8d02 100644
--- a/src/styles/components/LanguagePicker.module.scss
+++ b/src/styles/components/LanguagePicker.module.scss
@@ -1,27 +1,45 @@
@use '../variables' as *;
.picker {
+ display: flex;
+ gap: 0.25rem;
background: transparent;
border: 1px solid var(--text-secondary);
border-radius: 4px;
- padding: 0.4rem 0.8rem;
- color: var(--text-primary);
+ padding: 0.2rem;
+
+ @media (max-width: 768px) {
+ padding: 0.15rem;
+ gap: 0.15rem;
+ }
+}
+
+.flag {
+ background: transparent;
+ border: none;
cursor: pointer;
- font-size: 0.85rem;
- font-weight: 500;
+ padding: 0.2rem;
+ border-radius: 2px;
transition: all 0.2s ease;
+ &[aria-pressed='false'] {
+ opacity: 0.6;
+ }
+
&:hover {
- border-color: var(--accent);
- color: var(--accent);
+ opacity: 1;
}
@media (max-width: 768px) {
- padding: 0.35rem 0.6rem;
- font-size: 0.8rem;
+ padding: 0.15rem;
}
}
-.label {
+.flagIcon {
+ font-size: 1.1rem;
display: inline-block;
+
+ @media (max-width: 768px) {
+ font-size: 1rem;
+ }
}