Add responsive language selector with desktop buttons and mobile dropdown
This commit is contained in:
@@ -11,52 +11,86 @@ const changeLanguage = (lang) => {
|
||||
|
||||
<template>
|
||||
<div class="language-selector">
|
||||
<button
|
||||
class="lang-btn"
|
||||
:class="{ active: locale === 'da' }"
|
||||
@click="changeLanguage('da')"
|
||||
>
|
||||
DA
|
||||
</button>
|
||||
<button
|
||||
class="lang-btn"
|
||||
:class="{ active: locale === 'en' }"
|
||||
@click="changeLanguage('en')"
|
||||
>
|
||||
EN
|
||||
</button>
|
||||
<button
|
||||
class="lang-btn"
|
||||
:class="{ active: locale === 'sv' }"
|
||||
@click="changeLanguage('sv')"
|
||||
>
|
||||
SV
|
||||
</button>
|
||||
<button
|
||||
class="lang-btn"
|
||||
:class="{ active: locale === 'de' }"
|
||||
@click="changeLanguage('de')"
|
||||
>
|
||||
DE
|
||||
</button>
|
||||
<button
|
||||
class="lang-btn"
|
||||
:class="{ active: locale === 'no' }"
|
||||
@click="changeLanguage('no')"
|
||||
>
|
||||
NO
|
||||
</button>
|
||||
<div class="language-buttons is-hidden-touch">
|
||||
<button
|
||||
class="lang-btn"
|
||||
:class="{ active: locale === 'da' }"
|
||||
@click="changeLanguage('da')"
|
||||
>
|
||||
DA
|
||||
</button>
|
||||
<button
|
||||
class="lang-btn"
|
||||
:class="{ active: locale === 'en' }"
|
||||
@click="changeLanguage('en')"
|
||||
>
|
||||
EN
|
||||
</button>
|
||||
<button
|
||||
class="lang-btn"
|
||||
:class="{ active: locale === 'sv' }"
|
||||
@click="changeLanguage('sv')"
|
||||
>
|
||||
SV
|
||||
</button>
|
||||
<button
|
||||
class="lang-btn"
|
||||
:class="{ active: locale === 'de' }"
|
||||
@click="changeLanguage('de')"
|
||||
>
|
||||
DE
|
||||
</button>
|
||||
<button
|
||||
class="lang-btn"
|
||||
:class="{ active: locale === 'no' }"
|
||||
@click="changeLanguage('no')"
|
||||
>
|
||||
NO
|
||||
</button>
|
||||
</div>
|
||||
<div class="language-select is-hidden-desktop">
|
||||
<div class="select is-fullwidth">
|
||||
<select :value="locale" @change="changeLanguage($event.target.value)">
|
||||
<option value="da">DA</option>
|
||||
<option value="en">EN</option>
|
||||
<option value="sv">SV</option>
|
||||
<option value="de">DE</option>
|
||||
<option value="no">NO</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.language-selector {
|
||||
.language-buttons {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
padding: 16px;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.language-select {
|
||||
padding: 16px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.language-select .select select {
|
||||
padding: 8px 16px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
background: #fff;
|
||||
cursor: pointer;
|
||||
font-weight: 500;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.language-select .select select:hover {
|
||||
background: #f0f0f0;
|
||||
}
|
||||
|
||||
.lang-btn {
|
||||
padding: 8px 16px;
|
||||
border: 1px solid #ccc;
|
||||
|
||||
Reference in New Issue
Block a user