mirror of
https://github.com/dani-garcia/vaultwarden.git
synced 2025-09-14 12:35:57 +03:00
- Removed `unsafe-inline` for javascript from CSP. The admin interface now uses files instead of inline javascript. - Modified javascript to work not being inline. - Run eslint over javascript and fixed some items. - Added a `to_json` Handlebars helper. Used at the diagnostics page. - Changed `AdminTemplateData` struct to be smaller. The `config` was always added, but only used at one page. Same goes for `can_backup` and `version`. - Also inlined CSS. We can't remove the `unsafe-inline` from css, because that seems to break the web-vault currently. That might need some further checks. But for now the 404 page and all the admin pages are clear of inline scripts and styles.
55 lines
2.6 KiB
Handlebars
55 lines
2.6 KiB
Handlebars
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
|
|
<meta name="robots" content="noindex,nofollow" />
|
|
<link rel="icon" type="image/png" href="{{urlpath}}/vw_static/vaultwarden-favicon.png">
|
|
<title>Vaultwarden Admin Panel</title>
|
|
<link rel="stylesheet" href="{{urlpath}}/vw_static/bootstrap.css" />
|
|
<link rel="stylesheet" href="{{urlpath}}/vw_static/admin.css" />
|
|
<script src="{{urlpath}}/vw_static/admin.js"></script>
|
|
</head>
|
|
<body class="bg-light">
|
|
<nav class="navbar navbar-expand-md navbar-dark bg-dark mb-4 shadow fixed-top">
|
|
<div class="container-xl">
|
|
<a class="navbar-brand" href="{{urlpath}}/admin"><img class="vaultwarden-icon" src="{{urlpath}}/vw_static/vaultwarden-icon.png" alt="V">aultwarden Admin</a>
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse"
|
|
aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
<div class="collapse navbar-collapse" id="navbarCollapse">
|
|
<ul class="navbar-nav me-auto">
|
|
{{#if logged_in}}
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="{{urlpath}}/admin">Settings</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="{{urlpath}}/admin/users/overview">Users</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="{{urlpath}}/admin/organizations/overview">Organizations</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="{{urlpath}}/admin/diagnostics">Diagnostics</a>
|
|
</li>
|
|
{{/if}}
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="{{urlpath}}/" target="_blank" rel="noreferrer">Vault</a>
|
|
</li>
|
|
</ul>
|
|
|
|
{{#if logged_in}}
|
|
<a class="btn btn-sm btn-secondary" href="{{urlpath}}/admin/logout">Log Out</a>
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
{{> (lookup this "page_content") }}
|
|
|
|
<!-- This script needs to be at the bottom, else it will fail! -->
|
|
<script src="{{urlpath}}/vw_static/bootstrap-native.js"></script>
|
|
</body>
|
|
</html>
|