From c2caf9d5c84cf473f93c89974253d8fa3ab3efd5 Mon Sep 17 00:00:00 2001 From: Freddie Date: Tue, 17 Mar 2026 21:38:44 -0700 Subject: [PATCH 1/9] Add World Boss (First) task --- apps/frontend/data/tasks/11-midnight/12-0-0.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/frontend/data/tasks/11-midnight/12-0-0.ts b/apps/frontend/data/tasks/11-midnight/12-0-0.ts index ef1feba52..210c19fdc 100644 --- a/apps/frontend/data/tasks/11-midnight/12-0-0.ts +++ b/apps/frontend/data/tasks/11-midnight/12-0-0.ts @@ -231,13 +231,22 @@ export const midChores12_0_0: Task = { 93758, // Nexus-Point Xenas ], }, + { + key: 'midWorldBossFirst', + name: 'World Boss (First)', + icon: iconLibrary.emojiZzz, + minimumLevel: 90, + accountWide: true, + questReset: DbResetType.Weekly, + questIds: [ + 92127, // Tracking quest? + ], + }, { key: 'midWorldBoss', name: 'World Boss', icon: iconLibrary.emojiZzz, minimumLevel: 90, - accountWide: true, - showQuestName: true, questReset: DbResetType.Weekly, questIds: [ // TODO from AreaPOI.db2, verify From ad3d0b0ee7d6f91fa85ae42be0506c4e47a40eaa Mon Sep 17 00:00:00 2001 From: Freddie Date: Wed, 18 Mar 2026 16:22:58 -0700 Subject: [PATCH 2/9] Show profession equipment from previous expansions with fail border --- .../components/items/ItemsItem.svelte | 30 ++++++++++++++----- .../professions/equipment/TableRow.svelte | 9 ++++-- 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/apps/frontend/components/items/ItemsItem.svelte b/apps/frontend/components/items/ItemsItem.svelte index 9e3b41c9f..0d327f18b 100644 --- a/apps/frontend/components/items/ItemsItem.svelte +++ b/apps/frontend/components/items/ItemsItem.svelte @@ -10,6 +10,8 @@ import { wowthingData } from '@/shared/stores/data'; import { getItemUrl } from '@/utils/get-item-url'; import type { Character, CharacterGear } from '@/types'; + import type { ItemDataItem } from '@/types/data/item'; + import type { CharacterProps } from '@/types/props'; import CraftedQualityIcon from '@/shared/components/images/CraftedQualityIcon.svelte'; import IconifyWrapper from '@/shared/components/images/IconifyWrapper.svelte'; @@ -17,12 +19,25 @@ import type { ConvertibleCategoryUpgrade } from './convertible/types'; import WowheadLink from '@/shared/components/links/WowheadLink.svelte'; - export let character: Character = undefined; - export let forceCrafted = false; - export let gear: Partial; - export let tierPieces: number[] = undefined; - export let useHighlighting = false; - export let useItemCount = false; + type Props = Partial & { + gear: Partial; + character?: Character; + forceCrafted?: boolean; + tierPieces?: number[]; + useHighlighting?: boolean; + useItemCount?: boolean; + failStateFunc?: (item: ItemDataItem) => boolean; + }; + + let { + gear, + character, + forceCrafted, + tierPieces, + useHighlighting, + useItemCount, + failStateFunc, + }: Props = $props(); function getIconName(): [string, number] { let tiers: ConvertibleCategoryUpgrade[][]; @@ -184,8 +199,9 @@ {:else} {@const item = wowthingData.items.items[gear.equipped.itemId]} + {@const failState = failStateFunc?.(item)} diff --git a/apps/frontend/components/professions/equipment/TableRow.svelte b/apps/frontend/components/professions/equipment/TableRow.svelte index a5d07e946..7947d0728 100644 --- a/apps/frontend/components/professions/equipment/TableRow.svelte +++ b/apps/frontend/components/professions/equipment/TableRow.svelte @@ -1,6 +1,7 @@ diff --git a/apps/frontend/components/professions/equipment/TableRow.svelte b/apps/frontend/components/professions/equipment/TableRow.svelte index 7947d0728..6353d4db2 100644 --- a/apps/frontend/components/professions/equipment/TableRow.svelte +++ b/apps/frontend/components/professions/equipment/TableRow.svelte @@ -18,6 +18,7 @@ import IconifyWrapper from '@/shared/components/images/IconifyWrapper.svelte'; import Item from '../../items/ItemsItem.svelte'; import WowthingImage from '@/shared/components/images/sources/WowthingImage.svelte'; + import { settingsState } from '@/shared/state/settings.svelte'; let { character, professionId, slug }: CharacterProps & { professionId: number; slug: string } = $props(); @@ -33,6 +34,14 @@ continue; } + if ( + slug === 'collectors' && + !settingsState.value.professions.collectingCharactersV2[profession.id]?.includes( + character.id + ) + ) { + continue; + } if (slug === 'some' && !someProfessions.includes(profession.id)) { continue; } From 56c9b116ab71ba50b9a43b0a7f5aa0993923b306 Mon Sep 17 00:00:00 2001 From: Freddie Date: Wed, 18 Mar 2026 16:39:09 -0700 Subject: [PATCH 8/9] Fix inconsistent sizing on item cells --- apps/frontend/components/items/ItemsItem.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/frontend/components/items/ItemsItem.svelte b/apps/frontend/components/items/ItemsItem.svelte index 0d327f18b..edf0f8cc9 100644 --- a/apps/frontend/components/items/ItemsItem.svelte +++ b/apps/frontend/components/items/ItemsItem.svelte @@ -100,11 +100,11 @@ - - {#each professions as [profession, userHas, slots] (profession)}