111 lines
5 KiB
Text
111 lines
5 KiB
Text
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>LocalLoop Admin - <%= title %></title>
|
|
|
|
<!-- Bootstrap and jQuery js -->
|
|
<link rel="stylesheet"
|
|
href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css"
|
|
integrity="sha256-rByPlHULObEjJ6XQxW/flG2r+22R5dKiAoef+aXWfik=" crossorigin="anonymous" />
|
|
<link rel="stylesheet"
|
|
href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
|
|
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"
|
|
crossorigin="anonymous">
|
|
|
|
%= stylesheet '/static/admin/css/main.css';
|
|
</head>
|
|
<body>
|
|
<nav class="navbar navbar-expand-md fixed-top navbar-dark bg-danger">
|
|
<a class="navbar-brand" href="<%= url_for '/admin/home' %>">LocalLoop Admin</a>
|
|
<button class="navbar-toggler navbar-toggler-right"
|
|
type="button"
|
|
data-toggle="collapse"
|
|
data-target="#navbarNav"
|
|
aria-controls="navbarNav"
|
|
aria-expanded="false"
|
|
aria-label="Toggle navigation">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
|
|
<div class="collapse navbar-collapse" id="navbarNav">
|
|
<ul class="navbar-nav ml-auto">
|
|
<li class="nav-item dropdown">
|
|
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#">
|
|
Reports
|
|
</a>
|
|
<div class="dropdown-menu">
|
|
<a class="dropdown-item" href="<%= url_for '/admin/reports/transactions' %>">Transactions (Hourly)</a>
|
|
<a class="dropdown-item" href="<%= url_for('/admin/reports/transactions')->query(scale =>'days') %>">Transactions (Daily)</a>
|
|
</div>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link<%= title eq 'Feedback' ? ' active' : '' %>" href="<%= url_for '/admin/feedback' %>">Feedback</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link<%= title eq 'Tokens' ? ' active' : '' %>" href="<%= url_for '/admin/tokens' %>">Tokens</a>
|
|
</li>
|
|
<li class="nav-item dropdown">
|
|
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#">
|
|
Transactions
|
|
</a>
|
|
<div class="dropdown-menu">
|
|
<a class="dropdown-item" href="<%= url_for '/admin/transactions' %>">Transaction List</a>
|
|
<a class="dropdown-item" href="<%= url_for '/admin/categories' %>">Categories</a>
|
|
</div>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link<%= title eq 'Users' ? ' active' : '' %>" href="<%= url_for '/admin/users' %>">Users</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link<%= title eq 'Organisations' ? ' active' : '' %>" href="<%= url_for '/admin/organisations' %>">Organisations</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link<%= title eq 'Import' ? ' active' : '' %>" href="<%= url_for '/admin/import' %>">Import</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="<%= url_for '/admin/minion' %>">Minion</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="<%= url_for '/admin/logout' %>">Logout</a>
|
|
</li>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<div class="container">
|
|
% if ( my $f_error = flash 'error' ) {
|
|
<div class="alert alert-danger" role="alert">
|
|
<strong>Error!</strong> <%= $f_error %>
|
|
</div>
|
|
% } elsif ( my $s_error = stash 'error' ) {
|
|
<div class="alert alert-danger" role="alert">
|
|
<strong>Error!</strong> <%= $s_error %>
|
|
</div>
|
|
% } elsif ( my $success = flash 'success' ) {
|
|
<div class="alert alert-success" role="alert">
|
|
<strong>Success!</strong> <%= $success %>
|
|
</div>
|
|
% }
|
|
<%= content %>
|
|
</div>
|
|
<div class="navbar bg-dark fixed-bottom">
|
|
<span class="navbar-text ml-auto text-muted">
|
|
Version: <%= $c->config->{version} %>
|
|
</span>
|
|
</div>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
|
|
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
|
|
crossorigin="anonymous"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"
|
|
integrity="sha256-KM512VNnjElC30ehFwehXjx1YCHPiQkOPmqnrWtpccM="
|
|
crossorigin="anonymous"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
|
|
integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
|
|
crossorigin="anonymous"></script>
|
|
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
|
|
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
|
|
crossorigin="anonymous"></script>
|
|
%= content_for 'javascript';
|
|
</body>
|
|
</html>
|