Files
web-temp/layers/types/DataizationType.ts

101 lines
1.9 KiB
TypeScript

import type { CommonPeriodType } from '#layers/types/Common'
// [S] Type in czn_homepage_brand_siteConfig.json ----------------------------------------
interface GnbMenuType {
id: string
title: string
link: string
target: string
displayLocales?: Array<string>
}
interface GnbType extends GnbMenuType {
depth2List?: Array<GnbMenuType>
}
interface SnsType {
id: string
title: string
link: string
sub: string
key?: string
log?: object
}
interface LoreType {
loreNo: number
chapter: number // 1 : 프롤로그, 2 ~ : N장
title: string
description: string
}
interface CharacterCardType {
id: string
}
interface CharacterType {
id: string
cardList: Array<CharacterCardType>
}
interface FooterMenuType {
id: string
title: string
link: string
target: string
active: string
}
interface MediaType {
id: string
title: string
logCode?: string
}
interface MarketType {
id: string
code: string
link: string
}
// [E] Type in czn_homepage_brand_siteConfig.json ----------------------------------------
interface ReqGetDataization {
baseApiUrl: string
fileName?: string
}
interface DataizationType {
gnbList?: Array<GnbType>
mainVideo: CommonPeriodType
promotionList?: Array<PromotionPreregistType>
characterList?: Array<CharacterType>
loreList?: Array<LoreType>
footerMenuList?: Array<FooterMenuType>
mediaList?: Array<MediaType>
sectionList?: Array<string>
marketList?: Array<MarketType>
}
interface ResGetDataization {
code: number
message: string
value?: {
dataization?: DataizationType
}
}
export type {
// [S] Type in czn_homepage_brand_siteConfig.json ----------------------------------------
GnbType,
SnsType,
MediaType,
LoreType,
PromotionPreregistType,
FooterMenuType,
MarketType,
// [E] Type in czn_homepage_brand_siteConfig.json ----------------------------------------
DataizationType,
ReqGetDataization,
ResGetDataization,
}