372 lines
9.9 KiB
SCSS
372 lines
9.9 KiB
SCSS
// 390x844 – mobile/portrait – (Figma iPhone 13 & 14)
|
||
// 744x1133 – tablet/portrait – (Figma iPad mini 8.3)
|
||
// 1280x832 – desktop small – (Figma MacBook Air)
|
||
|
||
:root {
|
||
--hot-color: oklch(63.79% 0.1823 34.77);
|
||
}
|
||
|
||
$extra-small: 435px;
|
||
$small: 576px;
|
||
$medium: 980px;
|
||
$extra-large: 1280px;
|
||
|
||
.topic-list .topic-list-item-separator {
|
||
display: none;
|
||
}
|
||
|
||
.topic-list > .topic-list-body > .topic-list-item.last-visit {
|
||
border-bottom: 1px solid var(--primary-300);
|
||
&:hover {
|
||
border-color: var(--accent-color);
|
||
}
|
||
}
|
||
|
||
.topic-list-body {
|
||
border: none;
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 1em;
|
||
@include breakpoint(medium) {
|
||
gap: 0.5em;
|
||
}
|
||
}
|
||
|
||
.bulk-select-enabled .topic-list-item {
|
||
grid-template-areas:
|
||
"bulk-select avatar author status status . activity"
|
||
". topic-title topic-title topic-title likes-replies likes-replies category";
|
||
.bulk-select {
|
||
grid-area: bulk-select;
|
||
padding: 0;
|
||
margin: 0;
|
||
align-self: center;
|
||
justify-self: center;
|
||
label {
|
||
margin: 0;
|
||
}
|
||
}
|
||
@media screen and (max-width: $medium) {
|
||
grid-template-columns: 44px min-content min-content auto min-content min-content min-content;
|
||
grid-template-rows: 22px minmax(22px, auto);
|
||
grid-template-areas:
|
||
"bulk-select avatar author status status . activity"
|
||
". topic-title topic-title topic-title . . likes-replies"
|
||
". topic-title topic-title topic-title . . category";
|
||
}
|
||
@media screen and (max-width: $small) {
|
||
grid-template-columns: 25px auto repeat(6, 1fr);
|
||
grid-template-rows: auto auto auto;
|
||
grid-template-areas:
|
||
"bulk-select category-status category-status . . . . activity"
|
||
"topic-title topic-title topic-title topic-title topic-title topic-title topic-title topic-title"
|
||
"avatar author . . . . . likes-replies";
|
||
}
|
||
}
|
||
|
||
body.user-messages-page .topic-list-item {
|
||
.topic-category-status-data {
|
||
display: none;
|
||
}
|
||
grid-template-areas:
|
||
"avatar author status status . . activity"
|
||
". topic-title topic-title topic-title likes-replies likes-replies likes-replies";
|
||
&.excerpt-expanded {
|
||
grid-template-columns: 44px repeat(6, 1fr) auto;
|
||
grid-template-rows: 22px auto auto 30px;
|
||
grid-template-areas:
|
||
"avatar author status status . . . activity"
|
||
"avatar topic-title topic-title topic-title topic-title . . ."
|
||
". excerpt excerpt excerpt excerpt excerpt . ."
|
||
". excerpt excerpt excerpt excerpt excerpt likes-replies likes-replies";
|
||
@media screen and (max-width: $extra-large) {
|
||
grid-template-areas:
|
||
"avatar author status status . . . activity"
|
||
"avatar topic-title topic-title topic-title topic-title . . ."
|
||
". excerpt excerpt excerpt excerpt excerpt . likes-replies"
|
||
". excerpt excerpt excerpt excerpt excerpt . likes-replies";
|
||
}
|
||
}
|
||
@media screen and (max-width: $small) {
|
||
grid-template-columns: 25px auto repeat(6, 1fr);
|
||
grid-template-rows: auto auto;
|
||
grid-template-areas:
|
||
"topic-title topic-title topic-title topic-title topic-title topic-title topic-title activity"
|
||
"avatar author . . . . . likes-replies";
|
||
.topic-excerpt {
|
||
display: none;
|
||
}
|
||
}
|
||
}
|
||
|
||
.topic-list-item {
|
||
text-overflow: ellipsis;
|
||
padding: 0.75em 1rem;
|
||
border: 1px solid var(--primary-300);
|
||
display: grid;
|
||
grid-template-columns: 44px min-content min-content auto min-content min-content min-content;
|
||
grid-template-rows: 22px minmax(22px, auto);
|
||
grid-template-areas:
|
||
"avatar author status status . . activity"
|
||
". topic-title topic-title topic-title likes-replies likes-replies category";
|
||
grid-column-gap: 12px;
|
||
grid-row-gap: 8px;
|
||
border-radius: var(--d-border-radius);
|
||
&.excerpt-expanded {
|
||
grid-template-columns: 44px repeat(6, 1fr) auto;
|
||
grid-template-rows: 22px auto auto 30px;
|
||
grid-template-areas:
|
||
"avatar author status status . . . activity"
|
||
"avatar topic-title topic-title topic-title topic-title . . ."
|
||
". excerpt excerpt excerpt excerpt excerpt . ."
|
||
". excerpt excerpt excerpt excerpt excerpt likes-replies category";
|
||
@media screen and (max-width: $extra-large) {
|
||
grid-template-areas:
|
||
"avatar author status status . . . activity"
|
||
"avatar topic-title topic-title topic-title topic-title . . ."
|
||
". excerpt excerpt excerpt excerpt excerpt . likes-replies"
|
||
". excerpt excerpt excerpt excerpt excerpt . category";
|
||
}
|
||
@media screen and (max-width: $small) {
|
||
grid-template-columns: 25px auto repeat(6, 1fr);
|
||
grid-template-rows: auto auto auto;
|
||
grid-template-areas:
|
||
"category-status category-status category-status . . . . activity"
|
||
"topic-title topic-title topic-title topic-title topic-title topic-title topic-title topic-title"
|
||
"avatar author . . . . . likes-replies";
|
||
.topic-excerpt {
|
||
display: none;
|
||
}
|
||
}
|
||
}
|
||
@media screen and (max-width: $medium) {
|
||
grid-template-columns: 44px min-content min-content auto min-content min-content min-content;
|
||
grid-template-rows: 22px minmax(22px, auto);
|
||
grid-template-areas:
|
||
"avatar author status status . . activity"
|
||
". topic-title topic-title topic-title . . likes-replies"
|
||
". topic-title topic-title topic-title . . category";
|
||
}
|
||
@media screen and (max-width: $small) {
|
||
grid-template-columns: 25px auto repeat(6, 1fr);
|
||
grid-template-rows: auto auto auto;
|
||
grid-template-areas:
|
||
"category-status category-status category-status . . . . activity"
|
||
"topic-title topic-title topic-title topic-title topic-title topic-title topic-title topic-title"
|
||
"avatar author . . . . . likes-replies";
|
||
}
|
||
@include breakpoint(medium) {
|
||
border: none;
|
||
border-bottom: 1px solid var(--primary-200);
|
||
}
|
||
|
||
// display contents
|
||
td.main-link,
|
||
td.posters,
|
||
td.posts,
|
||
td.views,
|
||
td.activity {
|
||
display: contents;
|
||
}
|
||
|
||
td.num.posts a {
|
||
padding: 0;
|
||
}
|
||
|
||
// avatar & author
|
||
.topic-author-avatar-data {
|
||
grid-area: avatar;
|
||
margin: 0;
|
||
}
|
||
.topic-author-avatar img.avatar {
|
||
width: 44px;
|
||
height: 44px;
|
||
border-radius: var(--d-border-radius);
|
||
@media screen and (max-width: $small) {
|
||
width: 25px;
|
||
height: 25px;
|
||
}
|
||
}
|
||
td.topic-author-data {
|
||
grid-area: author;
|
||
display: flex;
|
||
gap: 0.5em;
|
||
align-items: center;
|
||
}
|
||
.topic-author-data .topic-author {
|
||
color: var(--primary-500);
|
||
}
|
||
|
||
// status
|
||
.topic-status-card {
|
||
display: flex;
|
||
flex-direction: row;
|
||
gap: 4px;
|
||
align-items: center;
|
||
padding: 0 6px;
|
||
font-size: var(--font-down-2);
|
||
font-weight: 600;
|
||
border-radius: var(--d-border-radius);
|
||
border: 1px solid var(--status-color);
|
||
color: var(--status-color);
|
||
height: min-content;
|
||
grid-area: status;
|
||
width: min-content;
|
||
@media screen and (max-width: $small) {
|
||
height: calc(100% - 2px);
|
||
}
|
||
svg {
|
||
font-size: var(--font-down-1);
|
||
color: var(--status-color);
|
||
}
|
||
}
|
||
|
||
.topic-status-card.--bookmark {
|
||
display: none;
|
||
}
|
||
.topic-status-card.--pinned,
|
||
.topic-status-card.--unpinned {
|
||
--status-color: var(--primary-500);
|
||
cursor: pointer;
|
||
background-color: transparent;
|
||
line-height: unset;
|
||
}
|
||
.topic-status-card.--hot {
|
||
--status-color: var(--hot-color);
|
||
}
|
||
|
||
// title
|
||
td.main-link .link-top-line {
|
||
font-size: var(--font-0);
|
||
grid-area: topic-title;
|
||
font-weight: 500;
|
||
}
|
||
|
||
.link-top-line .event-date {
|
||
font-size: var(--font-down-3);
|
||
}
|
||
|
||
td.main-link a.topic-status {
|
||
display: none;
|
||
}
|
||
|
||
td.main-link .link-top-line a.raw-topic-link {
|
||
padding: 0;
|
||
}
|
||
|
||
.topic-post-badges .badge-notification.unread-posts {
|
||
background-color: var(--tertiary);
|
||
color: var(--tertiary);
|
||
overflow: hidden;
|
||
height: 8px;
|
||
width: 8px;
|
||
padding: 0;
|
||
top: -2px;
|
||
min-width: unset;
|
||
}
|
||
|
||
// excerpt
|
||
.topic-excerpt {
|
||
grid-area: excerpt;
|
||
margin: 0;
|
||
font-size: var(--font-down-2);
|
||
}
|
||
|
||
// timestamp
|
||
td.activity .post-activity {
|
||
grid-area: activity;
|
||
font-size: var(--font-down-1);
|
||
color: var(--primary-500);
|
||
margin-left: auto;
|
||
padding: 0;
|
||
}
|
||
|
||
// metadata
|
||
// metadata - category
|
||
td.main-link .link-bottom-line {
|
||
display: none;
|
||
}
|
||
|
||
td.topic-category-status-data {
|
||
display: contents;
|
||
@media screen and (max-width: $small) {
|
||
grid-area: category-status;
|
||
display: flex;
|
||
gap: 0.5em;
|
||
align-items: center;
|
||
}
|
||
}
|
||
td.topic-category-status-data .badge-category__wrapper {
|
||
grid-area: category;
|
||
}
|
||
|
||
td.topic-category-status-data .badge-category__wrapper {
|
||
overflow: unset;
|
||
border-radius: var(--d-border-radius);
|
||
padding: 6px;
|
||
align-self: flex-end;
|
||
background-color: light-dark(
|
||
oklch(from var(--category-badge-color) 97% calc(c * 0.3) h),
|
||
oklch(from var(--category-badge-color) 45% calc(c * 0.5) h)
|
||
);
|
||
|
||
@media screen and (max-width: $small) {
|
||
padding: 2px 6px;
|
||
}
|
||
|
||
.badge-category__name {
|
||
color: light-dark(
|
||
oklch(from var(--category-badge-color) 20% calc(c * 1) h),
|
||
oklch(from var(--category-badge-color) 100% calc(c * 0.9) h)
|
||
);
|
||
}
|
||
}
|
||
td.main-link .discourse-tags {
|
||
display: none;
|
||
}
|
||
|
||
// metadata - likes and replies
|
||
td.posts .badge-posts {
|
||
grid-area: replies;
|
||
align-self: center;
|
||
font-weight: normal;
|
||
}
|
||
|
||
td.topic-likes-replies-data {
|
||
grid-area: likes-replies;
|
||
display: flex;
|
||
flex-direction: row;
|
||
gap: 0.5em;
|
||
justify-content: flex-end;
|
||
height: min-content;
|
||
align-self: flex-end;
|
||
padding-bottom: 4px;
|
||
}
|
||
.topic-likes-replies-data .topic-likes,
|
||
.topic-likes-replies-data .topic-replies {
|
||
display: flex;
|
||
flex-direction: row;
|
||
gap: 0.5em;
|
||
align-items: center;
|
||
color: var(--primary-500);
|
||
svg {
|
||
color: var(--primary-600);
|
||
}
|
||
}
|
||
}
|
||
|
||
.topic-list-header {
|
||
display: none;
|
||
}
|
||
|
||
.topic-list-item {
|
||
background: var(--d-content-background);
|
||
box-shadow: 0px 0px 26px 1px var(--topic-card-shadow);
|
||
&:hover {
|
||
.discourse-no-touch & {
|
||
border-color: var(--accent-color);
|
||
background: var(--d-content-background);
|
||
}
|
||
}
|
||
}
|