Compare commits

...

13 Commits

Author SHA1 Message Date
f38966d150 fix: Position des Submenüs gefixt.
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/promote/spielwiese Build is passing
2024-03-23 21:09:40 +01:00
e8684a455b fix: Einrückung gefixt. 2024-03-23 21:08:40 +01:00
12c1c72101 fix: Fix Menüreste, wenn man Seite mit offenen Mobilmenü in d. Breite zieht.
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/promote/spielwiese Build is passing
2024-03-22 23:56:36 +01:00
faa6a5c931 chore: Gedoppelten Link entfernt damit Demo realistischer wird.
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/promote/spielwiese Build is passing
2024-03-22 23:48:45 +01:00
a646510170 fix: Fix Standort-Highlighting auf Home. 2024-03-22 23:48:45 +01:00
9e36de87a1 fix: Menü in mobile und PC-Version gesplittet.
Etwas Overhead im Template, dafür weniger verschwurbelte Logik.
2024-03-22 23:48:42 +01:00
6307c4f728 feat: Mobilen Header auf der Startseite etwas aufgehübscht.
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/promote/spielwiese Build is passing
2024-03-17 14:35:55 +01:00
251cb6a2d3 fix: Text des Menübuttons nicht mehr off-center. Unötiges CSS entfernt.
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/promote/spielwiese Build is passing
2024-03-17 14:22:37 +01:00
db367e8c34 feat: Mobiles Menü gefixt, nach der Einführunge des JS-Dropdown.
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/promote/spielwiese Build is passing
2024-03-17 13:59:29 +01:00
4fd01e2eca feat: DropDown jetzt mit mehr hübsch. 2024-03-17 12:51:47 +01:00
39d51fadbc feat: WIP: DropDown via JS implementiert.
Sieht noch scheiße aus, soll zum Test, ob das grundsätzlich geht aber reichen.
2024-03-17 12:51:47 +01:00
07df68f87d chore: var durch let ersetzt. 2024-03-17 12:51:47 +01:00
c7583caeb8 feat: Reenable CSS to get drop down menu items back. 2024-03-17 12:51:47 +01:00
4 changed files with 223 additions and 64 deletions

View File

