diff --git a/src/components/Article/Article.module.scss b/src/components/Article/Article.module.scss index bea18d66..961d3bf7 100644 --- a/src/components/Article/Article.module.scss +++ b/src/components/Article/Article.module.scss @@ -299,8 +299,9 @@ img { display: flex; justify-content: flex-start; padding: 3rem 0 0; + position: relative; - @include media-breakpoint-down(sm) { + @include media-breakpoint-down(lg) { flex-wrap: wrap; } } @@ -311,11 +312,11 @@ img { align-items: center; font-weight: 500; display: flex; - margin: 0 6% 1em 0; + margin: 0 2rem 1em 0; vertical-align: baseline; cursor: pointer; - @include media-breakpoint-up(sm) { + @include media-breakpoint-up(xl) { margin-right: 3.2rem; } @@ -359,6 +360,14 @@ img { } } +.shoutStatsItemBookmarks { + margin-left: auto; + + @include media-breakpoint-up(lg) { + margin-left: 0; + } +} + .shoutStatsItemInner { cursor: pointer; @@ -382,32 +391,41 @@ img { .shoutStatsItemAdditionalData { color: rgb(0 0 0 / 40%); + cursor: default; font-weight: normal; justify-self: flex-end; - margin-right: 0; - margin-left: auto; white-space: nowrap; - cursor: default; .icon { opacity: 0.4; height: 2rem; } - @include media-breakpoint-down(sm) { - flex: 1 40%; + @include media-breakpoint-down(lg) { + flex: 1 100%; + order: 9; + + .shoutStatsItemAdditionalDataItem { + margin-left: 0; + } } } .shoutStatsItemViews { + color: rgb(0 0 0 / 0.4); cursor: default; + font-weight: normal; + margin-left: auto; + white-space: nowrap; - @include media-breakpoint-down(sm) { - color: rgb(0 0 0 / 40%); + @include media-breakpoint-down(lg) { + bottom: 0; flex: 1 40%; justify-content: end; margin-right: 0; order: 10; + position: absolute; + right: 0; .icon { display: none !important; @@ -416,15 +434,20 @@ img { } .shoutStatsItemLabel { + font-weight: normal; margin-left: 0.3em; +} + +.commentsTextLabel { + display: none; @include media-breakpoint-up(sm) { - display: none; + display: block; } } .shoutStatsItemCount { - @include media-breakpoint-down(sm) { + @include media-breakpoint-down(lg) { display: none; } } @@ -432,7 +455,7 @@ img { .shoutStatsItemAdditionalDataItem { font-weight: normal; display: inline-block; - margin-left: 2rem; + //margin-left: 2rem; margin-right: 0; margin-bottom: 0; cursor: default; @@ -486,8 +509,10 @@ img { } .commentsHeaderWrapper { - display: flex; - justify-content: space-between; + @include media-breakpoint-up(sm) { + display: flex; + justify-content: space-between; + } } .commentsHeader { @@ -623,3 +648,19 @@ a[data-toggle='tooltip'] { font-weight: 700; } } + +.articlePopupOpener { + .iconHover { + display: none; + } + + &:hover { + .icon { + display: none; + } + + .iconHover { + display: inline-block; + } + } +} diff --git a/src/components/Article/Comment/Comment.module.scss b/src/components/Article/Comment/Comment.module.scss index 59c4707c..e16db64f 100644 --- a/src/components/Article/Comment/Comment.module.scss +++ b/src/components/Article/Comment/Comment.module.scss @@ -4,16 +4,17 @@ transition: background-color 0.3s; position: relative; list-style: none; + background: rgb(0 0 0 / 0.1); + + @include media-breakpoint-down(sm) { + padding-right: 0; + } &.isNew { border-radius: 6px; background: rgb(38 56 217 / 5%); } - @include media-breakpoint-down(sm) { - margin-right: -1.2rem; - } - .comment { margin-right: -1rem; @@ -66,6 +67,8 @@ } .commentContent { + padding: 0 1rem 1rem 0; + &:hover { .commentControlReply, .commentControlShare, @@ -76,6 +79,10 @@ opacity: 1; } } + + p:last-child { + margin-bottom: 0; + } } .commentControlReply, diff --git a/src/components/Article/FullArticle.tsx b/src/components/Article/FullArticle.tsx index 5e742829..8eefca00 100644 --- a/src/components/Article/FullArticle.tsx +++ b/src/components/Article/FullArticle.tsx @@ -12,7 +12,7 @@ import { DEFAULT_HEADER_OFFSET, router, useRouter } from '../../stores/router' import { getDescription } from '../../utils/meta' import { TableOfContents } from '../TableOfContents' import { AudioPlayer } from './AudioPlayer' -import { SharePopup } from './SharePopup' +import { getShareUrl, SharePopup } from './SharePopup' import { ShoutRatingControl } from './ShoutRatingControl' import { CommentsTree } from './CommentsTree' import stylesHeader from '../Nav/Header/Header.module.scss' @@ -26,6 +26,7 @@ import { CardTopic } from '../Feed/CardTopic' import { createPopper } from '@popperjs/core' import { AuthorBadge } from '../Author/AuthorBadge' import { getImageUrl } from '../../utils/getImageUrl' +import { FeedArticlePopup } from '../Feed/FeedArticlePopup' type Props = { article: Shout @@ -229,6 +230,8 @@ export const FullArticle = (props: Props) => { }) }) + const [isActionPopupActive, setIsActionPopupActive] = createSignal(false) + return ( <>