From 6635d548fbb7b45d0fd5fd302c1d836b6cca9502 Mon Sep 17 00:00:00 2001 From: Freddie Date: Sun, 29 Mar 2026 10:56:29 -0700 Subject: [PATCH 1/6] Fix svelte-multiselect styling --- apps/frontend/scss/variables.scss | 8 +++++--- .../SettingsProfessionsCollecting.svelte | 20 +++++++++++++++++-- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/apps/frontend/scss/variables.scss b/apps/frontend/scss/variables.scss index 1093e1376..870ccee42 100644 --- a/apps/frontend/scss/variables.scss +++ b/apps/frontend/scss/variables.scss @@ -110,10 +110,12 @@ --color-class-12: #a330c9; // Demon Hunter --color-class-13: #33937f; // Evoker - // svelte-multiselect + // svelte-multiselect - vars got real weird after updating --sms-li-active-bg: #003048; - --sms-options-bg: #0a0b0c; - --sms-options-border: 1px solid #8b8d8f; + --sms-bg: #0a0b0c; + --sms-options-bg: var(--sms-bg); + --sms-border: 1px solid #8b8d8f; + --sms-options-border: var(--sms-border); --sms-placeholder-color: #bbb; --sms-selected-li-padding: 0 0.2rem; diff --git a/apps/frontend/user-home/components/settings/sections/SettingsProfessionsCollecting.svelte b/apps/frontend/user-home/components/settings/sections/SettingsProfessionsCollecting.svelte index fba4995dc..484173631 100644 --- a/apps/frontend/user-home/components/settings/sections/SettingsProfessionsCollecting.svelte +++ b/apps/frontend/user-home/components/settings/sections/SettingsProfessionsCollecting.svelte @@ -44,6 +44,10 @@ -
+

Collecting

Which specific characters to use when checking if a recipe has been collected. Any secondary From 5dafeb154cc9804307989e1375bfff9e62fdcc76 Mon Sep 17 00:00:00 2001 From: Freddie Date: Sun, 29 Mar 2026 12:49:36 -0700 Subject: [PATCH 2/6] Fix profession skill ranks icons --- .../CharacterProfessionsProfessionSkillRanks.svelte | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/apps/frontend/components/characters/professions/CharacterProfessionsProfessionSkillRanks.svelte b/apps/frontend/components/characters/professions/CharacterProfessionsProfessionSkillRanks.svelte index 27fdf6003..c1ec006a6 100644 --- a/apps/frontend/components/characters/professions/CharacterProfessionsProfessionSkillRanks.svelte +++ b/apps/frontend/components/characters/professions/CharacterProfessionsProfessionSkillRanks.svelte @@ -16,14 +16,12 @@ From 4aab74d9937b4be5ac941b05a5427b026be5f28f Mon Sep 17 00:00:00 2001 From: Freddie Date: Sun, 29 Mar 2026 17:46:09 -0700 Subject: [PATCH 3/6] Fix some wonky reputation header data for renown reps --- .../TooltipReputationHeaderEntry.svelte | 105 ++++++++++-------- 1 file changed, 57 insertions(+), 48 deletions(-) diff --git a/apps/frontend/components/tooltips/reputation-header/TooltipReputationHeaderEntry.svelte b/apps/frontend/components/tooltips/reputation-header/TooltipReputationHeaderEntry.svelte index 10876af9c..8b4403c90 100644 --- a/apps/frontend/components/tooltips/reputation-header/TooltipReputationHeaderEntry.svelte +++ b/apps/frontend/components/tooltips/reputation-header/TooltipReputationHeaderEntry.svelte @@ -4,6 +4,7 @@ import { RewardType } from '@/enums/reward-type'; import { rewardTypeIcons } from '@/shared/icons/mappings'; import { wowthingData } from '@/shared/stores/data'; + import { userState } from '@/user-home/state/user'; import type { Character } from '@/types'; import type { ManualDataReputationReputation, @@ -12,60 +13,68 @@ import IconifyWrapper from '@/shared/components/images/IconifyWrapper.svelte'; import WowthingImage from '@/shared/components/images/sources/WowthingImage.svelte'; - import { userState } from '@/user-home/state/user'; - - export let faction: Faction = Faction.Neutral; - export let reputation: ManualDataReputationReputation; - export let set: ManualDataReputationSet; - let rewards: { - id: number; - name: string; - type: RewardType; - have: boolean; - }[]; - let totalParagon = 0; - $: { - rewards = []; - if (set.paragon) { - totalParagon = userState.general.activeCharacters.reduce( - (a: number, b: Character) => a + (b.paragons?.[reputation.id]?.received ?? 0), - 0 - ); + type Props = { + reputation: ManualDataReputationReputation; + set: ManualDataReputationSet; + faction?: Faction; + }; + let { reputation, set, faction = Faction.Neutral }: Props = $props(); - if (reputation.rewards) { - for (const reward of reputation.rewards) { - let have = false; - let name: string; - if (reward.type === RewardType.Mount) { - have = userState.general.hasMountById.has(reward.id); - const mount = wowthingData.static.mountById.get(reward.id); - name = mount ? mount.name : `Mount #${reward.id}`; - } else if (reward.type === RewardType.Pet) { - have = userState.general.hasPetById.has(reward.id); - const pet = wowthingData.static.petById.get(reward.id); - name = pet ? pet.name : `Pet #${reward.id}`; - } else if (reward.type === RewardType.Toy) { - have = userState.general.hasToyById.has(reward.id); - const toy = wowthingData.static.toyById.get(reward.id); - name = toy ? toy.name : `Toy #${reward.id}`; - } else if (reward.type === RewardType.Transmog) { - const item = wowthingData.items.items[reward.id]; - have = userState.general.hasAppearanceById.has( - item?.appearances[0]?.appearanceId || 0 - ); - name = item?.name || `Item #${reward.id}`; - } + let totalParagon = $derived( + !set.paragon + ? 0 + : userState.general.activeCharacters.reduce( + (a: number, b: Character) => a + (b.paragons?.[reputation.id]?.received ?? 0), + 0 + ) + ); + let rewards = $derived.by(() => { + const ret: { + id: number; + name: string; + type: RewardType; + have: boolean; + }[] = []; - rewards.push({ - ...reward, - have, - name, - }); + if (set.paragon && reputation.rewards) { + for (const reward of reputation.rewards) { + let have = false; + let name: string; + if (reward.type === RewardType.Mount) { + have = userState.general.hasMountById.has(reward.id); + const mount = wowthingData.static.mountById.get(reward.id); + name = mount ? mount.name : `Mount #${reward.id}`; + } else if (reward.type === RewardType.Pet) { + have = userState.general.hasPetById.has(reward.id); + const pet = wowthingData.static.petById.get(reward.id); + name = pet ? pet.name : `Pet #${reward.id}`; + } else if (reward.type === RewardType.Toy) { + have = + userState.general.hasToyById.has(reward.id) || + userState.general.hasToyByItemId.has(reward.id); + const toy = + wowthingData.static.toyById.get(reward.id) || + wowthingData.static.toyByItemId.get(reward.id); + name = toy ? toy.name : `Toy #${reward.id}`; + } else if (reward.type === RewardType.Transmog) { + const item = wowthingData.items.items[reward.id]; + have = userState.general.hasAppearanceById.has( + item?.appearances[0]?.appearanceId || 0 + ); + name = item?.name || `Item #${reward.id}`; } + + ret.push({ + ...reward, + have, + name, + }); } } - } + + return ret; + });