Repository navigation
refactor(settings): move the weekly usage reset into the Dashboard module - #934
Merged
github-actions[bot] merged 1 commit intoOct 3, 2026
Conversation
…dule Move the Dashboard's weekly usage reset out of the shell's Settings.razor into Backlog.Modules.Dashboard.UI/Settings/DashboardSettings.razor, registered as a SettingsSection from AddDashboardUi, on the Inbox precedent. The markup, data-testids, copy and behaviour are unchanged; the section now sits on its own Dashboard tab after the Inbox, behind the dashboard switch, and the Storage note names only the working-week file. This is the second slice of step 2; Tasks, Devbook, Sync and the working week remain in the shell. Refs #743 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 2, 2026
JSdotNet
marked this pull request as ready for review
October 3, 2026 12:12
5 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Refs #743. This is the second slice of step 2: one more module's settings move out of the shell. #805 moved the Inbox, and this moves the Dashboard's weekly usage reset. #743 stays open for the remaining modules, so this uses
Refs, notCloses.What could not be proved — read this first
nullas the section's feature key instead./settingsin the desktop web harness (and ideally the MAUI desktop app) and check four things:usage-reset.json, and the dashboard's weekly columns follow it.IUsageResetSettingsinject and the members. A grep checks this; the rendered markup is tested.Backlog.Modules.Dashboard.UIgains no project reference.MauiProgram.cs, the harnessProgram.cs,DesktopCompositionRegistration.csand every Devbook file are unchanged. That keeps this PR clear of refactor(devbook): register the module once and share one path helper #933.Changes
src/Modules/Dashboard/Backlog.Modules.Dashboard.UI/Settings/DashboardSettings.razor. Its markup, data-testids, copy and@codeare moved unchanged from Settings.razor. Its own privateHH:mmhelpers are namedFormatTime/TryReadTime.Extensions/DashboardSettingsRegistration.cs.AddDashboardSettings()registersSettingsSection("dashboard", "Dashboard", 200, typeof(DashboardSettings), DashboardFeatures.Dashboard), andAddDashboardUi()calls it. Both hosts get the section through the shared composition, so no host file changed.Settings.razorloses the usage-reset inject, markup,SyncUsageResetDraft()and members, about 120 lines. Its Storage note now names onlyWorkingWeek.SettingsPath.Acceptance criteria
DashboardSettingsTests.The_storage_tab_no_longer_carries_the_usage_reset. The removed members are checked by grep only.DashboardSettings.razorrenders the reset with the same data-testids, copy and noteDashboardSettingsTestsSettingsSection, ordered after Inbox, behindDashboardFeatures.Dashboard, reached throughAddDashboardUiDashboardUiRegistrationTests.The_pane_registers_its_settings_page_after_the_inbox_behind_the_dashboard_switch,WebHarnessHostTests.The_desktop_harness_registers_the_dashboard_settings_section_through_the_shared_compositionDashboardSettingsTests.With_the_dashboard_on_…,With_the_dashboard_off_…DashboardSettingsTestsSettingsWorkingHoursTestsTesting
ConferenceDayTests.SearchBoxTests.Typing_reports_the_query_once_the_debounce_has_elapsedhit a debounce timeout. That test is in a project this change does not touch, and the project passed 2,723 of 2,723 when re-run alone.Review
Two lenses ran and found no blocker or major issue. Two minor findings are left open:
DashboardSettings.razor:9: the header comment copies the Inbox's "shadowing" reason for the root namespace. That reason does not hold here. Reword the comment, or use the…Dashboard.UI.Settingsfolder namespace.SettingsWorkingHoursTests.cs:182repeats the "no usage reset on Storage" assertion thatDashboardSettingsTestsalready makes.Assumptions
These were taken instead of asking:
AddDashboardUi()registers the section, rather than a separate call inDesktopCompositionRegistration.csas the Inbox does. This keeps the composition untouched while refactor(devbook): register the module once and share one path helper #933 rewrites it.DashboardFeatures.Dashboard, as the Inbox section is gated behind its own switch..devbook/domain/productivity/context.mdsays the reset is set "on the settings screen", which is still true.Checklist
Refs #743.An unattended run of
delivery-schedule:schedule-issue-sweep(2026-10-02) opened this pull request as a draft. Validate it by hand before marking it ready.🤖 Generated with Claude Code