diff --git a/app/views/settings/_settings_nav.html.erb b/app/views/settings/_settings_nav.html.erb
index 621c0882..6a80bb87 100644
--- a/app/views/settings/_settings_nav.html.erb
+++ b/app/views/settings/_settings_nav.html.erb
@@ -1,3 +1,36 @@
+<%
+nav_sections = [
+ {
+ header: t('.general_section_title'),
+ items: [
+ { label: t('.profile_label'), path: settings_profile_path, icon: 'circle-user' },
+ { label: t('.preferences_label'), path: settings_preferences_path, icon: 'bolt' },
+ { label: t('.security_label'), path: settings_security_path, icon: 'shield-check' },
+ { label: t('.self_hosting_label'), path: settings_hosting_path, icon: 'database', if: self_hosted? },
+ { label: t('.billing_label'), path: settings_billing_path, icon: 'circle-dollar-sign', if: !self_hosted? },
+ { label: t('.accounts_label'), path: accounts_path, icon: 'layers' },
+ { label: t('.imports_label'), path: imports_path, icon: 'download' }
+ ]
+ },
+ {
+ header: t('.transactions_section_title'),
+ items: [
+ { label: t('.tags_label'), path: tags_path, icon: 'tags' },
+ { label: t('.categories_label'), path: categories_path, icon: 'shapes' },
+ { label: t('.rules_label'), path: rules_path, icon: 'git-branch' },
+ { label: t('.merchants_label'), path: family_merchants_path, icon: 'store' }
+ ]
+ },
+ {
+ header: t('.other_section_title'),
+ items: [
+ { label: t('.whats_new_label'), path: changelog_path, icon: 'box' },
+ { label: t('.feedback_label'), path: feedback_path, icon: 'megaphone' }
+ ]
+ }
+]
+%>
+
<%= render LinkComponent.new(
@@ -6,86 +39,27 @@
href: previous_path,
variant: "ghost",
) %>
-
<%= link_to previous_path, class: "hidden md:block uppercase bg-surface-inset-hover rounded-sm px-1 py-0.5 text-xs text-secondary shadow-sm ml-1 pointer-events-none", data: { controller: "hotkey", hotkey: "Escape" } do %>
esc
<% end %>
-
-
diff --git a/config/locales/views/settings/en.yml b/config/locales/views/settings/en.yml
index f5d01c0e..14f89d4e 100644
--- a/config/locales/views/settings/en.yml
+++ b/config/locales/views/settings/en.yml
@@ -80,6 +80,7 @@ en:
other_section_title: More
preferences_label: Preferences
profile_label: Account
+ rules_label: Rules
security_label: Security
self_hosting_label: Self hosting
tags_label: Tags