diff options
Diffstat (limited to 'src/cleaners/skyblock/zones.ts')
-rw-r--r-- | src/cleaners/skyblock/zones.ts | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/cleaners/skyblock/zones.ts b/src/cleaners/skyblock/zones.ts index 87d008d..b07c542 100644 --- a/src/cleaners/skyblock/zones.ts +++ b/src/cleaners/skyblock/zones.ts @@ -1,18 +1,34 @@ +import * as constants from '../../constants.js' + export interface Zone { name: string visited: boolean } -export function cleanVisitedZones(data: any): Zone[] { +export async function cleanVisitedZones(data: any): Promise<Zone[]> { const rawZones = data?.visited_zones || [] // TODO: store all the zones that exist in SkyBlock, add add those to the array with visited being false const zones: Zone[] = [] - for (const rawZoneName of rawZones) { + + const knownZones = await constants.fetchZones() + + for (const rawZoneName of knownZones) { zones.push({ name: rawZoneName, - visited: true + visited: rawZones.includes(rawZoneName) }) } + + // if this user somehow has a zone that we don't know about, just add it to zones + for (const rawZoneName of rawZones) { + if (!knownZones.includes(rawZoneName)) { + zones.push({ + name: rawZoneName, + visited: true + }) + } + } + return zones } |