diff --git a/apps/frontend/components/items/guild-banks/Tab.svelte b/apps/frontend/components/items/BankTab.svelte similarity index 68% rename from apps/frontend/components/items/guild-banks/Tab.svelte rename to apps/frontend/components/items/BankTab.svelte index dfeb68ef0..5fb2422a2 100644 --- a/apps/frontend/components/items/guild-banks/Tab.svelte +++ b/apps/frontend/components/items/BankTab.svelte @@ -1,27 +1,19 @@ + +
+ + + {#if slug1} +
+ {#if slug1 === 'all'} + {#each { length: 5 }, tabIndex} + + {/each} + {:else if slug1.startsWith('tab-')} + + {/if} +
+ {/if} +
diff --git a/apps/frontend/components/professions/recipes/AbilityRow.svelte b/apps/frontend/components/professions/recipes/AbilityRow.svelte index 25dedee1b..7ac388c41 100644 --- a/apps/frontend/components/professions/recipes/AbilityRow.svelte +++ b/apps/frontend/components/professions/recipes/AbilityRow.svelte @@ -89,7 +89,7 @@ {/if} {#if ability.extraRanks.length > 0} - + {/if} diff --git a/apps/frontend/components/tooltips/auction-already-have/TooltipAuctionAlreadyHave.svelte b/apps/frontend/components/tooltips/auction-already-have/TooltipAuctionAlreadyHave.svelte index a70e72057..1911c1163 100644 --- a/apps/frontend/components/tooltips/auction-already-have/TooltipAuctionAlreadyHave.svelte +++ b/apps/frontend/components/tooltips/auction-already-have/TooltipAuctionAlreadyHave.svelte @@ -91,8 +91,9 @@ {#each hasItems as [owner, items]} {#each items as item} - + diff --git a/apps/frontend/components/tooltips/vault-world/TooltipVaultWorld.svelte b/apps/frontend/components/tooltips/vault-world/TooltipVaultWorld.svelte index df01736a8..ff72ed235 100644 --- a/apps/frontend/components/tooltips/vault-world/TooltipVaultWorld.svelte +++ b/apps/frontend/components/tooltips/vault-world/TooltipVaultWorld.svelte @@ -81,6 +81,7 @@ 250: 'Normal Prey', // probably 251: 'Hard Prey', 252: 'Nightmare Prey', + 257: 'Ritual Site', 258: 'Purging the Vaults', 259: 'Labyrinth', 263: 'Labyrinth Boss', diff --git a/apps/frontend/data/constants.ts b/apps/frontend/data/constants.ts index bd6e74176..f472f92a1 100644 --- a/apps/frontend/data/constants.ts +++ b/apps/frontend/data/constants.ts @@ -5,10 +5,10 @@ export const MAX_TASKS = 100; export const MAX_VIEWS = 100; export abstract class Constants { + static readonly bankTabItems = 98; static readonly characterMaxLevel: number = 90; static readonly charactersPerAccount: number = 70; static readonly expansion: number = 11; - static readonly guildBankTabItems = 98; static readonly lockoutDifficultyMultiplier = 1_000_000; static readonly maxRenown: number = 80; static readonly restedDuration: number = 10 * 24 * 60 * 60; // 10 days diff --git a/apps/frontend/types/guild/item.ts b/apps/frontend/types/guild/item.ts index 1a574a335..6fd1f8e9b 100644 --- a/apps/frontend/types/guild/item.ts +++ b/apps/frontend/types/guild/item.ts @@ -1,6 +1,6 @@ import { ItemLocation } from '@/enums/item-location'; import type { ItemQuality } from '@/enums/item-quality'; -import type { UserItem } from '../shared'; +import type { UserItem } from '../shared/user-item'; export class GuildItem implements UserItem { public bonusIds: number[]; @@ -23,7 +23,7 @@ export class GuildItem implements UserItem { public quality: ItemQuality, public suffix: number, bonusIds?: number[], - gemIds?: number[], + gemIds?: number[] ) { this.enchantmentIds = enchantId ? [enchantId] : []; this.bonusIds = bonusIds || []; diff --git a/apps/frontend/user-home/components/reputations/AccountWide.svelte b/apps/frontend/user-home/components/reputations/AccountWide.svelte index 1c60a1357..bd8801049 100644 --- a/apps/frontend/user-home/components/reputations/AccountWide.svelte +++ b/apps/frontend/user-home/components/reputations/AccountWide.svelte @@ -1,14 +1,7 @@ + + + + diff --git a/apps/frontend/utils/items/group-bank-items.ts b/apps/frontend/utils/items/group-bank-items.ts new file mode 100644 index 000000000..a874ed741 --- /dev/null +++ b/apps/frontend/utils/items/group-bank-items.ts @@ -0,0 +1,22 @@ +import groupBy from 'lodash/groupBy'; +import keyBy from 'lodash/keyBy'; + +import { Constants } from '@/data/constants'; +import { getNumberKeyedEntries } from '@/utils/get-number-keyed-entries'; +import type { UserItem } from '@/types/shared'; + +export function groupBankItems(items: UserItem[]) { + const ret: Record = {}; + + const itemsByTab = groupBy(items || [], (item) => item.containerId); + for (const [tabId, tabItems] of getNumberKeyedEntries(itemsByTab)) { + ret[tabId] = []; + + const itemBySlot = keyBy(tabItems, (item) => item.slot); + for (let slot = 1; slot <= Constants.bankTabItems; slot++) { + ret[tabId].push(itemBySlot[slot]); + } + } + + return ret; +}