From b0fb0b101d800592b98e644e4dc7a7aa1dc441ef Mon Sep 17 00:00:00 2001 From: isUnknown Date: Sat, 6 Apr 2024 11:55:51 +0200 Subject: [PATCH] category.php : don't show year if no article --- assets/css/src/header.css | 9 +++++++-- assets/css/src/html.css | 4 ++++ assets/css/src/tabs.css | 20 ++++++-------------- assets/css/src/variables.css | 3 +++ assets/js/script.js | 7 ++++--- site/snippets/cover.php | 8 ++++++-- site/snippets/tabs.php | 9 +++------ site/templates/category.php | 25 +++++++++++++++++-------- 8 files changed, 50 insertions(+), 35 deletions(-) diff --git a/assets/css/src/header.css b/assets/css/src/header.css index d6e10b7..c0d5005 100644 --- a/assets/css/src/header.css +++ b/assets/css/src/header.css @@ -33,17 +33,22 @@ } .page-cover { + position: relative; box-sizing: border-box; height: 100svh; display: flex; flex-direction: column; justify-content: space-between; - padding-top: 25svh; + padding-top: calc(var(--unit--vertical-relative) * 5); padding-bottom: calc(5 * var(--unit--vertical)); } +.page-cover.open + * { + margin-top: calc(var(--unit--vertical-relative) * 19); +} + #home .page-cover { - padding-top: 30svh; + padding-top: calc(var(--unit--vertical-relative) * 6); } #category .page-cover { diff --git a/assets/css/src/html.css b/assets/css/src/html.css index ad24a9d..ad0cbe8 100644 --- a/assets/css/src/html.css +++ b/assets/css/src/html.css @@ -6,6 +6,10 @@ body { color: var(--color-primary); } +main { + position: relative; +} + hr { height: calc(var(--unit--vertical) / 2); border: none; diff --git a/assets/css/src/tabs.css b/assets/css/src/tabs.css index 36a9ebd..630cbd5 100644 --- a/assets/css/src/tabs.css +++ b/assets/css/src/tabs.css @@ -26,22 +26,18 @@ button.toggle.right.open::before { } #tabs { - position: relative; - margin-top: -25svh; - margin-bottom: 30svh; - transition: margin-top 0.5s ease-in-out; + position: absolute; + width: 100%; z-index: 1; -} - -#tabs.open { - margin-bottom: calc(3 * var(--unit--vertical)); + bottom: calc(var(--unit--vertical-relative) * 2); } .active-tab { - max-height: 65svh; + position: absolute; + max-height: calc(var(--unit--vertical-relative) * 17); overflow: auto; - margin-top: var(--unit--vertical); transition: max-height 0.5s ease-in-out; + padding: var(--unit--vertical) 0; } /* ================= SCROLLBAR ================= */ /* Works on Firefox */ @@ -68,10 +64,6 @@ button.toggle.right.open::before { border: none; } -.page-cover.open .active-tab { - height: calc(100svh - 7.5 * var(--unit--vertical)); -} - .texts__year.short .year__edito { display: -webkit-box; -webkit-box-orient: vertical; diff --git a/assets/css/src/variables.css b/assets/css/src/variables.css index 9cf2456..e75de7e 100644 --- a/assets/css/src/variables.css +++ b/assets/css/src/variables.css @@ -8,6 +8,9 @@ --unit--horizontal: 5vw; --unit--vertical: 1.7rem; + --unit--vertical-relative: calc( + var(--unit--vertical) * var(--window-height-factor) + ); --font-size-s: 0.8rem; --font-size-m: calc(var(--font-size-s) * 1.5); diff --git a/assets/js/script.js b/assets/js/script.js index a9344ad..6d74db0 100644 --- a/assets/js/script.js +++ b/assets/js/script.js @@ -10,7 +10,7 @@ function toggleTab(data, tab) { setTimeout(() => { data.isOpen = false; data.activeTab = ""; - }, 300); + }, 500); } else { data.activeTab = tab; data.isOpen = true; @@ -35,7 +35,7 @@ function setWindowHeightFactor() { const windowHeight = window.innerHeight; const min = 650; const delta = windowHeight - min; - const factor = roundToNearestHalf(delta / 150); + const factor = roundToNearestHalf(delta / 300) + 1; const head = document.querySelector("head"); const style = document.createElement("style"); @@ -44,7 +44,8 @@ function setWindowHeightFactor() { } function roundToNearestHalf(num) { - return Math.round(num * 2) / 2; + const round = Math.round(num * 2) / 2; + return Math.max(round, 0); } setWindowHeightFactor(); diff --git a/site/snippets/cover.php b/site/snippets/cover.php index 02d8f4a..bc24a6f 100644 --- a/site/snippets/cover.php +++ b/site/snippets/cover.php @@ -3,10 +3,14 @@ $isOpen = isset($isOpen) ? $isOpen : false; ?>
title() ?>
-
-tabs() ?> \ No newline at end of file + tabs() ?> + \ No newline at end of file diff --git a/site/snippets/tabs.php b/site/snippets/tabs.php index 6909d09..f5a298d 100644 --- a/site/snippets/tabs.php +++ b/site/snippets/tabs.php @@ -8,10 +8,7 @@ $authorFilter = isset($authorFilter) ? $authorFilter : false; $activeTab = isset($activeTab) ? Str::slug($activeTab) : ''; ?> -