From e892b74cf208f0156f77200600301bba2cf0f3e8 Mon Sep 17 00:00:00 2001 From: Andy Smith Date: Wed, 14 Jan 2026 13:07:09 -0600 Subject: [PATCH] Simplify settings layout and correct h2 levels --- app/assets/stylesheets/profile-layout.css | 16 -------- app/assets/stylesheets/settings.css | 23 +++++++++-- app/views/account/settings/_entropy.html.erb | 13 ++++--- app/views/account/settings/_export.html.erb | 34 +++++++++-------- app/views/account/settings/_name.html.erb | 16 ++++---- app/views/account/settings/_users.html.erb | 40 ++++++++++---------- app/views/account/settings/show.html.erb | 4 +- app/views/users/_access_tokens.html.erb | 10 +++-- app/views/users/_data_export.html.erb | 34 +++++++++-------- app/views/users/_theme.html.erb | 6 ++- app/views/users/_transfer.html.erb | 21 +++++----- app/views/users/show.html.erb | 10 ++--- 12 files changed, 119 insertions(+), 108 deletions(-) delete mode 100644 app/assets/stylesheets/profile-layout.css diff --git a/app/assets/stylesheets/profile-layout.css b/app/assets/stylesheets/profile-layout.css deleted file mode 100644 index bb18c2655..000000000 --- a/app/assets/stylesheets/profile-layout.css +++ /dev/null @@ -1,16 +0,0 @@ -@layer components { - .profile-layout { - display: flex; - gap: var(--inline-space); - - @media (min-width: 800px) { - align-items: stretch; - justify-content: center; - } - - @media (max-width: 799px) { - align-items: center; - flex-direction: column; - } - } -} diff --git a/app/assets/stylesheets/settings.css b/app/assets/stylesheets/settings.css index 0f1822a23..0e39c33ee 100644 --- a/app/assets/stylesheets/settings.css +++ b/app/assets/stylesheets/settings.css @@ -13,18 +13,21 @@ } } + /* Sections & Panels + /* -------------------------------------------------------------------------- */ + .settings__panel { --panel-size: 100%; --panel-padding: calc(var(--settings-spacer) / 1); display: flex; flex-direction: column; - gap: calc(var(--settings-spacer) / 2); + gap: var(--panel-padding); min-block-size: 100%; min-inline-size: 0; - @media (min-width: 960px) { - --panel-padding: calc(var(--settings-spacer) * 1.5) calc(var(--settings-spacer) * 2); + @media (min-width: 640px) { + --panel-padding: calc(var(--settings-spacer) * 2); } } @@ -38,6 +41,20 @@ } } + .settings__section { + h2 { + font-size: var(--text-large); + } + + > * + * { + margin-block-start: calc(var(--panel-padding) / 2); + } + + &:is(:first-child):has(h2) { + margin-top: -0.33lh; /* Align h2 letters caps with panel padding */ + } + } + /* Users /* ------------------------------------------------------------------------ */ diff --git a/app/views/account/settings/_entropy.html.erb b/app/views/account/settings/_entropy.html.erb index daac70a4a..4a24d4cd6 100644 --- a/app/views/account/settings/_entropy.html.erb +++ b/app/views/account/settings/_entropy.html.erb @@ -1,7 +1,8 @@ -
-

Auto close

-

Fizzy doesn’t let stale cards stick around forever. Cards automatically move to “Not Now” if there is no activity for a specific period of time. This is the default, global setting — you can override it on each board.

-
- -<%= render "entropy/auto_close", model: account.entropy, url: account_entropy_path, disabled: !Current.user.admin? %> +
+
+

Auto close

+
Fizzy doesn’t let stale cards stick around forever. Cards automatically move to “Not Now” if there is no activity for a specific period of time. This is the default, global setting — you can override it on each board.
+
+ <%= render "entropy/auto_close", model: account.entropy, url: account_entropy_path, disabled: !Current.user.admin? %> +
diff --git a/app/views/account/settings/_export.html.erb b/app/views/account/settings/_export.html.erb index 3d1946996..2b831837c 100644 --- a/app/views/account/settings/_export.html.erb +++ b/app/views/account/settings/_export.html.erb @@ -1,19 +1,21 @@ -
-

Export account data

-

Download a complete archive of all account data.

-
+
+
+

Export account data

+
Download a complete archive of all account data.
+
-
- +
+ - -

Export all account data

-

This will generate a ZIP archive of all data in this account including all boards, cards, users, and settings.

-

When the file is ready, we'll email you a link to download it. The link will expire after 24 hours.

+ +

Export all account data

+

This will generate a ZIP archive of all data in this account including all boards, cards, users, and settings.

+

When the file is ready, we'll email you a link to download it. The link will expire after 24 hours.

