diff --git a/.gitignore b/.gitignore index 406362a6a..ed86e56d9 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ devenv.local.nix # AI Tools /.claude/ PLAN.md +/.crush/ diff --git a/frontend/src/i18n/lang/en.json b/frontend/src/i18n/lang/en.json index 9f4e493b6..9ff722b5a 100644 --- a/frontend/src/i18n/lang/en.json +++ b/frontend/src/i18n/lang/en.json @@ -115,6 +115,13 @@ }, "externalUserNameChange": "Your name is managed by your login provider ({provider}). To change it, please update it there instead." }, + "sections": { + "personalInformation": "Personal Information", + "taskAndNotifications": "Projects & Tasks", + "privacy": "Privacy", + "localization": "Localization", + "appearance": "Appearance & Behavior" + }, "totp": { "title": "Two Factor Authentication", "enroll": "Enroll", diff --git a/frontend/src/views/user/settings/General.vue b/frontend/src/views/user/settings/General.vue index ca6419d28..dfba069b5 100644 --- a/frontend/src/views/user/settings/General.vue +++ b/frontend/src/views/user/settings/General.vue @@ -1,275 +1,326 @@ @@ -456,4 +507,31 @@ async function updateSettings() { min-width: 200px; flex-grow: 1; } + +.section-block + .section-block { + margin-top: 1.5rem; +} + +.field-group { + display: grid; + grid-template-columns: 1fr; + gap: 0.5rem; +} + +.field > label { + display: flex; + align-items: center; + gap: 0.5rem; +} + +.two-col { + flex: 0 0 50%; + margin-left: .5rem; +} + +.sticky-save { + position: sticky; + bottom: 0; + padding: .25rem 1rem 1rem; +}