From e9cb704283a7b2c88cd6344487f5d785cd2beb45 Mon Sep 17 00:00:00 2001 From: Mimi <1119186082@qq.com> Date: Sun, 1 Jan 2023 17:26:36 +0800 Subject: [PATCH] Fix multi-comments & Gemini style --- source/css/_mixins.styl | 20 ++++++++++++++++++++ source/css/_schemes/Gemini/index.styl | 26 ++++++++++---------------- source/js/utils.js | 9 ++++++--- 3 files changed, 36 insertions(+), 19 deletions(-) diff --git a/source/css/_mixins.styl b/source/css/_mixins.styl index d47cca2..e70dd9a 100644 --- a/source/css/_mixins.styl +++ b/source/css/_mixins.styl @@ -249,3 +249,23 @@ button($color) { color: white; } } + +gemini-block() { + background: var(--content-bg-color); + border-radius: $border-radius-inner; + box-shadow: $box-shadow-inner; +} + +gemini-block-not-first() { + border-radius: $border-radius; + box-shadow: $box-shadow; + margin-top: $sidebar-offset; + + +tablet() { + margin-top: $content-tablet-padding; + } + + +mobile() { + margin-top: $content-mobile-padding; + } +} diff --git a/source/css/_schemes/Gemini/index.styl b/source/css/_schemes/Gemini/index.styl index 1724822..c8b6f6f 100644 --- a/source/css/_schemes/Gemini/index.styl +++ b/source/css/_schemes/Gemini/index.styl @@ -24,26 +24,20 @@ // Desktop layout styles. // ================================================== // Post blocks. -.main-inner > { +.main-inner { .sub-menu, .post-block, .tabs-comment, .comments, .pagination { - background: var(--content-bg-color); - border-radius: $border-radius-inner; - box-shadow: $box-shadow-inner; + gemini-block(); + } - &:not(:first-child):not(.sub-menu) { - border-radius: $border-radius; - box-shadow: $box-shadow; - margin-top: $sidebar-offset; - - +tablet() { - margin-top: $content-tablet-padding; - } - - +mobile() { - margin-top: $content-mobile-padding; - } + .post-block:not(:first-child) { + &:not(:first-child) { + gemini-block-not-first(); } } + + .tabs-comment, .comments, .pagination { + gemini-block-not-first(); + } } // Post & Comments blocks. diff --git a/source/js/utils.js b/source/js/utils.js index d14737e..b9cf393 100644 --- a/source/js/utils.js +++ b/source/js/utils.js @@ -175,9 +175,12 @@ NexT.utils = { const tabContent = nav.nextElementSibling; tabContent.style.overflow = 'hidden'; tabContent.style.transition = 'height 1s'; - const prevHeight = parseInt(window.getComputedStyle(tabContent.querySelector('.active')).height.replace('px', ''), 10); - const paddingTop = parseInt(window.getComputedStyle(tabContent.querySelector('.active')).paddingTop.replace('px', ''), 10); - const marginBottom = parseInt(window.getComputedStyle(tabContent.querySelector('.active').firstChild).marginBottom.replace('px', ''), 10); + // Comment system selection tab does not contain .active class. + const activeTab = tabContent.querySelector('.active') || tabContent.firstChild; + // Hight might be `auto`. + const prevHeight = parseInt(window.getComputedStyle(activeTab).height.replace('px', ''), 10) || 0; + const paddingTop = parseInt(window.getComputedStyle(activeTab).paddingTop.replace('px', ''), 10); + const marginBottom = parseInt(window.getComputedStyle(activeTab.firstChild).marginBottom.replace('px', ''), 10); tabContent.style.height = prevHeight + paddingTop + marginBottom + 'px'; // Add & Remove active class on `nav-tabs` & `tab-content`. [...nav.children].forEach(target => {