Files
sure/app/views/settings/_nav.html.erb
Jose Farias 4c5f8263bc Implement transaction category management (#688)
* Singularize "transaction" in transaction-nested paths

* Refactor category badge partial

* Let modal content define its width

* Add contectual menu to transactions index

* Add null_category helper

* Implement category edits

* Fix inline transaction category badges

* Fix typos in system test paths

* Add missing translations

* Add decoration to color select controller

* Wire up transaction category creation

* Fix indent in color-select-controller

* Add button for clearing category from transaction

* Implement category deletions

* Fix existing modal sizes

* Use null_category in a single place

* Remove anemic method in category deletion controller

* reassign_and_destroy -> reassign_transactions_then_destroy

* Fix i18n

* Remove destroy action from CategoriesController callbacks

* transactions_merchant -> transaction_merchant

* reassign_transactions_then_destroy -> replace_and_destroy

* Add transaction category CRUD tests

* Add presence check for transaction_id

* Check replacement_category_id presence

* Test Transaction::Category#replace_and_destroy!
2024-05-02 09:24:31 -04:00

74 lines
2.8 KiB
Plaintext

<div class="flex items-center gap-1 mb-6">
<%= link_to root_path, class: "flex items-center gap-1 text-gray-900 font-medium text-sm" do %>
<%= lucide_icon "chevron-left", class: "w-5 h-5 text-gray-500" %>
<span>Back</span>
<% end %>
<span data-controller="hotkey" data-hotkey="Escape" data-action="hotkey#navigateBack" class="uppercase bg-gray-100 rounded-sm px-1 py-0.5 text-xs text-gray-500 shadow-sm ml-1">
esc
</span>
</div>
<nav class="space-y-4">
<section class="space-y-2">
<div class="flex items-center gap-2">
<h3 class="uppercase text-gray-500 font-medium text-xs"><%= t(".general_section_title") %></h3>
<div class="h-px bg-alpha-black-100 w-full"></div>
</div>
<ul class="space-y-1">
<li>
<%= sidebar_link_to t(".profile_label"), settings_profile_path, icon: "circle-user" %>
</li>
<li>
<%= sidebar_link_to t(".preferences_label"), settings_preferences_path, icon: "bolt" %>
</li>
<li>
<%= sidebar_link_to t(".notifications_label"), settings_notifications_path, icon: "bell-dot" %>
</li>
<li>
<%= sidebar_link_to t(".security_label"), settings_security_path, icon: "shield-check" %>
</li>
<li>
<%= sidebar_link_to t(".billing_label"), settings_billing_path, icon: "circle-dollar-sign" %>
</li>
<% if self_hosted? %>
<li>
<%= sidebar_link_to t(".self_hosting_label"), settings_hosting_path, icon: "database" %>
</li>
<% end %>
<li>
<%= sidebar_link_to t(".accounts_label"), accounts_path, icon: "layers" %>
</li>
</li>
</ul>
</section>
<section class="space-y-2">
<div class="flex items-center gap-2">
<h3 class="uppercase text-gray-500 font-medium text-xs"><%= t(".transactions_section_title") %></h3>
<div class="h-px bg-alpha-black-100 w-full"></div>
</div>
<ul class="space-y-1">
<li>
<%= sidebar_link_to t(".categories_label"), transaction_categories_path, icon: "tags" %>
</li>
<li>
<%= sidebar_link_to t(".merchants_label"), transaction_merchants_path, icon: "store" %>
</li>
<li>
<%= sidebar_link_to t(".rules_label"), transaction_rules_path, icon: "list-checks" %>
</li>
</ul>
</section>
<section class="space-y-2">
<div class="flex items-center gap-2">
<h3 class="uppercase text-gray-500 font-medium text-xs"><%= t(".other_section_title") %></h3>
<div class="h-px bg-alpha-black-100 w-full"></div>
</div>
<ul class="space-y-1">
<li>
<%= sidebar_link_to t(".whats_new_label"), changelog_path, icon: "box" %>
<%= sidebar_link_to t(".feedback_label"), feedback_path, icon: "megaphone" %>
<%= sidebar_link_to t(".invite_label"), invites_path, icon: "gift" %>
</li>
</ul>
</section>
</nav>