@ -63,17 +63,10 @@ body {
.primary_nav__toggle { .primary_nav__toggle {
display: none; display: none;
height: 3.375rem;
margin-left: 1rem;
} }
.primary_nav__toggle svg { .primary_nav__toggle svg {
margin: 0.25rem 0 0 0; padding-right: 0.25rem;
width: 2rem;
height: 2rem;
padding: 0;
position: relative;
left: 0;
} }
.primary_nav__toggle rect { .primary_nav__toggle rect {
@ -81,14 +74,19 @@ body {
} }
.primary_nav__toggle p { .primary_nav__toggle p {
margin: 0; margin: 0.25rem 0 0 0;
padding: 0 0 0 0; padding: 0;
position: relative; position: relative;
right: 0.5rem; left: -0.2rem;
bottom: 0.65rem; bottom: 0.65rem;
color: var(--wtf-nearly-black); color: var(--wtf-nearly-black);
} }
.primary_nav__mobile_navlist {
display: none;
z-index: 16;
}
.primary_nav__navlist { .primary_nav__navlist {
margin: 0; margin: 0;
display: flex; display: flex;
@ -105,20 +103,47 @@ body {
font-size: 1.25rem; font-size: 1.25rem;
} }
.primary_nav__navlink.-active { .primary_nav__navlink.-active,
.primary_nav__sub_navlink.-active {
color: var(--wtf-orange); color: var(--wtf-orange);
text-decoration: underline; text-decoration: underline;
} }
.primary_nav__navitem.-last, .primary_nav__navitem.-last a {
margin-right: 0;
padding-right: 0;
}
.primary_nav__navlink { .primary_nav__navlink {
color: var(--wtf-nearly-black); color: var(--wtf-nearly-black);
} }
.primary_nav__navlink:hover { .primary_nav__sub_navlink {
color: var(--wtf-mid-grey); color: var(--wtf-nearly-white);
text-decoration: underline; text-decoration: underline;
} }
.primary_nav__sub_navlink:hover {
text-decoration: none;
}
.primary_nav__sub_navlist.-closed {
display: none;
z-index: 20;
}
.primary_nav__sub_navlist.-open {
display: block;
margin: 2.6rem 0 0 -0.5rem;
padding: 0;
position: absolute;
background-color: var(--wtf-dark-blue);
border-left: 2px solid var(--wtf-mid-grey);
border-right: 2px solid var(--wtf-mid-grey);
border-bottom: 2px solid var(--wtf-mid-grey);
box-shadow: 5px 5px 15px 0px rgba(0, 0, 0, 0.35);
}
/* /*
* Gleicht zusammen mit padding von .primary_nav__navitem die Verschiebung durch * Gleicht zusammen mit padding von .primary_nav__navitem die Verschiebung durch
* Submenümarker aus. * Submenümarker aus.
@ -135,7 +160,7 @@ body {
} }
/* Malt bei vorhandenem Submenü den Pfeil */ /* Malt bei vorhandenem Submenü den Pfeil */
.primary_nav__navlist li a:first-child:nth-last-child(2):after { .primary_nav__navlist li span:first-child:nth-last-child(2):after {
content: ""; content: "";
position: relative; position: relative;
top: -0.125rem; top: -0.125rem;
@ -148,6 +173,13 @@ body {
border-right: 3px solid var(--wtf-nearly-black); border-right: 3px solid var(--wtf-nearly-black);
} }
.primary_nav__sub_navitem {
margin: 0;
padding: 0.5rem 0.5rem;
list-style: none;
text-align: left;
}
.header__secondary_nav { .header__secondary_nav {
margin: 4.5rem 0.5rem 0 0; margin: 4.5rem 0.5rem 0 0;
} }
@ -1195,6 +1227,10 @@ footer {
display: flex !important; display: flex !important;
} }
.primary_nav__mobile_navlist {
display: none;
}
.content__inner_box { .content__inner_box {
margin: -0.5rem 1.5rem 0 1.5rem; margin: -0.5rem 1.5rem 0 1.5rem;
} }
@ -1210,6 +1246,10 @@ footer {
display: none; display: none;
} }
.primary_nav__mobile_navlist {
display: none !important;
}
.primary_nav__navlist { .primary_nav__navlist {
display: flex !important; display: flex !important;
} }
@ -1232,6 +1272,10 @@ footer {
display: none; display: none;
} }
.primary_nav__mobile_navlist {
display: none !important;
}
.primary_nav__navlist { .primary_nav__navlist {
display: flex !important; display: flex !important;
} }
@ -1268,6 +1312,10 @@ footer {
display: none; display: none;
} }
.primary_nav__mobile_navlist {
display: none !important;
}
.primary_nav__navlist { .primary_nav__navlist {
display: flex !important; display: flex !important;
} }
@ -1350,6 +1398,10 @@ footer {
display: none; display: none;
} }
.primary_nav__mobile_navlist {
display: none !important;
}
.primary_nav__navlist { .primary_nav__navlist {
display: flex !important; display: flex !important;
} }
@ -1418,6 +1470,10 @@ footer {
display: none; display: none;
} }
.primary_nav__mobile_navlist {
display: none !important;
}
.primary_nav__navlist { .primary_nav__navlist {
width: 100%; width: 100%;
justify-content: space-evenly; justify-content: space-evenly;
@ -1439,6 +1495,10 @@ footer {
margin-right: 0.5rem; margin-right: 0.5rem;
} }
.primary_nav__sub_navlist.-open {
margin-top: 0.7rem;
}
.header__claim { .header__claim {
margin-top: 0.5rem; margin-top: 0.5rem;
} }
@ -1592,6 +1652,10 @@ footer {
margin-right: 1rem; margin-right: 1rem;
} }
.primary_nav__mobile_navlist {
display: none !important;
}
.primary_nav__navlist { .primary_nav__navlist {
display: flex !important; display: flex !important;
margin-right: 1.5rem; margin-right: 1.5rem;
@ -1601,6 +1665,10 @@ footer {
display: none; display: none;
} }
.primary_nav__sub_navlist.-open {
margin-top: 2.3rem;
}
.content__inner_box.-logo_header { .content__inner_box.-logo_header {
margin: -0.5rem 1.5rem 0 1.5rem; margin: -0.5rem 1.5rem 0 1.5rem;
} }
@ -1782,7 +1850,7 @@ footer {
.header__claim ul { .header__claim ul {
display: flex; display: flex;
justify-content: space-between; justify-content: space-around;
margin: 1rem; margin: 1rem;
} }
@ -1804,11 +1872,20 @@ footer {
margin: 0 0.5rem 0.5rem 0.5rem; margin: 0 0.5rem 0.5rem 0.5rem;
} }
.header__claim p, .header__sub_claim p { .header__claim p {
font-size: 1.1rem;
padding-bottom: 0rem;
}
.header__claim h2 {
font-size: 1.2rem;
}
.header__sub_claim p {
font-size: 1rem; font-size: 1rem;
} }
.header__claim h2, .header__sub_claim h2 { .header__sub_claim h2 {
font-size: 1.25rem; font-size: 1.25rem;
} }
@ -1876,34 +1953,59 @@ footer {
} }
.primary_nav__toggle { .primary_nav__toggle {
display: block; height: 4.5rem;
margin: 2.25rem 1rem 0 0; width: 5rem;
display: flex;
flex-direction: column;
justify-content: space-evenly;
align-items: center;
margin: 2.25rem 0 0 0;
} }
.primary_nav__navlist { .primary_nav__navlist {
display: none; display: none;
}
.primary_nav__mobile_navlist {
display: none;
position: absolute; position: absolute;
top: 6.5rem; top: 6.5rem;
right: 0; right: 0;
border-top: 2px solid var(--wtf-nearly-black); border-top: 1px solid var(--wtf-grey);
border-left: 2px solid var(--wtf-nearly-black); border-left: 1px solid var(--wtf-grey);
border-bottom: 2px solid var(--wtf-nearly-black); border-bottom: 1px solid var(--wtf-grey);
background-color: var(--wtf-light-grey); background-color: var(--wtf-light-grey);
opacity: 97%;
box-shadow: 5px 0px 15px 5px rgba(0, 0, 0, 0.25); box-shadow: 5px 0px 15px 5px rgba(0, 0, 0, 0.25);
} }
.primary_nav__navitem { .primary_nav__navitem {
margin: 0; margin: 0;
padding: 1rem 1rem 1rem 1.5rem; padding: 1rem 1rem 0.5rem 1.5rem;
display: block; display: block;
} }
.primary_nav__navlink { .primary_nav__navlink,
color: var(--wtf-nearly-black) .primary_nav__sub_navlink {
color: var(--wtf-nearly-black);
text-decoration: underline;
} }
.primary_nav__navlink:hover { .primary_nav__navlink:hover,
.primary_nav__sub_navlink:hover {
color: var(--wtf-mid-grey); color: var(--wtf-mid-grey);
text-decoration: none;
}
.primary_nav__sub_navlist,
.primary_nav__sub_navlist.-open,
.primary_nav__sub_navlist.-closed {
display: block;
margin: 0.25rem 0 0.75rem 0.75rem;
}
.primary_nav__sub_navitem {
padding: 0.25rem 0.5rem;
} }
/* mobile nav - Ende */ /* mobile nav - Ende */

