feat: add expandable navigation, sacrifice right header for now

This commit is contained in:
moanos [he/him] 2024-11-24 11:30:12 +01:00
parent 064a9bf83a
commit 34b707ef20
2 changed files with 135 additions and 90 deletions

View File

@ -22,6 +22,7 @@
--text-three: var(--primary-light-one); --text-three: var(--primary-light-one);
--shadow-three: var(--primary-dark-one); --shadow-three: var(--primary-dark-one);
} }
/**************************/ /**************************/
/* TAG SETTINGS (GENERAL) */ /* TAG SETTINGS (GENERAL) */
/**************************/ /**************************/
@ -211,8 +212,6 @@ select, .button {
} }
/*********************/ /*********************/
/* UNIQUE COMPONENTS */ /* UNIQUE COMPONENTS */
/*********************/ /*********************/
@ -226,63 +225,128 @@ select, .button {
background-color: var(--background-two); background-color: var(--background-two);
border-bottom-left-radius: 15px; border-bottom-left-radius: 15px;
border-bottom-right-radius: 15px; border-bottom-right-radius: 15px;
}
.nav-link {
color: var(--text-one);
text-align: center;
text-decoration: none;
border-radius: 4px;
}
.header a, .header form {
float: left;
padding: 5px 12px 5px 12px;
line-height: 25px;
}
.header a:hover {
background-color: var(--highlight-one);
color: var(--highlight-one-text);
}
.header a.active {
background-color: dodgerblue;
color: white;
}
.header-right select.option {
color: #000;
background-color: var(--highlight-one);
border: 1px;
}
.header-right {
float: right;
display: flex; display: flex;
border-radius: 0px 0px 15px 15px; flex-direction: row;
background-color: var(--highlight-two); align-items: center;
color: var(--highlight-one-text); justify-content: space-between;
padding: 5px 5px 0px 5px; /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
height: 67px; color: #FFF;
height: 50px;
padding: 1em;
} }
@media screen and (max-width: 500px) { .menu {
.header a { display: flex;
float: none; flex-direction: row;
list-style-type: none;
margin: 0;
padding: 0;
}
.menu > li {
margin: 0 1rem;
overflow: hidden;
}
.menu-button-container {
display: none;
height: 100%;
width: 30px;
cursor: pointer;
flex-direction: column;
justify-content: center;
align-items: center;
}
#menu-toggle {
display: none;
}
.menu-button,
.menu-button::before,
.menu-button::after {
display: block; display: block;
text-align: left; background-color: #fff;
position: absolute;
height: 4px;
width: 30px;
transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
border-radius: 2px;
}
.menu-button::before {
content: '';
margin-top: -8px;
}
.menu-button::after {
content: '';
margin-top: 8px;
}
#menu-toggle:checked + .menu-button-container .menu-button::before {
margin-top: 0px;
transform: rotate(405deg);
}
#menu-toggle:checked + .menu-button-container .menu-button {
background: rgba(255, 255, 255, 0);
}
#menu-toggle:checked + .menu-button-container .menu-button::after {
margin-top: 0px;
transform: rotate(-405deg);
}
@media (max-width: 700px) {
.menu-button-container {
display: flex;
} }
.header-right { .menu {
float: none; position: absolute;
top: 0;
margin-top: 50px;
left: 0;
flex-direction: column;
width: 100%;
justify-content: center;
align-items: center;
}
#menu-toggle ~ nav .menu li {
height: 0;
margin: 0;
padding: 0;
border: 0;
transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
}
#menu-toggle:checked ~ nav .menu li {
border: 1px solid #333;
height: 2.5em;
padding: 0.5em;
transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
}
.menu > li {
display: flex;
justify-content: center;
margin: 0;
padding: 0.5em 0;
width: 100%;
color: white;
background-color: var(--background-two);
}
.menu > li:not(:last-child) {
border-bottom: 1px solid #444;
} }
} }
.logo img { .logo img {
height: 40px; height: 40px;
} }
@ -431,9 +495,6 @@ select, .button {
} }
.photos { .photos {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
@ -580,7 +641,6 @@ select, .button {
} }
.form-comments { .form-comments {
.btn { .btn {
margin: 5px; margin: 5px;

View File

@ -1,41 +1,26 @@
{% load static %} {% load static %}
{% load i18n %} {% load i18n %}
<div class="header"> <section class="header">
<div>
<a href="{% url "index" %}" class="logo"><img src={% static 'fellchensammlung/img/logo_transparent.png' %}></a> <a href="{% url "index" %}" class="logo"><img src={% static 'fellchensammlung/img/logo_transparent.png' %}></a>
<nav id="nav" class="nav justify-content-center"> </div>
<a class="nav-link " href="{% url "search" %}"><i class="fas fa-search"></i> {% translate 'Suchen' %}</a> <input id="menu-toggle" type="checkbox"/>
<a class="nav-link " href="{% url "add-adoption" %}"><i <label class='menu-button-container' for="menu-toggle">
class="fas fa-feather"></i> {% translate 'Vermittlung hinzufügen' %}</a> <div class='menu-button'></div>
<a class="nav-link " href="{% url "about" %}"><i class="fas fa-info"></i> {% translate 'Über uns' %}</a> </label>
<a class="nav-link " href="{% url "rss" %}"><i class="fa-solid fa-rss"></i> {% translate 'RSS' %}</a> <nav>
<ul class="menu">
</nav> <li>
<div class="header-right"> <a class="nav-link " href="{% url "search" %}"><i class="fas fa-search"></i> {% translate 'Suchen' %}
<div class="profile-card">
{% include "fellchensammlung/forms/change_language.html" %}
{% if user.is_authenticated %}
<div class="btn2 button_darken btn-notification">
<a href="{{ user.get_notifications_url }}">
<i class="fa fa-bell" aria-hidden="true"></i>
</a> </a>
{% if user.get_num_unread_notifications > 0 %} </li>
<span class="button__badge">{{ user.get_num_unread_notifications }}</span> <li><a class="nav-link " href="{% url "add-adoption" %}"><i
{% endif %} class="fas fa-feather"></i> {% translate 'Vermittlung hinzufügen' %}</a></li>
<li><a class="nav-link " href="{% url "about" %}"><i class="fas fa-info"></i> {% translate 'Über uns' %}</a>
</div> </li>
<li><a class="nav-link " href="{% url "rss" %}"><i class="fa-solid fa-rss"></i> {% translate 'RSS' %}</a>
<a class="btn2" href="{% url 'user-me' %}"><i aria-hidden="true" class="fas fa-user"></i></a> </li>
<form class="btn2 button_darken" action="{% url 'logout' %}" method="post"> </ul>
{% csrf_token %} </nav>
<button class="button" type="submit"><i aria-hidden="true" class="fas fa-sign-out"></i></button> </section>
</form>
{% else %}
<a class="btn2" href="{% url "django_registration_register" %}">{% translate "Registrieren" %}</a>
<a class="btn2" href="{% url "login" %}"><i class="fa fa-sign-in" aria-hidden="true"></i></a>
{% endif %}
</div>
</div>
</div>