Files
aperonight/app/views/components/_breadcrumb.html.erb

31 lines
1.2 KiB
Plaintext

<%# Dynamic breadcrumb navigation component %>
<%# Usage: render 'components/breadcrumb', crumbs: [ %>
<%# { name: 'Home', path: root_path }, %>
<%# { name: 'Events', path: events_path }, %>
<%# { name: 'Current Event', path: nil } %>
<%# ] %>
<!-- Breadcrumb -->
<nav class="inline-flex items-center gap-2 bg-white px-4 py-3 rounded-xl shadow-sm border border-gray-100 mb-8" aria-label="Breadcrumb">
<% crumbs.each_with_index do |crumb, index| %>
<% if crumb[:path].present? %>
<%# Crumb with link %>
<%= link_to crumb[:path], class: "inline-flex items-center text-sm font-medium text-gray-700 hover:text-primary-600 transition-colors duration-200" do %>
<% if index == 0 %>
<i data-lucide="home" class="w-4 h-4 mr-2"></i>
<% end %>
<%= crumb[:name] %>
<% end %>
<% else %>
<%# Current page (no link) %>
<span class="text-sm font-medium text-primary-600 truncate max-w-xs" aria-current="page">
<%= crumb[:name] %>
</span>
<% end %>
<%# Separator (except for the last item) %>
<% if index < crumbs.length - 1 %>
<i data-lucide="chevron-right" class="w-4 h-4 text-gray-400"></i>
<% end %>
<% end %>
</nav>