* Focus flash message button on load * update specs * Update app/javascript/packs/admin/flashMessages.js Co-authored-by: Nick Taylor <nick@iamdeveloper.com> * Update app/javascript/packs/admin/flashMessages.js Co-authored-by: Nick Taylor <nick@iamdeveloper.com> Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
116 lines
5.3 KiB
Text
116 lines
5.3 KiB
Text
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<%# The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags %>
|
|
<meta name="description" content="">
|
|
<meta name="author" content="">
|
|
<%= csrf_meta_tags %>
|
|
<%= favicon_link_tag Images::Optimizer.call(Settings::General.favicon_url, width: 32) %>
|
|
<title><%= controller_name.titleize %></title>
|
|
|
|
<!-- StimulusJS -->
|
|
<%= javascript_packs_with_chunks_tag "admin", defer: true %>
|
|
|
|
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
|
|
|
|
<!-- Bootstrap -->
|
|
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
|
|
|
|
<%= stylesheet_link_tag "admin" %>
|
|
|
|
</head>
|
|
<body class="admin default-header"
|
|
data-honeybadger-key="<%= j(ApplicationConfig["HONEYBADGER_JS_API_KEY"]) %>"
|
|
data-deployed-at="<%= j(ForemInstance.deployed_at) %>"
|
|
data-latest-commit-id="<%= j(ForemInstance.latest_commit_id) %>"
|
|
data-ga-tracking="<%= j(Settings::General.ga_tracking_id) %>"
|
|
data-controller="snackbar"
|
|
data-action="snackbar:add@document->snackbar#addItem">
|
|
<div id="body-styles">
|
|
<style>
|
|
:root {
|
|
--accent-brand-lighter-rgb: <%= Color::CompareHex.new([Settings::UserExperience.primary_brand_color_hex]).brightness(1.35, only_values: true) %>;
|
|
--accent-brand-rgb: <%= Color::CompareHex.new([Settings::UserExperience.primary_brand_color_hex]).brightness(1, only_values: true) %>;
|
|
--accent-brand-darker-rgb: <%= Color::CompareHex.new([Settings::UserExperience.primary_brand_color_hex]).brightness(0.8, only_values: true) %>;
|
|
}
|
|
</style>
|
|
</div>
|
|
<header class="crayons-header">
|
|
<span id="route-change-target" tabindex="-1"></span>
|
|
<a href="#main-content" class="skip-content-link"><%= t("views.main.header.skip") %></a>
|
|
<div class="crayons-header__container">
|
|
<%= render "layouts/logo" %>
|
|
|
|
<h1 class="pl-4 fs-base hidden s:block">
|
|
<a class="c-link c-link--branded" href="<%= admin_path %>">Admin</a>
|
|
<span class="color-base-60">»</span>
|
|
<span class="fw-medium">
|
|
<%= yield(:h1).presence || controller_name.titleize %>
|
|
</span>
|
|
</h1>
|
|
|
|
<nav aria-label="header" class="flex items-center h-100 ml-auto">
|
|
<%= link_to "Help", "https://admin.forem.com/", class: "c-link c-link--block whitespace-nowrap" %>
|
|
<%= link_to "Home page", root_path, class: "c-link c-link--block whitespace-nowrap" %>
|
|
</nav>
|
|
</div>
|
|
</header>
|
|
|
|
<div class="crayons-layout crayons-layout--2-cols">
|
|
<div class="admin__left-sidebar crayons-layout__left-sidebar" data-controller="sidebar" data-action="load@window->sidebar#disableCurrentNavItem">
|
|
<nav>
|
|
<ul>
|
|
<li>
|
|
<a class="crayons-link crayons-link--block <%= "crayons-link--current" if controller.controller_name == "overview" %>" href="<%= admin_path %>" aria-current "<%= "page" if controller.controller_name == "overview" %>">
|
|
<%= crayons_icon_tag("stack-line", class: "dropdown-icon") %>
|
|
Overview
|
|
</a>
|
|
</li>
|
|
<%= render "admin/shared/nested_sidebar", menu_items: AdminMenu.navigation_items %>
|
|
<li class="block s:hidden">
|
|
<a class="crayons-link crayons-link--block" href="/">
|
|
<%= crayons_icon_tag("external-link", class: "dropdown-icon") %>
|
|
Go to <%= community_name %> home page
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
<main id="main-content" class="crayons-layout__content min-w-0 p-2">
|
|
<%= javascript_packs_with_chunks_tag "admin/flashMessages", defer: true %>
|
|
<% flash.each_with_index do |(type, message), i| %>
|
|
<div data-testid="flash-<%= type %>" class="alert alert-<%= type == "notice" || type == "success" ? "success" : "danger" %>">
|
|
<span id="flash-<%= i %>"><%= message %></span>
|
|
<button class="close js-flash-close-btn" data-dismiss="alert" aria-label="Dismiss message" aria-describedby="flash-<%= i %>">
|
|
<%= crayons_icon_tag(:x, aria_hidden: true) %>
|
|
</button>
|
|
</div>
|
|
<% end %>
|
|
|
|
<div
|
|
data-controller="alert"
|
|
data-action="error:generate@document->alert#generateErrorAlert"
|
|
data-testid="alertzone">
|
|
<div data-alert-target="alertZone" role="alert"></div>
|
|
</div>
|
|
|
|
<% if request.path.split("/")[-3] == "admin" %>
|
|
<%= render "admin/shared/tabbed_navbar", menu_items: AdminMenu.nested_menu_items_from_request(request) %>
|
|
<% end %>
|
|
|
|
<%= yield %>
|
|
<% if @help_url %>
|
|
<%= render "shared/help_icon" %>
|
|
<% end %>
|
|
</main>
|
|
</div>
|
|
|
|
<div data-snackbar-target="snackZone"></div>
|
|
|
|
<!-- Bootstrap Dependencies -->
|
|
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
|
|
</body>
|
|
</html>
|