* feat: add the nested sidebar with some elements * feat: create a tabbed nav item menu * feat: add the tabbed nav_item partial to the views that need tabbed nav items * fix: change variable back * feat: style the sidebar a bit more * chore: add some more styles * feat: add a spec for the nested navigational items * refactor: a more dynamic tabbed admin helper * feat: add some more nav items * fix: controller for reports * refactor: shorthand if statement * chore: add the whitespace back * refactor: rubocop fixes * chore: use any * chore: remove whitespace * refactor: rename the variable * refactor: use a DSL style admin helper * chore: variable renaming and routes * rubocop: fixes * refactor: move files to more apt places * chore: keep overview as it was previously * Update app/views/admin/secrets/index.html.erb Co-authored-by: Michael Kohl <me@citizen428.net> * Update app/views/admin/shared/_tabbed_navbar.erb Co-authored-by: Michael Kohl <me@citizen428.net> * Update app/views/admin/badges/index.html.erb Co-authored-by: Michael Kohl <me@citizen428.net> * chore: disable blocklength * refactor: move the logic to the model instead of in the view * chore: remove get_ prefix * chore: move the request mangling to a helper that finds the controller and scope * Update app/helpers/admin_helper.rb Co-authored-by: rhymes <rhymes@hey.com> * Update app/helpers/admin_helper.rb Co-authored-by: rhymes <rhymes@hey.com> * refactor: Address feedback * oops * oops use tr * feat: update specs * feat: make the navbar a dropdown * feat: add a cursor pointer to the dropdown * feat: add the icons which results in changed data structure * fix: badge achievements * feat: rename to an html file, show and collapse links + show active links * chore: rename tabbed view to an html file * fix: scope should be apps not app * feat: add icons for the admin menu * feat: increase the margin left * feat: move the overview into the feature flag block and add an icon * chore:remove files * chore: indent * feat: update crayons -link to have no text-decoration * feat: current link for a scope with one controller * Update app/lib/menu.rb Co-authored-by: Michael Kohl <me@citizen428.net> * Update app/models/admin_menu.rb Co-authored-by: Michael Kohl <me@citizen428.net> * refactor: we added svg to the builder so remove it from creating the hash * feat: undo change to crayons and add it to the admin stylesheet * Update app/views/admin/shared/_nested_sidebar.html.erb Co-authored-by: Suzanne Aitchison <suzanne@forem.com> * refactor: change to use ul and li's + a button * chore: add bracket to next line * feat: add aria-page * chore: remove brackets * feat: added focus specifically for the sidebar * Update app/views/admin/shared/_nested_sidebar.html.erb Co-authored-by: Jamie Gaskins <jgaskins@hey.com> * chore: remove additional title * Update app/assets/stylesheets/admin.scss Co-authored-by: Suzanne Aitchison <suzanne@forem.com> * Update app/views/admin/shared/_nested_sidebar.html.erb Co-authored-by: Suzanne Aitchison <suzanne@forem.com> * Update app/views/layouts/admin.html.erb Co-authored-by: Suzanne Aitchison <suzanne@forem.com> * feat: use focus for browsers that dont support focus-visible (I'm looking at you Safari) and move it within the crayons-link so we dont see it on mouse click Co-authored-by: Michael Kohl <me@citizen428.net> Co-authored-by: rhymes <rhymes@hey.com> Co-authored-by: Suzanne Aitchison <suzanne@forem.com> Co-authored-by: Jamie Gaskins <jgaskins@hey.com>
113 lines
5.5 KiB
Text
113 lines
5.5 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(SiteConfig.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 and FontAwesome -->
|
|
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
|
|
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.16/css/bootstrap-select.min.css" integrity="sha256-g19F2KOr/H58l6XdI/rhCdEK3NmB8OILHwP/QYBQ8M4=" crossorigin="anonymous" />
|
|
|
|
<%= stylesheet_link_tag "admin" %>
|
|
|
|
</head>
|
|
<body class="admin default-header"
|
|
data-honeybadger-key="<%= ApplicationConfig["HONEYBADGER_JS_API_KEY"] %>"
|
|
data-deployed-at="<%= ForemInstance.deployed_at %>"
|
|
data-latest-commit-id="<%= ForemInstance.latest_commit_id %>"
|
|
data-ga-tracking="<%= SiteConfig.ga_tracking_id %>">
|
|
<header class="crayons-header" role="banner">
|
|
<div class="crayons-header__container">
|
|
<%= render "layouts/logo" %>
|
|
|
|
<h1 class="pl-4 fs-l">
|
|
<a href="/admin">Admin</a>
|
|
<span class="color-base-60">»</span> <span class="fw-bold"><%= controller_name.titleize %></span>
|
|
</h1>
|
|
|
|
<div class="flex items-center h-100 ml-auto">
|
|
<a href="https://forem.gitbook.io/forem-admin-guide/" class="crayons-btn crayons-btn--ghost-brand hidden mr-2 whitespace-nowrap s:block">
|
|
Forem Admin Guide
|
|
</a>
|
|
|
|
<a href="/" class="crayons-btn hidden mr-2 whitespace-nowrap s:block">
|
|
Go to <%= community_name %> home page
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<div class="crayons-layout crayons-layout--2-cols">
|
|
<div class="admin__left-sidebar crayons-layout__left-sidebar">
|
|
<nav class="hidden m:block">
|
|
<% if FeatureFlag.enabled?(:admin_restructure) %>
|
|
<ul>
|
|
<li>
|
|
<a class="crayons-link crayons-link--block <%= "crayons-link--current" if controller.controller_name == "overview" %>" href="/admin/" aria-page="<%= "page" if controller.controller_name == "overview" %>">
|
|
<%= inline_svg_tag("stack-line.svg", aria: true, class: "dropdown-icon crayons-icon") %>
|
|
Overview
|
|
</a>
|
|
</li>
|
|
<%= render "admin/shared/nested_sidebar", menu_items: AdminMenu::ITEMS %>
|
|
</ul>
|
|
<% else %>
|
|
<a class="crayons-link crayons-link--block <%= "crayons-link--current" if controller.controller_name == "overview" %>" href="/admin/">
|
|
Overview
|
|
</a>
|
|
<%= render "admin/shared/navbar", menu_items: admin_menu_items %>
|
|
<% if FeatureFlag.enabled?(:data_update_scripts) %>
|
|
<p class="crayons-field__description mt-4 mb-3">Tech Resources</p>
|
|
<%= render "admin/shared/navbar", menu_items: AdminHelper::TECH_MENU_ITEMS %>
|
|
<% end %>
|
|
<% end %>
|
|
</nav>
|
|
</div>
|
|
<main class="crayons-layout__content min-w-0">
|
|
<% flash.each do |type, message| %>
|
|
<div class="alert alert-<%= type == "notice" || type == "success" ? "success" : "danger" %>">
|
|
<button class="close" data-dismiss="alert" aria-label="Close">
|
|
<i class="fa fa-times" aria-hidden="true"></i>
|
|
</button>
|
|
<%= message %>
|
|
</div>
|
|
<% end %>
|
|
|
|
<% if FeatureFlag.enabled?(:admin_restructure) %>
|
|
<!-- hack to ensure that when you go to the old admin view nothing breaks -->
|
|
<% if request.path.split("/")[-3] == "admin" %>
|
|
<%= render "admin/shared/tabbed_navbar", menu_items: AdminMenu::ITEMS %>
|
|
<% end %>
|
|
<% end %>
|
|
|
|
|
|
<%= yield %>
|
|
<% if @help_url %>
|
|
<a class="admin-help-button crayons-btn crayons-btn--icon-rounded crayons-btn--s" href="<%= @help_url %>" target="_blank" rel="noopener noreferer">
|
|
<%= inline_svg_tag("circle-question.svg", aria: true, title: "Forem Admin Guide") %>
|
|
</a>
|
|
<% end %>
|
|
</main>
|
|
</div>
|
|
|
|
<!-- Bootstrap Dependencies -->
|
|
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
|
|
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.16/js/bootstrap-select.min.js" integrity="sha256-COIM4OdXvo3jkE0/jD/QIEDe3x0jRuqHhOdGTkno3uM=" crossorigin="anonymous"></script>
|
|
|
|
<%= javascript_include_tag "internal" %>
|
|
|
|
</body>
|
|
</html>
|