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; + } }