From 236c469c9833f48e32a217d6a50c1a703cfa6605 Mon Sep 17 00:00:00 2001 From: kvakazyambra Date: Wed, 21 Jun 2023 23:32:16 +0300 Subject: [PATCH] Article card feed mode --- src/components/Article/Article.module.scss | 2 +- src/components/Author/AuthorCard.module.scss | 1 - src/components/Author/AuthorCard.tsx | 1 + src/components/Author/Userpic.module.scss | 7 +++ src/components/Author/Userpic.tsx | 4 +- src/components/Feed/ArticleCard.module.scss | 17 +++++- src/components/Feed/ArticleCard.tsx | 61 +++++++++++++++----- src/components/Feed/CardTopic.module.scss | 4 ++ src/components/Feed/CardTopic.tsx | 4 +- src/components/Nav/Header.module.scss | 1 + src/styles/app.scss | 3 - 11 files changed, 81 insertions(+), 24 deletions(-) diff --git a/src/components/Article/Article.module.scss b/src/components/Article/Article.module.scss index b54d2b7f..d7fd82e4 100644 --- a/src/components/Article/Article.module.scss +++ b/src/components/Article/Article.module.scss @@ -1,11 +1,11 @@ h1 { @include font-size(4rem); - line-height: 1.1; margin-top: 0.5em; } h2 { + @include font-size(4rem); line-height: 1.1; } diff --git a/src/components/Author/AuthorCard.module.scss b/src/components/Author/AuthorCard.module.scss index 7c735b7f..bd7d5fbb 100644 --- a/src/components/Author/AuthorCard.module.scss +++ b/src/components/Author/AuthorCard.module.scss @@ -353,7 +353,6 @@ .authorName { @include font-size(1.2rem); - margin-bottom: 0; } diff --git a/src/components/Author/AuthorCard.tsx b/src/components/Author/AuthorCard.tsx index 98e8e807..7fba4cb2 100644 --- a/src/components/Author/AuthorCard.tsx +++ b/src/components/Author/AuthorCard.tsx @@ -105,6 +105,7 @@ export const AuthorCard = (props: AuthorCardProps) => { hasLink={props.hasLink} isBig={props.isAuthorPage} isAuthorsList={props.isAuthorsList} + isFeedMode={props.isFeedMode} class={styles.circlewrap} /> diff --git a/src/components/Author/Userpic.module.scss b/src/components/Author/Userpic.module.scss index de5d1b1b..8e9f37f6 100644 --- a/src/components/Author/Userpic.module.scss +++ b/src/components/Author/Userpic.module.scss @@ -73,3 +73,10 @@ line-height: 6.4rem; } } + +.feedMode { + .userpic { + min-width: 16px; + max-width: 16px; + } +} diff --git a/src/components/Author/Userpic.tsx b/src/components/Author/Userpic.tsx index 88496640..cfcaa941 100644 --- a/src/components/Author/Userpic.tsx +++ b/src/components/Author/Userpic.tsx @@ -9,6 +9,7 @@ interface UserpicProps { isBig?: boolean class?: string isAuthorsList?: boolean + isFeedMode?: boolean } export default (props: UserpicProps) => { @@ -23,7 +24,8 @@ export default (props: UserpicProps) => { class={clsx(styles.circlewrap, props.class)} classList={{ [styles.big]: props.isBig, - [styles.authorsList]: props.isAuthorsList + [styles.authorsList]: props.isAuthorsList, + [styles.feedMode]: props.isFeedMode }} > diff --git a/src/components/Feed/ArticleCard.module.scss b/src/components/Feed/ArticleCard.module.scss index ddbdd474..a2311873 100644 --- a/src/components/Feed/ArticleCard.module.scss +++ b/src/components/Feed/ArticleCard.module.scss @@ -114,11 +114,20 @@ .shoutDetails { display: flex; + margin-bottom: 1rem; +} + +.shoutDetailsFeedMode { + justify-content: space-between; + + .shoutAuthor, + .shoutDate { + @include font-size(1.2rem); + } } .shoutCardTitle { @include font-size(2.2rem); - font-weight: 700; line-height: 1.1; margin-bottom: 0.8rem; @@ -136,11 +145,15 @@ /* stylelint-disable-next-line */ -webkit-box-decoration-break: clone; } + + .shoutCardTitlesContainerFeedMode & { + @include font-size(3.2rem); + line-height: 1.1; + } } .shoutCardSubtitle { @include font-size(1.8rem); - color: #141414; font-weight: 400; line-height: 1.3; diff --git a/src/components/Feed/ArticleCard.tsx b/src/components/Feed/ArticleCard.tsx index 538b0cff..f0970492 100644 --- a/src/components/Feed/ArticleCard.tsx +++ b/src/components/Feed/ArticleCard.tsx @@ -16,6 +16,7 @@ import { getPagePath, openPage } from '@nanostores/router' import { router, useRouter } from '../../stores/router' import { imageProxy } from '../../utils/imageProxy' import { Popover } from '../_shared/Popover' +import { AuthorCard } from '../Author/AuthorCard' interface ArticleCardProps { settings?: { @@ -103,7 +104,7 @@ export const ArticleCard = (props: ArticleCardProps) => { [styles.shoutCardBeside]: props.settings?.isBeside }} > - +
{title @@ -112,7 +113,14 @@ export const ArticleCard = (props: ArticleCardProps) => {
- +
@@ -127,11 +135,16 @@ export const ArticleCard = (props: ArticleCardProps) => { } slug={mainTopic.slug} isFloorImportant={props.settings?.isFloorImportant} + isFeedMode={true} class={clsx(styles.shoutTopic, { [styles.shoutTopicTop]: props.settings.isShort })} /> -
+
{title} @@ -146,22 +159,21 @@ export const ArticleCard = (props: ArticleCardProps) => {
-
+
- {(author, index) => { - let name = author.name - - if (lang() !== 'ru') { - name = name === 'Дискурс' ? 'Discours' : translit(name) - } - + {(author) => { return ( - <> - 0}>, - {name} - + ) }} @@ -174,6 +186,25 @@ export const ArticleCard = (props: ArticleCardProps) => { + +
+ +
+ + + +
+
+
+ {title +
+
+
+
{ return (
{props.title} diff --git a/src/components/Nav/Header.module.scss b/src/components/Nav/Header.module.scss index 97281a59..56d2635c 100644 --- a/src/components/Nav/Header.module.scss +++ b/src/components/Nav/Header.module.scss @@ -370,6 +370,7 @@ } .userpic { + align-items: center; margin-right: 0; img { diff --git a/src/styles/app.scss b/src/styles/app.scss index 821766d7..35be5115 100644 --- a/src/styles/app.scss +++ b/src/styles/app.scss @@ -123,13 +123,11 @@ h2 { h1 { @include font-size(4.8rem); - line-height: 1.1; } h2 { @include font-size(4rem); - line-height: 1.1; margin-bottom: 0.5em; margin-top: 1.5em; @@ -137,7 +135,6 @@ h2 { h3 { @include font-size(3.2rem); - line-height: 1.1; margin-bottom: 0.5em; }