feat: 점검 페이지 추가, 언어 정책 추가

This commit is contained in:
“hyeonggkim”
2025-10-31 15:30:06 +09:00
parent 7f040d432b
commit 74851e01ed
13 changed files with 629 additions and 356 deletions

View File

@@ -1,24 +1,5 @@
<template>
<div class="select-language" :class="{ 'language-changing': isChanging }">
<!-- <select
v-model="selectedLocale"
:disabled="isChanging"
class="text-black px-2 py-1 rounded-md"
:class="{ 'opacity-50 cursor-not-allowed': isChanging }"
@change="switchLanguage"
>
<option
v-for="localeOption in availableLanguages"
:key="localeOption"
:value="localeOption"
>
{{ localeOption }}
</option>
</select>
<span v-if="isChanging" class="ml-2 text-sm text-gray-500">
변경 중...
</span>
-->
<button
:disabled="isChanging"
@@ -82,6 +63,9 @@
</template>
<script setup lang="ts">
const config = useRuntimeConfig()
const baseDomain = `${config.public.baseDomain}`
const gameDataStore = useGameDataStore()
// 사용 가능한 언어 목록
@@ -141,12 +125,21 @@ const switchLanguage = async () => {
isChanging.value = true
try {
// URL 경로를 통해 언어 변경
const path = switchLocalePath(selectedLocale.value as any)
if (path) {
// 페이지 데이터 초기화 (새로운 언어로 다시 로드되도록)
pageDataStore.clearPageData()
window.location.href = path
// URL 경로를 통해 언어 변경
const path = switchLocalePath(selectedLocale.value as any)
if (path) {
// 언어 쿠키 설정 (클라이언트 사이드) - 페이지 이동 전에 설정
const localeCookie = useCookie('LOCALE', {
domain: baseDomain,
path: '/',
maxAge: 60 * 60 * 24 * 365, // 1년 (초 단위)
sameSite: 'lax'
})
localeCookie.value = selectedLocale.value.toUpperCase()
// 페이지 데이터 초기화 (새로운 언어로 다시 로드되도록)
pageDataStore.clearPageData()
window.location.href = path
// 언어 변경 및 라우팅
// await setLocale(selectedLocale.value as any)