mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-08-07 22:45:20 +02:00
Add breadcrumbs support across application (#1897)
* Add breadcrumbs support across application Fixes #1896 * Potential fix for tests * Simplify breadcrumbs implementation Remove complex breadcrumbs logic from controllers and concern, replacing with a simpler default approach that sets a basic breadcrumb based on the current controller name * Refactor page header and breadcrumbs rendering Remove complex breadcrumbs helper method and update layout to use more flexible content_for approach for page headers and breadcrumbs * Add fallback breadcrumbs rendering to settings layout
This commit is contained in:
parent
763e222cdd
commit
a4874815a6
11 changed files with 75 additions and 21 deletions
21
app/views/layouts/shared/_breadcrumbs.html.erb
Normal file
21
app/views/layouts/shared/_breadcrumbs.html.erb
Normal file
|
@ -0,0 +1,21 @@
|
|||
<%# locals: (breadcrumbs:) %>
|
||||
|
||||
<nav class="flex items-center gap-2 mb-6">
|
||||
<button data-action="sidebar#toggle" class="w-9 h-9 inline-flex rounded-lg items-center justify-center hover:bg-gray-100 cursor-pointer">
|
||||
<%= icon("panel-left", color: "gray") %>
|
||||
</button>
|
||||
|
||||
<% breadcrumbs.each_with_index do |(name, path), index| %>
|
||||
<% if index > 0 %>
|
||||
<%= icon("chevron-right", color: "gray", size: "sm") %>
|
||||
<% end %>
|
||||
|
||||
<% if path.present? && index < breadcrumbs.size - 1 %>
|
||||
<%= link_to name, path, class: "text-sm text-gray-500 font-medium" %>
|
||||
<% elsif index == breadcrumbs.size - 1 %>
|
||||
<span class="text-gray-900 font-medium text-sm"><%= name %></span>
|
||||
<% else %>
|
||||
<span class="text-sm text-gray-500 font-medium"><%= name %></span>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</nav>
|
11
app/views/layouts/shared/_page_header.html.erb
Normal file
11
app/views/layouts/shared/_page_header.html.erb
Normal file
|
@ -0,0 +1,11 @@
|
|||
<%# This partial renders the page header with title and optional subtitle %>
|
||||
<header class="space-y-6">
|
||||
<% if local_assigns[:title].present? %>
|
||||
<div class="space-y-1">
|
||||
<h1 class="text-3xl font-medium text-gray-900"><%= title %></h1>
|
||||
<% if local_assigns[:subtitle].present? %>
|
||||
<p class="text-gray-500"><%= subtitle %></p>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
</header>
|
Loading…
Add table
Add a link
Reference in a new issue