Files
chatwoot/app/views/super_admin/application/_navigation.html.erb
2025-12-19 12:14:23 -08:00

56 lines
2.4 KiB
ERB

<%#
# Navigation
This partial is used to display the navigation in Administrate.
By default, the navigation contains navigation links
for all resources in the admin dashboard,
as defined by the routes in the `admin/` namespace
%>
<%= vite_client_tag %>
<%= vite_javascript_tag 'superadmin_pages' %>
<%
sidebar_icons = {
accounts: 'icon-building-2',
users: 'icon-users',
platform_apps: 'icon-toy-brick',
agent_bots: 'icon-bot',
}
%>
<div class="border-n-weak border-r w-[200px] flex-shrink-0 justify-between h-full flex flex-col bg-n-background" role="navigation">
<div>
<div class="flex items-center px-4 border-n-weak border-b h-16 mt-px">
<%= link_to image_tag('/brand-assets/logo_thumbnail.svg', alt: 'Chatwoot Admin Dashboard', class: 'h-8'), super_admin_root_url %>
<div class="flex flex-col ml-2.5">
<div class="text-sm font-medium text-n-slate-12">Chatwoot <%= Chatwoot.config[:version] %></div>
<div class="text-xs text-n-slate-11">Super Admin Console</div>
</div>
</div>
<ul class="py-4 px-3 space-y-0.5">
<%= render partial: "nav_item", locals: { icon: 'icon-layout-dashboard', url: super_admin_root_url, label: 'Dashboard' } %>
<% Administrate::Namespace.new(namespace).resources.each do |resource| %>
<% next if ["account_users", "access_tokens", "installation_configs", "dashboard", "devise/sessions", "app_configs", "instance_statuses", "settings"].include? resource.resource %>
<%= render partial: "nav_item", locals: {
icon: sidebar_icons[resource.resource.to_sym],
url: resource_index_route(resource),
label: display_resource_name(resource),
}
%>
<% end %>
<%= render 'settings_menu', open: settings_open? %>
</ul>
</div>
<div class="border-t border-n-weak">
<ul class="py-4 px-3 space-y-0.5">
<%= render partial: "nav_item", locals: { icon: 'icon-layers', url: sidekiq_web_url, label: 'Sidekiq Dashboard' } %>
<%= render partial: "nav_item", locals: { icon: 'icon-heart-pulse', url: super_admin_instance_status_url, label: 'Instance Health' } %>
<%= render partial: "nav_item", locals: { icon: 'icon-layout-dashboard', url: '/', label: 'Agent Dashboard' } %>
<%= render partial: "nav_item", locals: { icon: 'icon-log-out', url: super_admin_logout_url, label: 'Logout' } %>
</ul>
</div>
</div>