Files
VacatureRadar/templates/base.html
T
2026-07-22 05:12:07 +02:00

94 lines
6.1 KiB
HTML

{% load static %}
<!doctype html>
<html lang="nl" data-theme="dark">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="color-scheme" content="dark light">
<meta name="theme-color" content="#07101f">
<title>{% block title %}{{ app_name }}{% endblock %}</title>
<link rel="icon" href="{% static 'favicon.svg' %}" type="image/svg+xml">
<link rel="stylesheet" href="{% static 'css/app.css' %}?v={{ app_version }}">
<script src="{% static 'js/app.js' %}?v={{ app_version }}" defer></script>
</head>
<body>
{% include "components/icon_sprite.html" %}
<a class="skip-link" href="#main">Naar hoofdinhoud</a>
{% if user.is_authenticated %}
<div class="app-frame" data-app-frame>
<aside class="sidebar" data-sidebar aria-label="Hoofdnavigatie">
<div class="sidebar-brand">
<a class="brand" href="{% url 'dashboard:today' %}">
<span class="brand-mark" aria-hidden="true"><svg class="icon"><use href="#icon-radar"></use></svg></span>
<span><strong>VacatureRadar</strong><small>Intelligence cockpit</small></span>
</a>
<button class="icon-button sidebar-close mobile-only" type="button" data-nav-close aria-label="Menu sluiten">
<svg class="icon"><use href="#icon-close"></use></svg>
</button>
</div>
<nav class="nav-stack">
<p class="nav-group-label">Radar</p>
<a class="nav-link {% if request.resolver_match.namespace == 'dashboard' and request.resolver_match.url_name == 'today' %}active{% endif %}" href="{% url 'dashboard:today' %}">
<svg class="icon"><use href="#icon-dashboard"></use></svg><span>Vandaag<small>beste matches</small></span>
</a>
<a class="nav-link {% if request.resolver_match.namespace == 'jobs' and request.resolver_match.url_name == 'list' %}active{% endif %}" href="{% url 'jobs:list' %}">
<svg class="icon"><use href="#icon-search"></use></svg><span>Vacatures<small>zoeken en filteren</small></span>
</a>
<a class="nav-link {% if request.resolver_match.namespace == 'jobs' and request.resolver_match.url_name == 'applications' or request.resolver_match.url_name == 'application-edit' %}active{% endif %}" href="{% url 'jobs:applications' %}">
<svg class="icon"><use href="#icon-pipeline"></use></svg><span>Sollicitaties<small>persoonlijke pipeline</small></span>
</a>
<p class="nav-group-label">Beheer</p>
<a class="nav-link {% if request.resolver_match.namespace == 'profiles' %}active{% endif %}" href="{% url 'profiles:list' %}">
<svg class="icon"><use href="#icon-profile"></use></svg><span>Zoekprofiel<small>regels en voorkeuren</small></span>
</a>
<a class="nav-link {% if request.resolver_match.namespace == 'sources' %}active{% endif %}" href="{% url 'sources:list' %}">
<svg class="icon"><use href="#icon-sources"></use></svg><span>Bronnen<small>import en gezondheid</small></span>
</a>
<a class="nav-link {% if request.resolver_match.namespace == 'dashboard' and request.resolver_match.url_name == 'system' %}active{% endif %}" href="{% url 'dashboard:system' %}">
<svg class="icon"><use href="#icon-system"></use></svg><span>Systeem<small>readiness en beheer</small></span>
</a>
</nav>
<div class="sidebar-user">
<span class="avatar" aria-hidden="true">{{ user.username|slice:":1"|upper }}</span>
<span><strong>{{ user.get_full_name|default:user.username }}</strong><small>Lokale gebruiker</small></span>
<span class="status-dot" title="Aangemeld"></span>
</div>
</aside>
<button class="nav-scrim" type="button" data-nav-scrim aria-label="Menu sluiten" tabindex="-1"></button>
<div class="workspace">
<header class="utilitybar">
<div class="utilitybar-start">
<button class="icon-button mobile-only" type="button" data-nav-toggle aria-label="Menu openen" aria-expanded="false">
<svg class="icon"><use href="#icon-menu"></use></svg>
</button>
<form class="global-search" method="get" action="{% url 'jobs:list' %}" role="search">
<label class="sr-only" for="global-search">Zoek door vacatures</label>
<svg class="icon" aria-hidden="true"><use href="#icon-search"></use></svg>
<input id="global-search" type="search" name="q" value="{% if request.resolver_match.namespace == 'jobs' and request.resolver_match.url_name == 'list' %}{{ request.GET.q }}{% endif %}" placeholder="Zoek door vacatures...">
</form>
<div class="utility-title utility-radar"><span class="signal-dot" aria-hidden="true"></span><span>Radar actief</span></div>
</div>
<div class="utility-actions">
<button class="icon-button" type="button" data-theme-toggle aria-label="Thema wisselen" title="Thema wisselen">
<svg class="icon theme-icon-dark"><use href="#icon-sun"></use></svg>
<svg class="icon theme-icon-light"><use href="#icon-moon"></use></svg>
</button>
{% if navigation_profile %}<a class="button button-primary utility-cta" href="{% url 'profiles:edit' navigation_profile.pk %}"><svg class="icon"><use href="#icon-profile"></use></svg><span class="desktop-label">Zoekprofiel aanpassen</span></a>{% endif %}
<form action="{% url 'logout' %}" method="post">{% csrf_token %}<button class="utility-link" type="submit" aria-label="Afmelden"><svg class="icon"><use href="#icon-logout"></use></svg><span class="desktop-label">Afmelden</span></button></form>
</div>
</header>
<main id="main" class="main-content" tabindex="-1">
{% else %}
<main id="main" class="auth-main" tabindex="-1">
{% endif %}
{% if messages %}
<div class="messages" aria-live="polite" aria-atomic="true">
{% for message in messages %}<div class="message {{ message.tags }}">{{ message }}</div>{% endfor %}
</div>
{% endif %}
{% block content %}{% endblock %}
</main>
{% if user.is_authenticated %}</div></div>{% endif %}
</body>
</html>