From b2dbdf847c9a8526ffc17f0a10cee5cf3fbd78c8 Mon Sep 17 00:00:00 2001 From: Freddie Date: Mon, 15 Jun 2026 08:41:48 -0700 Subject: [PATCH 1/4] Add more profession enchants --- apps/frontend/components/items/ItemsItem.svelte | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/frontend/components/items/ItemsItem.svelte b/apps/frontend/components/items/ItemsItem.svelte index 27b8f3144..225803215 100644 --- a/apps/frontend/components/items/ItemsItem.svelte +++ b/apps/frontend/components/items/ItemsItem.svelte @@ -104,8 +104,11 @@ }; const statEnchants: Record = { + 7975: uiIcons.circleP, // Perception 7977: uiIcons.circleR, // Resourcefulness + 8003: uiIcons.circleF, // Finesse 8005: uiIcons.circleM, // Multicrafting + 8033: uiIcons.circleD, // Deftness 8035: uiIcons.circleI, // Ingenuity }; From 236d3bd7fd0f13839434a0d9b27a7b8a8d40484f Mon Sep 17 00:00:00 2001 From: Freddie Date: Mon, 15 Jun 2026 19:47:30 -0700 Subject: [PATCH 2/4] Delve display tweaks --- .../home/view-switcher/Delves.svelte | 28 +++++++++++++------ .../home/view-switcher/DelvesTooltip.svelte | 21 ++++++-------- apps/frontend/data/delve.ts | 1 + 3 files changed, 29 insertions(+), 21 deletions(-) diff --git a/apps/frontend/components/home/view-switcher/Delves.svelte b/apps/frontend/components/home/view-switcher/Delves.svelte index b23d64a70..05d5d9dbf 100644 --- a/apps/frontend/components/home/view-switcher/Delves.svelte +++ b/apps/frontend/components/home/view-switcher/Delves.svelte @@ -1,5 +1,7 @@ @@ -23,14 +23,11 @@

Bountiful Delves

- {#each delves as { poiId, story } (poiId)} - {@const delve = delveMap[poiId]} - {#if delve} - - - - - {/if} + {#each delves as [delve, story, ranking] (story)} + + + + {/each}
{delve.name}{story}
{delve.name}{story}
diff --git a/apps/frontend/data/delve.ts b/apps/frontend/data/delve.ts index 227875bd0..3006f99bb 100644 --- a/apps/frontend/data/delve.ts +++ b/apps/frontend/data/delve.ts @@ -4,6 +4,7 @@ export type Delve = { storyRanks: Record; }; +// Defaults, only used for initial settings creation export const delveMap: Record = { 8426: { name: 'Collegiate Calamity', From b76af0f4057dd5e19f81aa100e913979669acb65 Mon Sep 17 00:00:00 2001 From: Freddie Date: Mon, 15 Jun 2026 19:47:42 -0700 Subject: [PATCH 3/4] Fix CheckboxInput unconditional onchange --- apps/frontend/shared/components/forms/CheckboxInput.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/frontend/shared/components/forms/CheckboxInput.svelte b/apps/frontend/shared/components/forms/CheckboxInput.svelte index b3a07c8e3..c99be04e5 100644 --- a/apps/frontend/shared/components/forms/CheckboxInput.svelte +++ b/apps/frontend/shared/components/forms/CheckboxInput.svelte @@ -38,7 +38,7 @@ {name} type="checkbox" bind:checked={value} - onchange={(event) => onChange((event.target as HTMLInputElement).checked)} + onchange={(event) => onChange?.((event.target as HTMLInputElement).checked)} {disabled} /> Date: Mon, 15 Jun 2026 19:47:51 -0700 Subject: [PATCH 4/4] Add delve ranking settings --- apps/frontend/shared/state/settings.svelte.ts | 10 +++ .../shared/stores/settings/types/settings.ts | 1 + .../components/settings/Routes.svelte | 2 + .../components/settings/Sidebar.svelte | 4 ++ .../settings/sections/SettingsDelves.svelte | 62 +++++++++++++++++++ .../Models/ApplicationUserSettings.cs | 2 + 6 files changed, 81 insertions(+) create mode 100644 apps/frontend/user-home/components/settings/sections/SettingsDelves.svelte diff --git a/apps/frontend/shared/state/settings.svelte.ts b/apps/frontend/shared/state/settings.svelte.ts index 39c2e0f2e..df2ef2238 100644 --- a/apps/frontend/shared/state/settings.svelte.ts +++ b/apps/frontend/shared/state/settings.svelte.ts @@ -16,6 +16,7 @@ import type { Task } from '@/types/tasks'; import { browserState } from './browser.svelte'; import type { Settings } from '../stores/settings/types'; +import { delveMap } from '@/data/delve'; const languageToSubdomain: Record = { [Language.deDE]: 'de', @@ -126,6 +127,15 @@ function createSettingsState() { } } + for (const [poiId, delve] of getNumberKeyedEntries(delveMap)) { + for (const [story, defaultRanking] of Object.entries(delve.storyRanks)) { + const storyKey = `${poiId}:${story}`; + if (newSettings.delveRankings[storyKey] === undefined) { + newSettings.delveRankings[storyKey] = defaultRanking; + } + } + } + if (Object.keys(newSettings.professions.collectingCharactersV2 || {}).length === 0) { for (const [professionId, characterId] of getNumberKeyedEntries( newSettings.professions.collectingCharacters || {} diff --git a/apps/frontend/shared/stores/settings/types/settings.ts b/apps/frontend/shared/stores/settings/types/settings.ts index b9ecac162..a6bfd70b9 100644 --- a/apps/frontend/shared/stores/settings/types/settings.ts +++ b/apps/frontend/shared/stores/settings/types/settings.ts @@ -12,6 +12,7 @@ export interface Settings { activeView: string; customGroups: SettingsCustomGroup[]; customTasks: SettingsTask[]; + delveRankings: Record; guildNames: Record; tags: SettingsTag[]; views: SettingsView[]; diff --git a/apps/frontend/user-home/components/settings/Routes.svelte b/apps/frontend/user-home/components/settings/Routes.svelte index aa4b42043..3affaa9e1 100644 --- a/apps/frontend/user-home/components/settings/Routes.svelte +++ b/apps/frontend/user-home/components/settings/Routes.svelte @@ -8,6 +8,7 @@ import AuctionsCustom from './sections/SettingsAuctionsCustom.svelte'; import Account from './sections/SettingsAccount.svelte'; import Collections from './sections/SettingsCollections.svelte'; + import Delves from './sections/SettingsDelves.svelte'; import History from './sections/SettingsHistory.svelte'; import HomeTable from '@/components/home/HomeTable.svelte'; import Layout from './sections/SettingsLayout.svelte'; @@ -33,6 +34,7 @@ '/auctions/custom': AuctionsCustom, '/auctions': Auctions, '/collections': Collections, + '/delves': Delves, '/history': History, '/leaderboard': Leaderboard, '/privacy': Privacy, diff --git a/apps/frontend/user-home/components/settings/Sidebar.svelte b/apps/frontend/user-home/components/settings/Sidebar.svelte index c629b7447..340e06839 100644 --- a/apps/frontend/user-home/components/settings/Sidebar.svelte +++ b/apps/frontend/user-home/components/settings/Sidebar.svelte @@ -72,6 +72,10 @@ name: 'Collections', slug: 'collections', }, + { + name: 'Delves', + slug: 'delves', + }, { name: 'History', slug: 'history', diff --git a/apps/frontend/user-home/components/settings/sections/SettingsDelves.svelte b/apps/frontend/user-home/components/settings/sections/SettingsDelves.svelte new file mode 100644 index 000000000..787fa2f44 --- /dev/null +++ b/apps/frontend/user-home/components/settings/sections/SettingsDelves.svelte @@ -0,0 +1,62 @@ + + + + +
+

Delves

+ +
+ {#each delves as [poiId, delve] (poiId)} + {@const stories = sortBy(Object.keys(delve.storyRanks))} +
+

{delve.name}

+ {#each stories as story (story)} + {@const storyKey = `${poiId}:${story}`} +
+
+ {story} +
+
+ +
+
+ {/each} +
+ {/each} +
+
diff --git a/packages/csharp-lib/Models/ApplicationUserSettings.cs b/packages/csharp-lib/Models/ApplicationUserSettings.cs index d94ac07dd..e78279f27 100644 --- a/packages/csharp-lib/Models/ApplicationUserSettings.cs +++ b/packages/csharp-lib/Models/ApplicationUserSettings.cs @@ -27,6 +27,7 @@ public class ApplicationUserSettings public Dictionary Accounts { get; set; } = new(); public List? CustomGroups { get; set; } = new(); public List? CustomTasks { get; set; } = new(); + public Dictionary DelveRankings { get; set; } = new(); public Dictionary GuildNames { get; set; } = new(); public List? Tags { get; set; } = new(); public List? Views { get; set; } = new(); @@ -141,6 +142,7 @@ public void Migrate() CustomGroups ??= new List(); CustomTasks ??= new(); + DelveRankings ??= new Dictionary(); Views ??= new List(); if (Views.Count == 0)