refactor. 게임 데이터 초기화 개선
- LanguageSwitcher.vue에서 언어 전환 시 게임 데이터 즉시 갱신 로직 개선 - init-game-data.server.ts 파일 추가로 서버 사이드에서 게임 데이터 초기화 로직 구현 - app.vue에서 불필요한 게임 데이터 초기화 로직 제거
This commit is contained in:
20
layers/plugins/init-game-data.server.ts
Normal file
20
layers/plugins/init-game-data.server.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import type { GameDataValue } from '#layers/types/api/gameData'
|
||||
|
||||
export default defineNuxtPlugin({
|
||||
name: 'hydrate-game-data',
|
||||
dependsOn: ['pinia'],
|
||||
setup(_nuxtApp) {
|
||||
if (!import.meta.server) return
|
||||
|
||||
const event = useRequestEvent()
|
||||
const gameData = (event?.context as { gameData?: GameDataValue })?.gameData
|
||||
const currentLangCode = (event?.context as { currentLangCode?: string })
|
||||
?.currentLangCode
|
||||
|
||||
if (!gameData) return
|
||||
|
||||
const gameDataStore = useGameDataStore()
|
||||
gameDataStore.setCurrentLangCode(currentLangCode)
|
||||
gameDataStore.setGameData(gameData)
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user