From 7e3499fbb337dcae380b6056b6d9f2ba043e2718 Mon Sep 17 00:00:00 2001 From: Untone Date: Tue, 9 Jul 2024 12:56:56 +0300 Subject: [PATCH] all-topics-styling-fix --- .../Views/AllTopics/AllTopics.module.scss | 49 ++++---- src/components/Views/AllTopics/AllTopics.tsx | 118 ++++++++---------- src/components/_shared/PageLayout.tsx | 7 +- src/routes/topic/(all-topics).tsx | 3 +- 4 files changed, 81 insertions(+), 96 deletions(-) diff --git a/src/components/Views/AllTopics/AllTopics.module.scss b/src/components/Views/AllTopics/AllTopics.module.scss index cb4bb1d5..fc5ee61f 100644 --- a/src/components/Views/AllTopics/AllTopics.module.scss +++ b/src/components/Views/AllTopics/AllTopics.module.scss @@ -1,37 +1,36 @@ -.allTopicsPage { - .group { - @include font-size(1.6rem); +.group { + @include font-size(1.6rem); - margin: 3em 0 9.6rem; + margin: 3em 0 9.6rem; - @include media-breakpoint-down(sm) { - margin-bottom: 6.4rem; - } - - h2 { - margin-bottom: 3.2rem; - text-transform: capitalize; - - @include media-breakpoint-down(sm) { - margin-bottom: 1.6rem; - } - } - - .topic { - margin-bottom: 2.4rem; - } + @include media-breakpoint-down(sm) { + margin-bottom: 6.4rem; } - .container { - width: auto; + h2 { + margin-bottom: 3.2rem; + text-transform: capitalize; - .search-input { - display: inline-block; - width: 100px !important; + @include media-breakpoint-down(sm) { + margin-bottom: 1.6rem; } } } +.topicTitle { + margin-bottom: 2.4rem; +} + +.container { + width: auto; + + .search-input { + display: inline-block; + width: 100px !important; + } +} + + .loadMoreContainer { margin-top: 48px; text-align: center; diff --git a/src/components/Views/AllTopics/AllTopics.tsx b/src/components/Views/AllTopics/AllTopics.tsx index 08664a59..4e8218c0 100644 --- a/src/components/Views/AllTopics/AllTopics.tsx +++ b/src/components/Views/AllTopics/AllTopics.tsx @@ -7,7 +7,6 @@ import { useLocalize } from '~/context/localize' import { useTopics } from '~/context/topics' import type { Topic } from '~/graphql/schema/core.gen' import { dummyFilter } from '~/lib/dummyFilter' -import { capitalize } from '~/utils/capitalize' import { scrollHandler } from '~/utils/scroll' import { TopicBadge } from '../../Topic/TopicBadge' import styles from './AllTopics.module.scss' @@ -57,10 +56,6 @@ export const AllTopics = (props: Props) => { return keys }) - // limit/offset based pagination aka 'show more' logic - const [limit, setLimit] = createSignal(TOPICS_PER_PAGE) - const showMore = () => setLimit((oldLimit) => oldLimit + TOPICS_PER_PAGE) - // filter const [searchQuery, setSearchQuery] = createSignal('') const [filteredResults, setFilteredResults] = createSignal([]) @@ -94,9 +89,56 @@ export const AllTopics = (props: Props) => { ) + const AllTopicAlphabeticallyHead = () => ( + + ) + const AllTopicAlphabetically = () => ( + + {(letter) => ( +
+

{letter}

+
+
+
+ + {(topic) => ( +
+ {topic.title || topic.slug} + + {topic.stat?.shouts || 0} + +
+ )} +
+
+
+
+
+ )} +
+ ) return ( <> -

{t('Themes and plots')}

}>
@@ -104,76 +146,20 @@ export const AllTopics = (props: Props) => { 0}> - - - - {(letter) => ( -
-

{letter}

-
-
-
- - {(topic) => ( - - )} - -
-
-
-
- )} -
+ +
- - {(topic) => ( - <> - - - )} + + {(topic) => }
- limit() && searchParams?.by !== 'title'}> -
- -
-
diff --git a/src/components/_shared/PageLayout.tsx b/src/components/_shared/PageLayout.tsx index de24c9bb..3b431e54 100644 --- a/src/components/_shared/PageLayout.tsx +++ b/src/components/_shared/PageLayout.tsx @@ -46,7 +46,6 @@ export const PageLayout = (props: PageLayoutProps) => { }) : imageUrl ) - const ogTitle = createMemo(() => t(props.title)) const description = createMemo(() => (props.desc ? t(props.desc) : '')) const keypath = createMemo(() => (props.key || loc?.pathname.split('/')[0]) as keyof typeof ruKeywords) const keywords = createMemo( @@ -58,7 +57,7 @@ export const PageLayout = (props: PageLayoutProps) => { createEffect(() => props.scrollToComments?.(scrollToComments())) return ( <> - {props.title} + {props.article?.title || t(props.title)}
{ - + - +
) => {