admin_szolgáltatók_
This commit is contained in:
@@ -154,20 +154,8 @@
|
||||
|
||||
<!-- Right: Language Switcher + Avatar / Dropdown -->
|
||||
<div class="flex items-center gap-3">
|
||||
<!-- Language Switcher (persisted to backend) -->
|
||||
<div class="flex items-center bg-slate-700/50 rounded-lg p-0.5">
|
||||
<button
|
||||
v-for="locale in availableLocales"
|
||||
:key="locale.code"
|
||||
@click="switchLocale(locale.code)"
|
||||
class="px-2.5 py-1 text-xs font-medium rounded-md transition"
|
||||
:class="currentLocale === locale.code
|
||||
? 'bg-indigo-600 text-white shadow-sm'
|
||||
: 'text-slate-400 hover:text-white'"
|
||||
>
|
||||
{{ locale.code === 'hu' ? 'HU' : 'EN' }}
|
||||
</button>
|
||||
</div>
|
||||
<!-- Language Switcher Dropdown (scalable for 3+ languages) -->
|
||||
<LanguageSwitcher />
|
||||
|
||||
<!-- Avatar / Dropdown -->
|
||||
<div class="relative" ref="dropdownRef">
|
||||
@@ -229,7 +217,6 @@
|
||||
<script setup lang="ts">
|
||||
import { ref, computed, onMounted, onUnmounted } from 'vue'
|
||||
import { useRoute } from 'vue-router'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { useRegionStore } from '~/stores/region'
|
||||
|
||||
const route = useRoute()
|
||||
@@ -238,34 +225,6 @@ const router = useRouter()
|
||||
const authStore = useAuthStore()
|
||||
const regionStore = useRegionStore()
|
||||
|
||||
// ── i18n / Language Switcher (persisted to backend) ──────────────
|
||||
const { locale, locales } = useI18n()
|
||||
const availableLocales = computed(() => locales.value as { code: string; name: string }[])
|
||||
const currentLocale = computed(() => locale.value)
|
||||
|
||||
function getAuthHeaders() {
|
||||
const tokenCookie = useCookie('access_token')
|
||||
const token = tokenCookie.value
|
||||
return token ? { Authorization: `Bearer ${token}` } : {}
|
||||
}
|
||||
|
||||
async function switchLocale(code: string) {
|
||||
locale.value = code
|
||||
// Persist language preference to backend
|
||||
try {
|
||||
await $fetch('/api/v1/auth/me/language', {
|
||||
method: 'PATCH',
|
||||
headers: {
|
||||
...getAuthHeaders(),
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: { preferred_language: code },
|
||||
})
|
||||
} catch (err) {
|
||||
console.error('[Layout] Failed to persist language preference:', err)
|
||||
}
|
||||
}
|
||||
|
||||
// Sidebar state
|
||||
const sidebarOpen = ref(false)
|
||||
const sidebarCollapsed = ref(false)
|
||||
|
||||
Reference in New Issue
Block a user