-
- <%= button_to "Start export", account_exports_path, method: :post, class: "btn btn--link", form: { data: { action: "submit->dialog#close" } } %> - -
-
-
\ No newline at end of file +
+ <%= button_to "Start export", account_exports_path, method: :post, class: "btn btn--link", form: { data: { action: "submit->dialog#close" } } %> + +
+ +
+
diff --git a/app/views/account/settings/_name.html.erb b/app/views/account/settings/_name.html.erb index e3b12f325..6ad866781 100644 --- a/app/views/account/settings/_name.html.erb +++ b/app/views/account/settings/_name.html.erb @@ -1,10 +1,12 @@ -<%= form_with model: account, url: account_settings_path, method: :put, scope: :account, data: { controller: "form" }, class: "flex gap-half" do |form| %> - <%= form.text_field :name, required: true, class: "input input--transparent full-width txt-medium", placeholder: "Account name…", data: { action: "input->form#disableSubmitWhenInvalid" }, readonly: !Current.user.admin? %> +
+ <%= form_with model: account, url: account_settings_path, method: :put, scope: :account, data: { controller: "form" }, class: "flex gap-half" do |form| %> + <%= form.text_field :name, required: true, class: "input input--transparent full-width txt-medium", placeholder: "Account name…", data: { action: "input->form#disableSubmitWhenInvalid" }, readonly: !Current.user.admin? %> - <% if Current.user.admin? %> - <%= form.button class: "btn btn--circle btn--link txt-medium", data: { form_target: "submit" }, disabled: form.object do %> - <%= icon_tag "arrow-right" %> - Save changes + <% if Current.user.admin? %> + <%= form.button class: "btn btn--circle btn--link txt-medium", data: { form_target: "submit" }, disabled: form.object do %> + <%= icon_tag "arrow-right" %> + Save changes + <% end %> <% end %> <% end %> -<% end %> +
diff --git a/app/views/account/settings/_users.html.erb b/app/views/account/settings/_users.html.erb index 63b5b1763..aeee05638 100644 --- a/app/views/account/settings/_users.html.erb +++ b/app/views/account/settings/_users.html.erb @@ -1,24 +1,26 @@ -
-

People on this account

-
+
+
+

People on this account

+
-<%= tag.div class: "flex flex-column gap settings__user-filter", data: { - controller: "filter navigable-list", - action: "keydown->navigable-list#navigate filter:changed->navigable-list#reset", - navigable_list_focus_on_selection_value: true, - navigable_list_actionable_items_value: true -} do %> + <%= tag.div class: "flex flex-column gap settings__user-filter", data: { + controller: "filter navigable-list", + action: "keydown->navigable-list#navigate filter:changed->navigable-list#reset", + navigable_list_focus_on_selection_value: true, + navigable_list_actionable_items_value: true + } do %> -
- +
+ -
    - <%= render partial: "account/settings/user", collection: users %> -
-
+
    + <%= render partial: "account/settings/user", collection: users %> +
+
- <%= link_to account_join_code_path, class: "btn btn--link center txt-small" do %> - <%= icon_tag "add" %> - Invite people + <%= link_to account_join_code_path, class: "btn btn--link center" do %> + <%= icon_tag "add" %> + Invite people + <% end %> <% end %> -<% end %> +
diff --git a/app/views/account/settings/show.html.erb b/app/views/account/settings/show.html.erb index b730afcd4..91bb85aff 100644 --- a/app/views/account/settings/show.html.erb +++ b/app/views/account/settings/show.html.erb @@ -9,7 +9,7 @@ <% end %> -
+
<%= render "account/settings/name", account: @account %> <%= render "account/settings/users", users: @users %> @@ -20,6 +20,6 @@ <%= render "account/settings/export" if Current.user.admin? || Current.user.owner? %> <%= render "account/settings/cancellation" %>
-
+ <%= render "account/settings/subscription_panel" if Fizzy.saas? %> diff --git a/app/views/users/_access_tokens.html.erb b/app/views/users/_access_tokens.html.erb index 285f87149..75bffa95c 100644 --- a/app/views/users/_access_tokens.html.erb +++ b/app/views/users/_access_tokens.html.erb @@ -1,4 +1,6 @@ -
-

Developer

-

Manage <%= link_to "personal access tokens", my_access_tokens_path, class: "btn btn--plain txt-link" %> used with the Fizzy developer API.

-
\ No newline at end of file +
+
+

Developer

+
Manage <%= link_to "personal access tokens", my_access_tokens_path, class: "btn btn--plain txt-link" %> used with the Fizzy developer API.
+
+
diff --git a/app/views/users/_data_export.html.erb b/app/views/users/_data_export.html.erb index a6cd3bde8..2359fbbef 100644 --- a/app/views/users/_data_export.html.erb +++ b/app/views/users/_data_export.html.erb @@ -1,19 +1,21 @@ -
-

Export your data

-

Download an archive of your Fizzy data.

-
+
+
+

Export your data

+
Download an archive of your Fizzy data.
+
-
- +
+ - -

Export your data

-

This will generate a ZIP archive of all cards you have access to.

-

When ready, we'll email you a download link (expires in 24 hours).

+ +

Export your data

+

This will generate a ZIP archive of all cards you have access to.

+

When ready, we'll email you a download link (expires in 24 hours).

-
- <%= button_to "Start export", user_data_exports_path(@user), method: :post, class: "btn btn--link", form: { data: { action: "submit->dialog#close" } } %> - -
-
-
+
+ <%= button_to "Start export", user_data_exports_path(@user), method: :post, class: "btn btn--link", form: { data: { action: "submit->dialog#close" } } %> + +
+ +
+
diff --git a/app/views/users/_theme.html.erb b/app/views/users/_theme.html.erb index 0f7db9547..47300abef 100644 --- a/app/views/users/_theme.html.erb +++ b/app/views/users/_theme.html.erb @@ -1,5 +1,7 @@ -
- Appearance +
+
+

Appearance

+