<% flash.each do |name, msg| %> <% c = case name.to_sym when :notice 'border-green text-green' else 'border-primary text-primary' end %>
<%= msg %>
<% end %> <% if current_user %>
<%= render 'shared/user_mention', user: current_user %> <%= render 'static_pages/streak', user: current_user, show_text: true, turbo_frame: false %> <% if current_user.admin_level != 0 %> <%= render 'static_pages/admin_level', user: current_user %> <% end %>
<% else %>
<%= link_to 'Login', slack_auth_path, class: 'block px-4 py-2 rounded-md transition text-white font-semibold bg-primary hover:bg-secondary text-center' %>
<% end %>
<%= link_to root_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(root_path) ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Home <% end %>
<%= link_to leaderboards_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(leaderboards_path) ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Leaderboards <% end %>
<% unless current_user %>
<%= link_to docs_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(docs_path) || request.path.start_with?('/docs') ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Docs <% end %>
<%= link_to extensions_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(extensions_path) ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Extensions <% end %>
<%= link_to "/what-is-hackatime", class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?('/what-is-hackatime') ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> What is Hackatime? <% end %>
<% end %> <% if current_user %>
<%= link_to my_projects_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(my_projects_path) ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Projects <% end %>
<%= link_to docs_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(docs_path) || request.path.start_with?('/docs') ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Docs <% end %>
<%= link_to extensions_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(extensions_path) ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Extensions <% end %>
<%= link_to my_settings_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(my_settings_path) ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Settings <% end %>
<%= link_to oauth_applications_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(oauth_applications_path) || request.path.start_with?('/oauth/applications') ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> My OAuth Apps <% end %>
Logout
<% end %> <% if current_user&.admin_level.present? || Rails.env.development? %>
<% dev_tool(nil, "div") do %> <%= link_to letter_opener_web_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(letter_opener_web_path) ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Letter Opener <% end %> <% end %> <% dev_tool(nil, "div") do %> <%= link_to '/rails/mailers', class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?('/rails/mailers') ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Mailers <% end %> <% end %> <% if current_user&.admin_level == "admin" || current_user&.admin_level == "superadmin" %> <% admin_tool(nil, "div") do %> <%= link_to admin_timeline_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(admin_timeline_path) ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Review Timeline <% end %> <% end %> <% elsif current_user&.admin_level == "viewer" %> <% viewer_tool(nil, "div") do %> <%= link_to admin_timeline_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(admin_timeline_path) ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Review Timeline <% end %> <% end %> <% end %> <% if current_user&.admin_level == "admin" || current_user&.admin_level == "superadmin" %> <% admin_tool(nil, "div") do %> <%= link_to admin_trust_level_audit_logs_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(admin_trust_level_audit_logs_path) || request.path.start_with?('/admin/trust_level_audit_logs') ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Trust Level Logs <% end %> <% end %> <% elsif current_user&.admin_level == "viewer" %> <% viewer_tool(nil, "div") do %> <%= link_to admin_trust_level_audit_logs_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(admin_trust_level_audit_logs_path) || request.path.start_with?('/admin/trust_level_audit_logs') ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Trust Level Logs <% end %> <% end %> <% end %> <% if current_user&.admin_level == "admin" || current_user&.admin_level == "superadmin" %> <% admin_tool(nil, "div") do %> <%= link_to admin_admin_api_keys_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(admin_admin_api_keys_path) || request.path.start_with?('/admin/admin_api_keys') ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Admin API Keys <% end %> <% end %> <% elsif current_user&.admin_level == "viewer" %> <% viewer_tool(nil, "div") do %> <%= link_to admin_admin_api_keys_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(admin_admin_api_keys_path) || request.path.start_with?('/admin/admin_api_keys') ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Admin API Keys <% end %> <% end %> <% end %> <% superadmin_tool(nil, "div") do %> <%= link_to admin_admin_users_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(admin_admin_users_path) ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Admin Management <% end %> <% end %> <% superadmin_tool(nil, "div") do %> <%= link_to admin_deletion_requests_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(admin_deletion_requests_path) ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Account Deletions <% pending_count = DeletionRequest.pending.count %> <% if pending_count > 0 %> <%= pending_count %> <% end %> <% end %> <% end %> <% superadmin_tool(nil, "div") do %> <%= link_to good_job_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(good_job_path) ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> GoodBoy <% end %> <% end %> <% superadmin_tool(nil, "div") do %> <%= link_to admin_oauth_applications_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(admin_oauth_applications_path) || request.path.start_with?('/admin/oauth_applications') ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> All OAuth Apps <% end %> <% end %> <% superadmin_tool(nil, "div") do %> <%= link_to flipper_path, class: "block px-3 py-2 rounded-md text-sm transition-colors #{current_page?(flipper_path) ? 'bg-primary text-white' : 'hover:bg-darkless'}", data: { action: "click->nav#clickLink" } do %> Feature Flags <% end %> <% end %>
<% end %> <% if defined?(@activities) %>
<%= render_activities(@activities) %>
<% end %>