Skip to content

Conversation

@Simrayz
Copy link
Contributor

@Simrayz Simrayz commented Nov 27, 2025

Scope and purpose

Part 1 of redesigning preference page (#1557)

This PR refactors the user preferences into two form groups, ie. "Theme and Format" and "Incident Table" fields.

  • Changes are no longer saved on input change, but when the form as a whole is submitted. This is in preparation of adding "preview effects", i.e. show the effects of selecting one option over another.
  • Each option group shows the currently checked option on initial load, not just after selecting.
  • Each form group has a save and clear button, which are disabled when no changes have been made. This is intended to make it clear that client-side changes are not saved yet.
  • The layout of the preferences page has been modified slightly. Namely, the title has been centered, and there is a max width and centering on forms.

Screenshots

Before

image

After

Default preference forms without changes

image

Form buttons are enabled when changes are made to the form (it is "dirty")

image

Contributor Checklist

Every pull request should have this checklist filled out, no matter how small it is.
More information about contributing to Argus can be found in the
Development docs.

  • Added a changelog fragment for towncrier
  • Added/amended tests for new/changed code
  • Added/changed documentation, including updates to the user manual if feature flow or UI is considerably changed
  • Linted/formatted the code with ruff and djLint, easiest by using pre-commit
  • The first line of the commit message continues the sentence "If applied, this commit will ...", starts with a capital letter, does not end with punctuation and is 50 characters or less long. See our how-to
  • If applicable: Created new issues if this PR does not fix the issue completely/there is further work to be done
  • If this results in changes in the UI: Added screenshots of the before and after
  • If this results in changes to the database model: Updated the ER diagram

@Simrayz Simrayz self-assigned this Nov 27, 2025
@Simrayz Simrayz added frontend Affects frontend design labels Nov 27, 2025
@github-actions
Copy link

github-actions bot commented Nov 27, 2025

Test results

    4 files    520 suites   19m 35s ⏱️
  622 tests   621 ✅ 1 💤 0 ❌
2 488 runs  2 484 ✅ 4 💤 0 ❌

Results for commit ef22832.

♻️ This comment has been updated with latest results.

@codecov
Copy link

codecov bot commented Nov 27, 2025

Codecov Report

❌ Patch coverage is 33.33333% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 79.65%. Comparing base (0f22631) to head (ef22832).

Files with missing lines Patch % Lines
src/argus/htmx/user/views.py 33.33% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1643      +/-   ##
==========================================
- Coverage   79.68%   79.65%   -0.03%     
==========================================
  Files         132      132              
  Lines        6113     6116       +3     
==========================================
+ Hits         4871     4872       +1     
- Misses       1242     1244       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Simrayz Simrayz force-pushed the feat/1557-redesign-preferences-page branch from de5ac5d to 23d7f89 Compare November 27, 2025 15:48
@Simrayz Simrayz force-pushed the feat/1557-redesign-preferences-page branch from 23d7f89 to ef22832 Compare November 28, 2025 08:50
@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

design frontend Affects frontend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants