fix. 임시 데이터 맞춰 수정

This commit is contained in:
clkim
2025-09-09 22:18:10 +09:00
parent fcd4dc799b
commit 56a1a50312
18 changed files with 492 additions and 259 deletions

View File

@@ -18,31 +18,30 @@ export interface GameDataValue {
game_id: string;
game_code: number;
s3_folder_name: string;
default_lang_code: string;
game_name: string;
ga_code: string;
favicon_path: string;
design_theme: number;
key_color_codes: string[];
lang_codes: string[];
lang_codes: string; // JSON 문자열로 변경
key_color_codes: string; // JSON 문자열로 변경
use_game_font: boolean;
footer_dev_ci_img_yn: boolean;
game_font: GameDataFont;
global: GameDataGlobal;
footer_dev_ci_img_path: string;
game_font: string; // JSON 문자열로 변경
globals: GameDataGlobal[]; // 배열로 변경
gnb: GameDataGnb;
quick_menus: GameDataQuickMenu[];
stove_gnb: GameDataStoveGnb;
comm_img: GameDataCommImg;
meta_tag: GameDataMetaTag;
youtube: GameDataYoutube;
sns: GameDataSns;
market: GameDataMarket;
footer: GameDataFooter;
intro: GameDataIntro;
inspection: Record<string, any>; // 동적 객체
stove_gnb: string; // JSON 문자열로 변경
meta_tag: string; // JSON 문자열로 변경
sns: string; // JSON 문자열로 변경
footer: string; // JSON 문자열로 변경
}
// Global 설정 타입
export interface GameDataGlobal {
system_font: GameDataFont;
lang: GameDataLang;
system_font: string; // JSON 문자열로 변경
lang: string; // JSON 문자열로 변경
}
// 폰트 타입
@@ -61,12 +60,18 @@ export interface GameDataLang {
// GNB 설정 타입
export interface GameDataGnb {
game_gnb_ver: string;
display_start_dt: number;
display_start_dt: string; // ISO 문자열로 변경
theme_type: string;
bi_path: string;
lang_codes: string[];
buttons: any[];
menus: GameDataMenu[];
lang_codes: string; // JSON 문자열로 변경
buttons: GameDataButton[];
menus: Record<string, GameDataMenu>; // 동적 객체로 변경
}
// 버튼 타입
export interface GameDataButton {
depth_type: number;
button: string; // JSON 문자열로 변경
}
// 메뉴 타입
@@ -78,7 +83,16 @@ export interface GameDataMenu {
click_action_type: number;
url_path: string;
link_target: string;
tracking: GameDataTracking;
children: Record<string, GameDataMenu>; // 중첩 메뉴를 위한 children 속성 추가
tracking: string; // JSON 문자열로 변경
}
// 인트로 타입
export interface GameDataIntro {
seq: number;
display_start_dt: string;
display_end_dt: string;
page_url: string;
}
// 트래킹 타입
@@ -108,6 +122,15 @@ export interface GameDataStoveGnb {
stove_install_button_visible: string;
}
// 파비콘 경로 타입
export interface GameDataFaviconPath {
"16_16": string;
"32_32": string;
"72_72": string;
"180_180": string;
"192_192": string;
}
// 공통 이미지 타입
export interface GameDataCommImg {
groups: GameDataCommImgGroup[];
@@ -226,5 +249,69 @@ export interface GameDataApiResult {
error: string | null;
}
// JSON 문자열 파싱을 위한 유틸리티 타입들
export interface ParsedKeyColorCodes {
extra: string;
primary: string;
secondary: string;
"text-primary": string;
"text-secondary": string;
}
export interface ParsedGameFont {
"font-family": string;
}
export interface ParsedGlobal {
system_font: ParsedGameFont;
lang: GameDataLang;
}
export interface ParsedButton {
google_play: {
label: Record<string, string>;
url: string;
tracking: GameDataTracking;
};
app_store: {
label: Record<string, string>;
url: string;
tracking: GameDataTracking;
};
}
export interface ParsedStoveGnb {
skin_type: string;
stove_install_button_visible: string;
}
export interface ParsedSns {
kakao: GameDataSnsItem;
twitter: GameDataSnsItem;
discord: GameDataSnsItem;
youtube: GameDataSnsItem;
instagram: GameDataSnsItem;
facebook: GameDataSnsItem;
tiktok: GameDataSnsItem;
}
export interface ParsedFooter {
use_game_rating: boolean;
game_rating_info: GameDataGameRatingInfo;
use_dev_ci_url: boolean;
dev_ci_url: string;
fund_display_yn: boolean;
fund_display_url: string;
}
// 파비콘 경로 파싱 타입
export interface ParsedFaviconPath {
"16_16": string;
"32_32": string;
"72_72": string;
"180_180": string;
"192_192": string;
}
// 기존 gameData 타입과의 호환성을 위한 별칭
export type gameData = GameDataValue;