hensei-web/types/index.d.ts
Justin Edmund 9e6c9a2108
Implement party visibility (#369)
Parties can now be set to be private or unlisted. Private parties cannot
be shared with anyone while Unlisted parties can be seen by those with
the link.

We implemented a dialog to change visibility, notices to let users know
if a party isn't public, and icons on the GridRep so users can see at a
glance which of their parties has different visibility on their profile.

![CleanShot 2023-08-25 at 15 50
10@2x](https://github.com/jedmund/hensei-web/assets/383021/488b7fe2-497a-48f3-982a-d603c0a34539)

![CleanShot 2023-08-25 at 15 49
45@2x](https://github.com/jedmund/hensei-web/assets/383021/675523f6-d158-4019-8c1a-cf87b48501f9)

![CleanShot 2023-08-25 at 15 50
49@2x](https://github.com/jedmund/hensei-web/assets/383021/419a3b06-f083-4c9e-b4fb-ea70669513fd)
2023-08-25 15:51:28 -07:00

110 lines
2.1 KiB
TypeScript

export type SearchableObject =
| Character
| Weapon
| Summon
| JobSkill
| Guidebook
export type SearchableObjectArray = (Character | Weapon | Summon | JobSkill)[]
export type JobSkillObject = {
[key: number]: JobSkill | undefined
0: JobSkill | undefined
1: JobSkill | undefined
2: JobSkill | undefined
3: JobSkill | undefined
}
export type FilterObject = {
raid?: string
element?: number
recency?: number
}
export type PaginationObject = {
count: number
totalPages: number
perPage: number
}
export type DetailsObject = {
[key: string]: boolean | number | string | string[] | Raid | undefined
fullAuto?: boolean
autoGuard?: boolean
autoSummon?: boolean
chargeAttack?: boolean
clearTime?: number
buttonCount?: number
turnCount?: number
chainCount?: number
name?: string
description?: string
raid?: Raid
job?: Job
extra?: boolean
guidebooks?: string[]
visibility?: number
}
export type ExtendedMastery = {
modifier?: number
strength?: number
}
export type CharacterOverMastery = {
[key: number]: ExtendedMastery
1: ExtendedMastery
2: ExtendedMastery
3: ExtendedMastery
4: ExtendedMastery
}
interface GridCharacterObject {
character: {
ring1: ExtendedMastery
ring2: ExtendedMastery
ring3: ExtendedMastery
ring4: ExtendedMastery
earring: ExtendedMastery
awakening_id?: string
awakening_level?: number
transcendence_step: number
perpetuity: boolean
}
}
interface GridWeaponObject {
weapon: {
element?: number
weapon_key1_id?: string
weapon_key2_id?: string
weapon_key3_id?: string
ax_modifier1?: number
ax_modifier2?: number
ax_strength1?: number
ax_strength2?: number
awakening_id?: string
awakening_level?: Number
}
}
interface PerpetuityObject {
character: {
perpetuity: boolean
}
}
interface PageContextObj {
user?: User
teams?: Party[]
party?: Party
jobs?: Job[]
jobSkills?: JobSkill[]
raidGroups: RaidGroup[]
weaponKeys?: GroupedWeaponKeys
pagination?: PaginationObject
meta?: { [key: string]: string }
}
interface ResponseStatus {
code: number
text: string
}