From 516784943951e41069beb8a2ed5755367314015d Mon Sep 17 00:00:00 2001 From: 4-dash <120916864+4-dash@users.noreply.github.com> Date: Sun, 15 Feb 2026 16:45:54 +0100 Subject: [PATCH 01/54] header and structure change --- media/img/d120_logo.png | Bin 6982 -> 0 bytes media/img/d120_logo.svg | 171 ++++++++ media/img/tu_da_logo.png | Bin 11880 -> 0 bytes media/img/tu_da_logo.svg | 385 ++++++++++++++++++ media/style/colors.css | 14 + media/{ => style}/custom.css | 58 +-- media/style/header.css | 120 ++++++ media/{ => style}/ranking.css | 0 media/{ => style}/tutoren.css | 0 media/theme-button.js | 11 + src/templates/d120/header.html | 88 ++-- src/templates/d120_base.html | 74 ++-- .../formtools/wizard/zusammenfassung.html | 2 +- 13 files changed, 807 insertions(+), 116 deletions(-) delete mode 100644 media/img/d120_logo.png create mode 100644 media/img/d120_logo.svg delete mode 100644 media/img/tu_da_logo.png create mode 100644 media/img/tu_da_logo.svg create mode 100644 media/style/colors.css rename media/{ => style}/custom.css (82%) create mode 100644 media/style/header.css rename media/{ => style}/ranking.css (100%) rename media/{ => style}/tutoren.css (100%) create mode 100644 media/theme-button.js diff --git a/media/img/d120_logo.png b/media/img/d120_logo.png deleted file mode 100644 index 6547630abda73e9a31fa585f64e2916756b25335..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6982 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 C?zcPu diff --git a/media/img/d120_logo.svg b/media/img/d120_logo.svg new file mode 100644 index 00000000..0f07b1e2 --- /dev/null +++ b/media/img/d120_logo.svg @@ -0,0 +1,171 @@ + + + + diff --git a/media/img/tu_da_logo.png b/media/img/tu_da_logo.png deleted file mode 100644 index cb91b732184589b606158f3d2c47df941c64f68b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11880 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/style/colors.css b/media/style/colors.css new file mode 100644 index 00000000..17bde5ac --- /dev/null +++ b/media/style/colors.css @@ -0,0 +1,14 @@ +:root, .dark +{ + --main-theme-color: #e0e0e0; + --main-theme-color-highlighted: #00d061; + --main-background-color: #181818; + --link-hover-color: #2c2c2c; +} + +.light +{ + --main-theme-color: #181818; + --main-background-color: #fff; + --link-hover-color: #128341; +} \ No newline at end of file diff --git a/media/custom.css b/media/style/custom.css similarity index 82% rename from media/custom.css rename to media/style/custom.css index 889abbcc..679a4187 100644 --- a/media/custom.css +++ b/media/style/custom.css @@ -1,3 +1,5 @@ +@import url('colors.css'); + body { font-family: 'Libre Franklin', Helvetica, Arial, sans-serif; font-size: 15px; @@ -11,9 +13,19 @@ body { body.cke_editable { margin: 8px; } + + +a { + text-decoration: none; + color: var(--main-theme-color); +} + a:hover { - color: #111111; + text-decoration: underline; + background-color: var(--link-hover-color); } + + footer { background-color: #ecf0f1; color: #7f8c8d; @@ -67,11 +79,6 @@ footer .row { margin-bottom: 25px; margin-right: 25px; } -#header img { - height: 100px; - margin-top: 25px; - margin-bottom: 25px; -} #content, #sidebar { margin-top: 35px; @@ -84,18 +91,7 @@ footer .row { #content { text-align: justify; } -.navbar-logos { - padding: 0px; -} -.navbar-nav li a { - color: #f5f5f5; - font-size: 18px; -} -.navbar-nav li a:hover { - background-color: #777777; - background-color: rgba(0, 0, 0, .5); - color: #f5f5f5; -} + .breadcrumb { background-color: inherit; padding: 0; @@ -166,13 +162,6 @@ li.sidebar-active { display: none; } } -.header-navbar { - padding: 0; -} -.header-navbar-link { - line-height: 25px; - padding: 15px !important; -} li.headline:hover { background-color: transparent; } @@ -187,21 +176,7 @@ li.headline:hover { padding-bottom: 15px; margin-top: 25px; } -.navbar-toggler { - float: none; - border-color: #999999; -} -.navbar-toggler-icon { - color: #999999; -} -.navbar-collapse { - padding: 0; -} -.navbar { - border-radius: 0; - border: 0; - margin-bottom: 0; -} + .additionalMargin { margin-bottom: 25px; } @@ -217,9 +192,6 @@ li.headline:hover { .announcement:empty { display: none; } -.navbar-default .navbar-nav > li > a:focus { - color: #ffffff; -} h1,h2,h3,h4,h5 { text-align:left; } diff --git a/media/style/header.css b/media/style/header.css new file mode 100644 index 00000000..b57867ff --- /dev/null +++ b/media/style/header.css @@ -0,0 +1,120 @@ +@import url('colors.css'); + +header { + width: 100%; + position: sticky; + top: 0; + z-index: 2; + border-bottom: 1px solid #444; + border-top: 14px solid #fff; + background-color: var(--main-background-color); + color: var(--main-theme-color); +} + +.header-logo { + height: 80px; +} + +/* navbar and logo container */ +.header-top-container { + display: flex; + flex-direction: row; + justify-content: space-around; + align-items: center; + background-color: var(--main-background-color); +} + +.header-side-container { + display: flex; + flex-direction: row; + justify-content: space-around; + align-items: center; + gap: calc(10px + 1vw); +} + +.navigation { + display: flex; + flex-direction: row; +} + +.navigation a { + color: var(--main-theme-color-highlighted); + padding: 1rem 1.5rem; + font-size: 1rem; + line-height: 1.2; +} + + + +.header-navbar { + padding: 0; + margin-top: 3px; + border-top: 1px solid #fff; + background-color: var(--main-background-color); +} + +.header-navbar-link { + line-height: 25px; + padding: 15px !important; +} + +.header-button { + background-color: var(--main-background-color); + color: var(--main-theme-color); + border: none; +} + +/* .nav-button:hover { + background-color: #000; +} + + +.navbar-default .navbar-nav > li > a:focus { + color: #ffffff; +} + +.navbar-logos { + padding: 0px; +} +.navbar-nav li a { + color: #f5f5f5; + font-size: 18px; +} +.navbar-nav li a:hover { + background-color: #777777; + background-color: rgba(0, 0, 0, .5); + color: #f5f5f5; +} + +.navbar-toggler { + float: none; + border-color: #999999; +} +.navbar-toggler-icon { + color: #999999; +} +.navbar-collapse { + padding: 0; +} +.navbar { + border-radius: 0; + border: 0; + margin-bottom: 0; +} + */ + +@keyframes hue { + from { + filter: brightness(4) hue-rotate(0deg); + } + to { + filter: brightness(4) hue-rotate(360deg); + } +} + +#mainLogo { + animation: 16s linear 0s infinite normal both running hue; + background-color: transparent; +} + +/* border-bottom: 1px solid #fff; for a d120 logo */ \ No newline at end of file diff --git a/media/ranking.css b/media/style/ranking.css similarity index 100% rename from media/ranking.css rename to media/style/ranking.css diff --git a/media/tutoren.css b/media/style/tutoren.css similarity index 100% rename from media/tutoren.css rename to media/style/tutoren.css diff --git a/media/theme-button.js b/media/theme-button.js new file mode 100644 index 00000000..acc29ba9 --- /dev/null +++ b/media/theme-button.js @@ -0,0 +1,11 @@ +const btn = document.getElementById('theme-button'); + +btn.addEventListener('click', () => { + const body = document.body; + + if (body.classList.contains('light')) { + body.classList.replace('light', 'dark'); + } else { + body.classList.replace('dark', 'light'); + } +}); \ No newline at end of file diff --git a/src/templates/d120/header.html b/src/templates/d120/header.html index c2109278..4a15040c 100644 --- a/src/templates/d120/header.html +++ b/src/templates/d120/header.html @@ -1,43 +1,61 @@ {% load i18n %} {% load static %} {% load translate_url %} - - + + + + + +
+ + + + + +
- + + + + + diff --git a/src/templates/d120_base.html b/src/templates/d120_base.html index c89dc82d..4ec47c7e 100644 --- a/src/templates/d120_base.html +++ b/src/templates/d120_base.html @@ -9,52 +9,52 @@ - - - - {% block extra_header %}{% endblock %} + + + + {% block extra_header %}{% endblock %} - + +
+ {% include 'd120/header.html' %} +
- {% include 'd120/header.html' %} -
-
-
- {% include 'd120/sidebar.html' %} -
-
+
+
+
+
+ {% include 'd120/sidebar.html' %} +
+
- {% if request.session.orig_uid %} - - {% endif %} {% if messages %} -
    - {% for message in messages %} -
  • {{ message }}
  • - {% endfor %} -
- {% endif %} {% block content %}{% endblock %} -
{% block backlink %}{% endblock %}
-
+
+ +
{% include 'd120/footer.html' %} +
+ {% block javascript_block %} - - - + + + + + {% endblock %} diff --git a/src/templates/formtools/wizard/zusammenfassung.html b/src/templates/formtools/wizard/zusammenfassung.html index 04465ce7..5a54bc93 100644 --- a/src/templates/formtools/wizard/zusammenfassung.html +++ b/src/templates/formtools/wizard/zusammenfassung.html @@ -2,7 +2,7 @@ {% load i18n %} {% block child_extra_header %} - + From 997c2b6609ba1a8f027c683ec0560940e09a620f Mon Sep 17 00:00:00 2001 From: 4-dash <120916864+4-dash@users.noreply.github.com> Date: Sun, 15 Feb 2026 16:59:45 +0100 Subject: [PATCH 02/54] fix --- media/style/colors.css | 1 + media/style/header.css | 42 +++------------------------------- src/templates/d120/header.html | 4 ++-- 3 files changed, 6 insertions(+), 41 deletions(-) diff --git a/media/style/colors.css b/media/style/colors.css index 17bde5ac..ad2f44c3 100644 --- a/media/style/colors.css +++ b/media/style/colors.css @@ -9,6 +9,7 @@ .light { --main-theme-color: #181818; + --main-theme-color-highlighted: #8e00d0; --main-background-color: #fff; --link-hover-color: #128341; } \ No newline at end of file diff --git a/media/style/header.css b/media/style/header.css index b57867ff..a26e0c15 100644 --- a/media/style/header.css +++ b/media/style/header.css @@ -64,44 +64,6 @@ header { border: none; } -/* .nav-button:hover { - background-color: #000; -} - - -.navbar-default .navbar-nav > li > a:focus { - color: #ffffff; -} - -.navbar-logos { - padding: 0px; -} -.navbar-nav li a { - color: #f5f5f5; - font-size: 18px; -} -.navbar-nav li a:hover { - background-color: #777777; - background-color: rgba(0, 0, 0, .5); - color: #f5f5f5; -} - -.navbar-toggler { - float: none; - border-color: #999999; -} -.navbar-toggler-icon { - color: #999999; -} -.navbar-collapse { - padding: 0; -} -.navbar { - border-radius: 0; - border: 0; - margin-bottom: 0; -} - */ @keyframes hue { from { @@ -117,4 +79,6 @@ header { background-color: transparent; } -/* border-bottom: 1px solid #fff; for a d120 logo */ \ No newline at end of file +#mainLogo:hover { + background-color: transparent; +} diff --git a/src/templates/d120/header.html b/src/templates/d120/header.html index 4a15040c..dda888c9 100644 --- a/src/templates/d120/header.html +++ b/src/templates/d120/header.html @@ -6,8 +6,8 @@
From 6f8e5506da61329075e996d3baea676262e96a56 Mon Sep 17 00:00:00 2001 From: 4-dash <120916864+4-dash@users.noreply.github.com> Date: Sun, 15 Feb 2026 17:13:51 +0100 Subject: [PATCH 03/54] footer fix --- media/style/colors.css | 4 ++++ media/style/custom.css | 41 -------------------------------- media/style/footer.css | 43 ++++++++++++++++++++++++++++++++++ src/templates/d120/footer.html | 8 +++---- src/templates/d120_base.html | 1 + 5 files changed, 52 insertions(+), 45 deletions(-) create mode 100644 media/style/footer.css diff --git a/media/style/colors.css b/media/style/colors.css index ad2f44c3..fe382f94 100644 --- a/media/style/colors.css +++ b/media/style/colors.css @@ -4,6 +4,8 @@ --main-theme-color-highlighted: #00d061; --main-background-color: #181818; --link-hover-color: #2c2c2c; + --footer-bg-color: #666; + --footer-color: #ddd; } .light @@ -12,4 +14,6 @@ --main-theme-color-highlighted: #8e00d0; --main-background-color: #fff; --link-hover-color: #128341; + --footer-bg-color: #ddd; + --footer-color: #666; } \ No newline at end of file diff --git a/media/style/custom.css b/media/style/custom.css index 679a4187..2ea43893 100644 --- a/media/style/custom.css +++ b/media/style/custom.css @@ -26,47 +26,6 @@ a:hover { } -footer { - background-color: #ecf0f1; - color: #7f8c8d; - margin-top: auto; -} -footer p { - line-height: 20px; - margin: 10px; -} -footer a { - color: #9aa4af; - font-weight: 700; -} -footer i { - padding-right: 10px; -} -footer .row { - padding: 10px 0; -} -.footer-column { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - padding: 0.5em 0; -} -.footer-group { - display: flex; - flex-direction: row; - justify-content: center; - margin: 0.5em 0; - text-align: center; -} -.footer-group + .footer-group:not(:last-child) { - margin: 0.5em 0; -} -@media(max-width: 470px) { -.footer-group { - flex-direction: column; -} -} .right { float: right; margin-top: 25px; diff --git a/media/style/footer.css b/media/style/footer.css new file mode 100644 index 00000000..f0b168e5 --- /dev/null +++ b/media/style/footer.css @@ -0,0 +1,43 @@ +@import url('colors.css'); + +footer { + background-color: var(--footer-bg-color); + color: var(--footer-color); + margin-top: auto; +} +footer p { + line-height: 20px; + margin: 10px; +} +footer a { + font-weight: 700; + color: inherit; +} +footer i { + padding-right: 10px; +} +footer .row { + padding: 10px 0; +} +.footer-column { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding: 0.5em 0; +} +.footer-group { + display: flex; + flex-direction: row; + justify-content: center; + margin: 0.5em 0; + text-align: center; +} +.footer-group + .footer-group:not(:last-child) { + margin: 0.5em 0; +} +@media(max-width: 470px) { +.footer-group { + flex-direction: column; +} +} \ No newline at end of file diff --git a/src/templates/d120/footer.html b/src/templates/d120/footer.html index ff4fc251..4df58b8e 100644 --- a/src/templates/d120/footer.html +++ b/src/templates/d120/footer.html @@ -1,19 +1,19 @@ {% load i18n %}