View File

@ -1,8 +1,22 @@
document.getElementsByClassName('primary_nav__toggle')[0].addEventListener('click', function(){ document.getElementsByClassName('primary_nav__toggle')[0].addEventListener('click', function(){
var nav_list = document.getElementsByClassName('primary_nav__navlist')[0] let mobile_nav_list = document.getElementsByClassName('primary_nav__mobile_navlist')[0]
if (nav_list.style.display === 'block') { if (mobile_nav_list.style.display === 'block') {
nav_list.style.display = 'none'; mobile_nav_list.style.display = 'none';
} else { } else {
nav_list.style.display = 'block'; mobile_nav_list.style.display = 'block';
} }
}); });
let primary_menu_items = document.getElementsByClassName('primary_nav__navitem');
for (let i = 0; i < primary_menu_items.length; i++) {
primary_menu_items[i].addEventListener('click', function(event) {
let dropdown = event.currentTarget.children[1];
if (dropdown.classList.contains('-closed')) {
dropdown.classList.remove('-closed');
dropdown.classList.add('-open');
} else {
dropdown.classList.remove('-open');
dropdown.classList.add('-closed');
}
});
}

View File

@ -1,6 +1,7 @@
{ {
"Was wir tun": { "Was wir tun": {
"href": "/about", "href": "/about",
"slug": "about",
"visible": true, "visible": true,
"list_childs": false, "list_childs": false,
"items": { "items": {
@ -9,8 +10,9 @@
}, },
"Was geht ab?": { "Was geht ab?": {
"href": "/aktuelles", "href": "/aktuelles",
"slug": "aktuelles",
"visible": true, "visible": true,
"list_childs": false, "list_childs": true,
"items": { "items": {
"Blog": "/blog", "Blog": "/blog",
"Podcast": "/podcast" "Podcast": "/podcast"
@ -18,11 +20,11 @@
}, },
"Mitglied werden": { "Mitglied werden": {
"href": "/mitglieder", "href": "/mitglieder",
"slug": "mitglieder",
"visible": true, "visible": true,
"list_childs": false, "list_childs": true,
"items": { "items": {
"Satzung": "/mitglieder/satzung", "Satzung": "/mitglieder/satzung"
"Mitglied werden": "/mitglieder/beitreten"
} }
} }
} }

View File

@ -10,14 +10,65 @@
</div> </div>
<ul class="primary_nav__navlist"> <ul class="primary_nav__navlist">
{% for title, mapping in bag("navigation").items() %}
{% if mapping.visible|default(true) %}
<li id="{{ mapping.slug }}" class="primary_nav__navitem">
{%if not mapping.list_childs %}
<a class="primary_nav__navlink
{% if this._path == mapping.href
or this._path in mapping['items'].values()
-%}-active{% endif %}" href="{{ mapping.href|url }}">
{{ title }}
</a>
{% elif mapping.list_childs %}
<span class="primary_nav__navlink
{% if this._path == mapping.href
or this._path in mapping['items'].values()
or mapping.href == '/aktuelles' and ('blog' in this._path or 'podcast' in this._path)
-%}-active{% endif %}">
{{ title }}
</span>
<ul class="primary_nav__sub_navlist -closed">
<li class="primary_nav__sub_navitem">
<a class="primary_nav__sub_navlink " href="{{ mapping.href|url }}">
{{ title }}
</a>
</li>
{% set sub_menu = mapping['items'].items() %}
{% for sub_title, href in sub_menu %}
<li class="primary_nav__sub_navitem">
<a class="primary_nav__sub_navlink {% if this._path == href %}-active{% endif %}" href="{{ href|url }}">
{{ sub_title }}
</a>
</li>
{% if sub_title == 'Blog' or sub_title == 'Podcast' %}
{% set children = site.get(href).children %}
<ul>
{% for child in children %}
{% if loop.index <= 3 %}
<li class="primary_nav__sub_navitem">
<a class="primary_nav__sub_navlink {% if this._path + '/' == child.url_path %}-active{% endif %}" href="{{ child.url_path }}">
{{ child.title }}
</a>
</li>
{% endif %}
{% endfor %}
</ul>
{% endif %}
{% endfor %}
</ul>
{% endif %}
</li>
{% endif %}
{% endfor %}
</ul>
</nav>
<ul class="primary_nav__mobile_navlist">
{% for title, mapping in bag("navigation").items() %} {% for title, mapping in bag("navigation").items() %}
{% if mapping.visible|default(true) %} {% if mapping.visible|default(true) %}
<li class="primary_nav__navitem"> <li id="{{ mapping.slug }}" class="primary_nav__navitem">
<a class="primary_nav__navlink {% if this._path == mapping.href or <a class="primary_nav__navlink {% if this._path == mapping.href -%}-active{% endif %}" href="{{ mapping.href|url }}">
this._path in mapping['items'].values() or
title == 'Aktuelles' and
('blog' in this._path or 'podcast' in this._path)
%}-active{% endif %}" href="{{ mapping.href|url }}">
{{ title }} {{ title }}
</a> </a>
{% if mapping.list_childs %} {% if mapping.list_childs %}
@ -29,29 +80,19 @@
{{ sub_title }} {{ sub_title }}
</a> </a>
</li> </li>
{% if sub_title == 'Blog' %} {% if sub_title == 'Blog' or sub_title == 'Podcast' %}
{% set children = site.get(href).children %} {% set children = site.get(href).children %}
{% for child in children %} <ul>
{% if loop.index <= 3 %} {% for child in children %}
<li class="primary_nav__sub_navitem"> {% if loop.index <= 3 %}
<a class="primary_nav__sub_navlink {% if this._path + '/' == child.url_path %}-active{% endif %}" href="{{ child.url_path }}"> <li class="primary_nav__sub_navitem">
{{ child.title }} <a class="primary_nav__sub_navlink {% if this._path + '/' == child.url_path %}-active{% endif %}" href="{{ child.url_path }}">
</a> {{ child.title }}
</li> </a>
{% endif %} </li>
{% endfor %} {% endif %}
{% endif %} {% endfor %}
{% if sub_title == 'Podcast' %} </ul>
{% set children = site.get(href).children %}
{% for child in children %}
{% if loop.index <= 3 %}
<li class="primary_nav__sub_navitem">
<a class="primary_nav__sub_navlink {% if this._path + '/' == child.url_path %}-active{% endif %}" href="{{ child.url_path }}">
{{ child.title }}
</a>
</li>
{% endif %}
{% endfor %}
{% endif %} {% endif %}
{% endfor %} {% endfor %}
</ul> </ul>