ISO-27001-Risk-Management/templates/base.html

158 lines
5.2 KiB
HTML

{% load static %}
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Risiko Management</title>
<link rel="stylesheet" href="{% static 'css/bulma.min.css' %}">
<link rel="stylesheet" href="{% static 'css/design.css' %}">
<link rel="stylesheet" href="{% static 'css/fontawesome.min.css' %}">
<link rel="stylesheet" href="{% static 'css/print.css' %}" media="print">
</head>
<body>
<header class="topbar">
<nav class="navbar topbar-nav" role="navigation" aria-label="main navigation">
<div class="navbar-brand">
<a class="navbar-item logo" href="/risks/index">
<strong class="logo-text">RM</strong>
</a>
<!-- Burger Menu für Mobile -->
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="mainNavbar">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
</div>
<div id="mainNavbar" class="navbar-menu">
<div class="navbar-start">
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link">Risikomanagement</a>
<div class="navbar-dropdown">
<a class="navbar-item" href="/risks/index">Dashboard</a>
<a class="navbar-item" href="/risks/list_risks">Risikoanalyse</a>
<a class="navbar-item" href="/risks/list_controls">Maßnahmen</a>
<a class="navbar-item" href="/risks/list_incidents">Vorfälle</a>
</div>
</div>
</div>
</div>
<!-- Profil -->
<div class="navbar-end">
<!-- Suche -->
<div class="navbar-item">
<!--
<div class="field">
<p class="control">
<input class="input is-small" type="text" placeholder="Suchen">
</p>
</div>
-->
</div>
{% if request.user.is_authenticated %}
<!-- Profil-Dropdown -->
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link">
<!-- Initialen-Badge -->
<span class="tag is-link is-light is-medium is-rounded"
style="width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;">
{{ request.user.username|slice:":2"|upper }}
</span>
</a>
<div class="navbar-dropdown is-right">
{% if request.user.is_staff %}
<a class="navbar-item" href="/admin/">Admin</a>
<hr class="navbar-divider">
{% endif %}
<!-- Dark Mode Toggle -->
<button id="dark-mode-toggle" class="button is-small is-light">
🌙 Dark Mode
</button>
<!-- Logout als POST über Hidden-Form -->
<a class="navbar-item" href="#"
onclick="document.getElementById('logout-form').submit(); return false;">
Logout
</a>
</div>
</div><!-- Profil-Dropdown Ende -->
<!-- Hidden Logout Form (muss im DOM vorhanden sein) -->
<form id="logout-form" method="post" action="{% url 'logout' %}" style="display:none;">
{% csrf_token %}
</form>
{% else %}
<!-- Login-Button -->
<div class="navbar-item">
<div class="buttons">
<a class="button is-primary is-light" href="{% url 'login' %}">
<strong>Login</strong>
</a>
</div>
</div>
{% endif %}
</nav>
</header>
<main class="content">
{% block breadcrumbs %}
<nav class="breadcrumb top-breadcrumb" aria-label="breadcrumbs">
<ul>
<li>
<a href="/risks/index">
<span class="icon is-small">
<i class="fas fa-home" aria-hidden="true" style="color: #6b2bbd"></i>
</span>
</a>
</li>
{% block crumbs %}
{% if title %} &rsaquo; {{ title }}{% endif %}
{% endblock %}
</ul>
</nav>
{% endblock %}
{% block content %}{% endblock %}
</main>
<script>
const toggleButton = document.getElementById('dark-mode-toggle');
// Dark Mode aus localStorage laden
if (localStorage.getItem('darkMode') === 'enabled') {
document.body.classList.add('dark-mode');
toggleButton.textContent = '☀️ Light Mode';
}
toggleButton.addEventListener('click', () => {
document.body.classList.toggle('dark-mode');
if (document.body.classList.contains('dark-mode')) {
localStorage.setItem('darkMode', 'enabled');
toggleButton.textContent = '☀️ Light Mode';
} else {
localStorage.setItem('darkMode', 'disabled');
toggleButton.textContent = '🌙 Dark Mode';
}
});
// Burger Menu für mobile
document.addEventListener('DOMContentLoaded', () => {
const burger = document.querySelector('.navbar-burger');
const menu = document.getElementById(burger.dataset.target);
burger.addEventListener('click', () => {
burger.classList.toggle('is-active');
menu.classList.toggle('is-active');
});
});
</script>
</body>
</html>