108 lines
2.3 KiB
TypeScript
108 lines
2.3 KiB
TypeScript
export default interface ISidebarData {
|
|
// TODO 补全
|
|
statusIcons?: unknown;
|
|
user?: {
|
|
userID: number,
|
|
name: string,
|
|
link: string,
|
|
money: {
|
|
value: number,
|
|
},
|
|
donator: boolean,
|
|
level: {
|
|
value: number,
|
|
upgradePossibility: boolean,
|
|
link: string,
|
|
}
|
|
};
|
|
bars?: {
|
|
energy: Bar,
|
|
nerve: Bar,
|
|
happy: Bar,
|
|
life: Bar,
|
|
chain: Bar,
|
|
};
|
|
areas?: {
|
|
[area: string]: Area
|
|
}
|
|
headerData?: HeaderData;
|
|
|
|
[key: string]: unknown;
|
|
}
|
|
|
|
interface Area {
|
|
"name": string,
|
|
"shortName": string,
|
|
"link": string,
|
|
"icon": string,
|
|
"styleStatus": string,
|
|
"linkOrder": number,
|
|
"highlightStatus": unknown,
|
|
"status": unknown,
|
|
"favorite": boolean,
|
|
"added": unknown,
|
|
"amount": unknown
|
|
}
|
|
|
|
interface Bar {
|
|
"name": string,
|
|
"timeToUpdate": number,
|
|
"amount": number,
|
|
"max": number,
|
|
"step": number,
|
|
"coolDown"?: number,
|
|
"endCoolDownTimestamp"?: number,
|
|
"timestampToUpdate": number,
|
|
"bonuses"?: number,
|
|
"link"?: string
|
|
}
|
|
|
|
interface HeaderData {
|
|
"user": {
|
|
"state": {
|
|
"status": "ok" | string,
|
|
"isLoggedIn": boolean,
|
|
"isDonator": boolean,
|
|
"isTravelling": boolean,
|
|
"isAbroad": boolean
|
|
},
|
|
"data": {
|
|
"hospitalStamp": number,
|
|
"jailStamp": number,
|
|
"logoutHash": string,
|
|
"userID": number,
|
|
"avatar": {
|
|
"isDefault": false,
|
|
"link": string
|
|
}
|
|
}
|
|
},
|
|
"serverState": {
|
|
"serverName": string,
|
|
"currentTime": number
|
|
},
|
|
"settings": {
|
|
"emptyHeader": boolean,
|
|
"emptyLinks": boolean,
|
|
"hideActivityLog": boolean,
|
|
"hideAdvancedSearch": boolean,
|
|
"hideSettingsDropdown": boolean,
|
|
"hasAccessToDarkMode": boolean
|
|
},
|
|
"logo": {
|
|
"name": string,
|
|
"title": string,
|
|
"country": string,
|
|
"darkModeLogo": string,
|
|
"additionalData": unknown[]
|
|
},
|
|
"links": Link[],
|
|
"headlines": unknown
|
|
}
|
|
|
|
interface Link {
|
|
"name": string,
|
|
"link": string,
|
|
"icon": string,
|
|
"inNewTab": boolean
|
|
} |