Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ab76fd345d | |||
| 3777405f0b | |||
| e18b9e89eb | |||
| 9381e56c47 | |||
| 9a8a9d4ad3 | |||
| 91f3cc3ebb | |||
| 7d53fe08ce | |||
| 328b8cbab5 | |||
| ef2925a663 | |||
| 41ee5a5358 | |||
| f406bfbedf | |||
| af4c0c540f | |||
| b6d11ddb9b | |||
| 257032dc01 | |||
| 229ad5d6bd | |||
| 076263c7f5 | |||
| 8e841a4b2e | |||
| a69c5216ed | |||
| 447ed0f27c | |||
| 353b955eed | |||
| 720f0bb127 |
+29
-12
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "next-gen",
|
"name": "Horizon Theme",
|
||||||
"authors": "Design Team",
|
"authors": "Design Team",
|
||||||
"about_url": "TODO: Put your theme's public repo or Meta topic URL here",
|
"about_url": "TODO: Put your theme's public repo or Meta topic URL here",
|
||||||
"license_url": "TODO: Put your theme's LICENSE URL here",
|
"license_url": "TODO: Put your theme's LICENSE URL here",
|
||||||
@@ -8,19 +8,36 @@
|
|||||||
"minimum_discourse_version": null,
|
"minimum_discourse_version": null,
|
||||||
"maximum_discourse_version": null,
|
"maximum_discourse_version": null,
|
||||||
"assets": {},
|
"assets": {},
|
||||||
"modifiers": {},
|
"modifiers": {
|
||||||
|
"svg_icons": ["fire"]
|
||||||
|
},
|
||||||
|
"components": [
|
||||||
|
"https://github.com/discourse/discourse-sidebar-new-topic-button.git",
|
||||||
|
"https://github.com/discourse/discourse-search-banner.git",
|
||||||
|
"https://github.com/discourse/discourse-full-width-component.git"
|
||||||
|
],
|
||||||
"color_schemes": {
|
"color_schemes": {
|
||||||
"next_gen": {
|
"Horizon": {
|
||||||
"primary": "1A1A1A",
|
"primary": "1A1A1A",
|
||||||
"secondary": "F5F8FF",
|
"primary-low": "ebecf9",
|
||||||
"header_background": "F5F8FF",
|
"primary-500": "8591ad",
|
||||||
"tertiary": "595bca"
|
"secondary": "ffffff",
|
||||||
|
"header_background": "f5f8ff",
|
||||||
|
"tertiary": "313270",
|
||||||
|
"tertiary-low": "d8d9f3",
|
||||||
|
"tertiary-50": "f5f8ff",
|
||||||
|
"selected": "d8d9f3",
|
||||||
|
"hover": "ebebf9"
|
||||||
},
|
},
|
||||||
"next_gen_dark": {
|
"Horizon Dark": {
|
||||||
"primary": "F5F8FF",
|
"primary": "F1EFF9",
|
||||||
"secondary": "1A1A1A",
|
"secondary": "1e1a36",
|
||||||
"header_background": "1A1A1A",
|
"header_background": "00091d",
|
||||||
"tertiary": "595bca"
|
"header_primary": "F5F8FF",
|
||||||
|
"tertiary": "6465ab",
|
||||||
|
"tertiary-50": "131124",
|
||||||
|
"selected": "1e1a36",
|
||||||
|
"hover": "131124"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-8
@@ -1,10 +1,14 @@
|
|||||||
@import "variables";
|
|
||||||
@import "header";
|
|
||||||
@import "sidebar";
|
|
||||||
@import "main";
|
|
||||||
@import "topic-cards";
|
|
||||||
@import "search-banner";
|
|
||||||
@import "nav-pills";
|
|
||||||
@import "buttons";
|
@import "buttons";
|
||||||
@import "chat";
|
@import "header";
|
||||||
@import "hiddenstuff";
|
@import "hiddenstuff";
|
||||||
|
@import "main";
|
||||||
|
@import "nav-pills";
|
||||||
|
@import "search-banner";
|
||||||
|
@import "sidebar";
|
||||||
|
@import "topic";
|
||||||
|
@import "topic-cards";
|
||||||
|
@import "variables";
|
||||||
|
@import "box-view";
|
||||||
|
@import "chat";
|
||||||
|
@import "misc";
|
||||||
|
@import "mobile-stuff";
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
import { apiInitializer } from "discourse/lib/api";
|
||||||
|
import ExperimentalScreen from "../components/experimental-screen";
|
||||||
|
|
||||||
|
export default apiInitializer("1.8.0", (api) => {
|
||||||
|
api.renderInOutlet("above-main-container", ExperimentalScreen);
|
||||||
|
});
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import { apiInitializer } from "discourse/lib/api";
|
|
||||||
|
|
||||||
export default apiInitializer("1.8.0", (/* api */) => {
|
|
||||||
// console.log("hello world from api initializer!");
|
|
||||||
});
|
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
import avatar from "discourse/helpers/avatar";
|
||||||
|
|
||||||
|
const TopicAuthorAvatarColumn = <template>
|
||||||
|
<span class="topic-author-avatar">
|
||||||
|
{{avatar @topic.creator imageSize="large"}}
|
||||||
|
</span>
|
||||||
|
</template>;
|
||||||
|
|
||||||
|
export default TopicAuthorAvatarColumn;
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
const TopicAuthorColumn = <template>
|
||||||
|
<span class="topic-author">@{{@topic.creator.username}}</span>
|
||||||
|
</template>;
|
||||||
|
|
||||||
|
export default TopicAuthorColumn;
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
import { categoryLinkHTML } from "discourse/helpers/category-link";
|
||||||
|
|
||||||
|
const TopicCategoryColumn = <template>
|
||||||
|
{{categoryLinkHTML @topic.category}}
|
||||||
|
</template>;
|
||||||
|
|
||||||
|
export default TopicCategoryColumn;
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
import icon from "discourse/helpers/d-icon";
|
||||||
|
|
||||||
|
const TopicLikesColumn = <template>
|
||||||
|
{{#if @topic.like_count}}
|
||||||
|
<span class="topic-likes">{{icon "heart"}}{{@topic.like_count}}</span>
|
||||||
|
{{/if}}
|
||||||
|
</template>;
|
||||||
|
|
||||||
|
export default TopicLikesColumn;
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
import icon from "discourse/helpers/d-icon";
|
||||||
|
|
||||||
|
const TopicRepliesColumn = <template>
|
||||||
|
{{#if @topic.posts_count}}
|
||||||
|
<span class="topic-replies">{{icon "reply"}}{{@topic.posts_count}}</span>
|
||||||
|
{{/if}}
|
||||||
|
</template>;
|
||||||
|
|
||||||
|
export default TopicRepliesColumn;
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
import Component from "@glimmer/component";
|
||||||
|
import { on } from "@ember/modifier";
|
||||||
|
import { action } from "@ember/object";
|
||||||
|
import { service } from "@ember/service";
|
||||||
|
import { and } from "truth-helpers";
|
||||||
|
import icon from "discourse/helpers/d-icon";
|
||||||
|
import { i18n } from "discourse-i18n";
|
||||||
|
|
||||||
|
export default class TopicStatusColumn extends Component {
|
||||||
|
@service currentUser;
|
||||||
|
@service siteSettings;
|
||||||
|
|
||||||
|
get canAct() {
|
||||||
|
return this.currentUser && !this.args.disableActions;
|
||||||
|
}
|
||||||
|
|
||||||
|
get statusClass() {
|
||||||
|
let classes = ["topic-status-card"];
|
||||||
|
if (this.args.topic.bookmarked) {
|
||||||
|
classes.push("--bookmark");
|
||||||
|
} else if (this.args.topic.closed && this.args.topic.archived) {
|
||||||
|
classes.push("--locked --archived");
|
||||||
|
} else if (this.args.topic.closed) {
|
||||||
|
classes.push("--locked");
|
||||||
|
} else if (this.args.topic.archived) {
|
||||||
|
classes.push("--archived");
|
||||||
|
} else if (this.args.topic.is_warning) {
|
||||||
|
classes.push("--warning");
|
||||||
|
} else if (
|
||||||
|
this.args.showPrivateMessageIcon &&
|
||||||
|
this.args.topic.isPrivateMessage
|
||||||
|
) {
|
||||||
|
classes.push("--private-message");
|
||||||
|
} else if (this.args.topic.pinned) {
|
||||||
|
classes.push("--pinned");
|
||||||
|
} else if (this.args.topic.unpinned) {
|
||||||
|
classes.push("--unpinned");
|
||||||
|
}
|
||||||
|
return classes.join(" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
get heatMap() {
|
||||||
|
return this.args.topic.views > this.siteSettings.topic_views_heat_medium;
|
||||||
|
}
|
||||||
|
|
||||||
|
@action
|
||||||
|
togglePinned(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
this.args.topic.togglePinnedForUser();
|
||||||
|
}
|
||||||
|
|
||||||
|
<template>
|
||||||
|
{{#if @topic.bookmarked}}
|
||||||
|
<span class={{this.statusClass}}>{{icon "bookmark"}}{{i18n
|
||||||
|
(themePrefix "topic_bookmarked")
|
||||||
|
}}</span>
|
||||||
|
{{/if}}
|
||||||
|
{{#if (and @topic.closed @topic.archived)~}}
|
||||||
|
<span class={{this.statusClass}}>{{i18n
|
||||||
|
(themePrefix "topic_closed_and_archived")
|
||||||
|
}}</span>
|
||||||
|
{{else if @topic.closed}}
|
||||||
|
<span class={{this.statusClass}}>{{i18n
|
||||||
|
(themePrefix "topic_closed")
|
||||||
|
}}</span>
|
||||||
|
{{else if @topic.archived}}
|
||||||
|
<span class={{this.statusClass}}>{{i18n
|
||||||
|
(themePrefix "topic_archived")
|
||||||
|
}}</span>
|
||||||
|
{{/if}}
|
||||||
|
{{#if @topic.is_warning}}
|
||||||
|
<span class={{this.statusClass}}>{{i18n
|
||||||
|
(themePrefix "topic_warning")
|
||||||
|
}}</span>
|
||||||
|
{{else if (and @showPrivateMessageIcon @topic.isPrivateMessage)}}
|
||||||
|
<span class={{this.statusClass}}>{{i18n
|
||||||
|
(themePrefix "topic_personal_message")
|
||||||
|
}}</span>
|
||||||
|
{{/if}}
|
||||||
|
{{#if @topic.pinned}}
|
||||||
|
{{#if this.canAct}}
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
{{on "click" this.togglePinned}}
|
||||||
|
class={{this.statusClass}}
|
||||||
|
>{{icon "thumbtack"}}{{i18n (themePrefix "topic_pinned")}}</button>
|
||||||
|
{{else}}
|
||||||
|
<span class={{this.statusClass}}>{{icon "thumbtack"}}{{i18n
|
||||||
|
(themePrefix "topic_pinned")
|
||||||
|
}}</span>
|
||||||
|
{{/if}}
|
||||||
|
{{else if @topic.unpinned}}
|
||||||
|
{{#if this.canAct}}
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
{{on "click" this.togglePinned}}
|
||||||
|
class={{this.statusClass}}
|
||||||
|
>{{icon "thumbtack" class="unpinned"}}{{i18n
|
||||||
|
(themePrefix "topic_unpinned")
|
||||||
|
}}</button>
|
||||||
|
{{else}}
|
||||||
|
<span class={{this.statusClass}}>{{icon
|
||||||
|
"thumbtack"
|
||||||
|
class="unpinned"
|
||||||
|
}}{{i18n (themePrefix "topic_unpinned")}}</span>
|
||||||
|
{{/if}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if this.heatMap}}
|
||||||
|
<span class="topic-status-card --hot">{{icon "fire"}}{{i18n
|
||||||
|
(themePrefix "topic_hot")
|
||||||
|
}}</span>
|
||||||
|
{{/if}}
|
||||||
|
</template>
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
const ExperimentalScreen = <template>
|
||||||
|
<ul class="experimental-screen">
|
||||||
|
<li class="experimental-screen__top-left"></li>
|
||||||
|
<li class="experimental-screen__top-right"></li>
|
||||||
|
<li class="experimental-screen__bottom-left"></li>
|
||||||
|
<li class="experimental-screen__bottom-right"></li>
|
||||||
|
<li class="experimental-screen__bottom-bar"></li>
|
||||||
|
</ul>
|
||||||
|
</template>;
|
||||||
|
|
||||||
|
export default ExperimentalScreen;
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
import { withPluginApi } from "discourse/lib/plugin-api";
|
||||||
|
import TopicAuthorAvatarColumn from "../components/card/topic-author-avatar-column";
|
||||||
|
import TopicAuthorColumn from "../components/card/topic-author-column";
|
||||||
|
import TopicCategoryColumn from "../components/card/topic-category-column";
|
||||||
|
import TopicLikesColumn from "../components/card/topic-likes-column";
|
||||||
|
import TopicRepliesColumn from "../components/card/topic-replies-column";
|
||||||
|
import TopicStatusColumn from "../components/card/topic-status-column";
|
||||||
|
|
||||||
|
const TopicAuthor = <template>
|
||||||
|
<td class="topic-author-data">
|
||||||
|
<TopicAuthorColumn @topic={{@topic}} />
|
||||||
|
</td>
|
||||||
|
</template>;
|
||||||
|
|
||||||
|
const TopicAuthorAvatar = <template>
|
||||||
|
<td class="topic-author-avatar-data">
|
||||||
|
<TopicAuthorAvatarColumn @topic={{@topic}} />
|
||||||
|
</td>
|
||||||
|
</template>;
|
||||||
|
|
||||||
|
const TopicCategoryStatus = <template>
|
||||||
|
<td class="topic-category-status-data">
|
||||||
|
<TopicCategoryColumn @topic={{@topic}} />
|
||||||
|
<TopicStatusColumn @topic={{@topic}} />
|
||||||
|
</td>
|
||||||
|
</template>;
|
||||||
|
|
||||||
|
const TopicLikesReplies = <template>
|
||||||
|
<td class="topic-likes-replies-data">
|
||||||
|
<TopicLikesColumn @topic={{@topic}} />
|
||||||
|
<TopicRepliesColumn @topic={{@topic}} />
|
||||||
|
</td>
|
||||||
|
</template>;
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "topic-list-customizations",
|
||||||
|
|
||||||
|
initialize() {
|
||||||
|
withPluginApi("1.39.0", (api) => {
|
||||||
|
api.registerValueTransformer(
|
||||||
|
"topic-list-columns",
|
||||||
|
({ value: columns }) => {
|
||||||
|
columns.add("topic-author", {
|
||||||
|
item: TopicAuthor,
|
||||||
|
after: "activity",
|
||||||
|
});
|
||||||
|
columns.add("topic-category-status", {
|
||||||
|
item: TopicCategoryStatus,
|
||||||
|
after: "topic-author",
|
||||||
|
});
|
||||||
|
columns.add("topic-author-avatar", {
|
||||||
|
item: TopicAuthorAvatar,
|
||||||
|
after: "topic-category-status",
|
||||||
|
});
|
||||||
|
columns.add("topic-likes-replies", {
|
||||||
|
item: TopicLikesReplies,
|
||||||
|
after: "topic-author-avatar",
|
||||||
|
});
|
||||||
|
columns.delete("posters");
|
||||||
|
columns.delete("views");
|
||||||
|
columns.delete("replies");
|
||||||
|
return columns;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
api.registerValueTransformer(
|
||||||
|
"topic-list-item-class",
|
||||||
|
({ value: classes, context }) => {
|
||||||
|
if (context.topic.pinned || context.topic.pinned_globally) {
|
||||||
|
classes.push("--pinned");
|
||||||
|
}
|
||||||
|
return classes;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
api.registerValueTransformer("topic-list-item-mobile-layout", () => {
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
};
|
||||||
+10
-3
@@ -1,5 +1,12 @@
|
|||||||
en:
|
en:
|
||||||
theme_metadata:
|
theme_metadata:
|
||||||
description: ''
|
description: "A simple, beautiful theme for the future of Discourse that improves the out of the box experience for sites."
|
||||||
settings:
|
topic_bookmarked: "Bookmarked"
|
||||||
example_setting: A description of a setting.
|
topic_closed_archived: "Closed and archived"
|
||||||
|
topic_closed: "Closed"
|
||||||
|
topic_archived: "Archived"
|
||||||
|
topic_warning: "Warning"
|
||||||
|
topic_personal_message: "Personal message"
|
||||||
|
topic_pinned: "Pinned"
|
||||||
|
topic_unpinned: "Unpinned"
|
||||||
|
topic_hot: "Hot"
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
#main-outlet-wrapper {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
"prettier": "2.8.8"
|
"prettier": "2.8.8"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 22",
|
"node": ">= 18",
|
||||||
"npm": "please-use-pnpm",
|
"npm": "please-use-pnpm",
|
||||||
"yarn": "please-use-pnpm",
|
"yarn": "please-use-pnpm",
|
||||||
"pnpm": "9.x"
|
"pnpm": "9.x"
|
||||||
|
|||||||
@@ -0,0 +1,123 @@
|
|||||||
|
@media screen and (min-width: 1300px) {
|
||||||
|
#main-outlet {
|
||||||
|
border-top-right-radius: var(--d-border-radius-large);
|
||||||
|
border-top-left-radius: var(--d-border-radius-large);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat-drawer-active.chat-drawer-expanded {
|
||||||
|
.experimental-screen {
|
||||||
|
&__top-left,
|
||||||
|
&__top-right,
|
||||||
|
&__bottom-left,
|
||||||
|
&__bottom-right,
|
||||||
|
&__bottom-bar {
|
||||||
|
z-index: 199;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.has-full-page-chat .experimental-screen {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.experimental-screen {
|
||||||
|
@include breakpoint(medium) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
max-width: unset !important;
|
||||||
|
.has-full-page-chat & {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 488px) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
width: 100%;
|
||||||
|
display: block;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
position: relative;
|
||||||
|
container: content-width / inline-size;
|
||||||
|
li {
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
&__top-left,
|
||||||
|
&__top-right,
|
||||||
|
&__bottom-left,
|
||||||
|
&__bottom-right {
|
||||||
|
position: fixed;
|
||||||
|
width: var(--d-border-radius-large);
|
||||||
|
height: var(--d-border-radius-large);
|
||||||
|
background-color: var(--background-color);
|
||||||
|
z-index: 399;
|
||||||
|
-webkit-mask: radial-gradient(
|
||||||
|
circle at var(--d-border-radius-large) var(--d-border-radius-large),
|
||||||
|
transparent var(--d-border-radius-large),
|
||||||
|
transparent var(--d-border-radius-large),
|
||||||
|
black var(--d-border-radius-large)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
&__top-left {
|
||||||
|
top: var(--header-offset);
|
||||||
|
}
|
||||||
|
&__top-right {
|
||||||
|
top: var(--header-offset);
|
||||||
|
transform: rotate(90deg);
|
||||||
|
right: var(--d-border-radius-large);
|
||||||
|
}
|
||||||
|
&__bottom-left {
|
||||||
|
transform: rotate(-90deg);
|
||||||
|
bottom: var(--d-border-radius-large);
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
bottom: calc(var(--d-border-radius-large) * 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&__bottom-right {
|
||||||
|
transform: rotate(180deg);
|
||||||
|
bottom: var(--d-border-radius-large);
|
||||||
|
right: var(--d-border-radius-large);
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
bottom: calc(var(--d-border-radius-large) * 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&__bottom-bar {
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
z-index: 399;
|
||||||
|
background-color: var(--background-color);
|
||||||
|
bottom: 0;
|
||||||
|
height: var(--d-border-radius-large);
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
height: calc(var(--d-border-radius-large) * 2);
|
||||||
|
}
|
||||||
|
@container content-width (width > 1px) {
|
||||||
|
width: 100cqw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 768px) {
|
||||||
|
.with-topic-progress {
|
||||||
|
bottom: calc(
|
||||||
|
env(safe-area-inset-bottom) + var(--composer-height, 0px) +
|
||||||
|
var(--d-border-radius-large)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
.with-topic-progress {
|
||||||
|
bottom: calc(
|
||||||
|
env(safe-area-inset-bottom) + var(--composer-height, 0px) +
|
||||||
|
calc(var(--d-border-radius-large) * 2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 400px) {
|
||||||
|
.with-topic-progress {
|
||||||
|
bottom: calc(env(safe-area-inset-bottom) + var(--composer-height, 0px));
|
||||||
|
}
|
||||||
|
}
|
||||||
+142
-8
@@ -2,18 +2,152 @@
|
|||||||
--d-button-border-radius: 6.25rem;
|
--d-button-border-radius: 6.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn {
|
.discourse-no-touch .topic-body .actions .fade-out {
|
||||||
padding: 0.5em 1rem;
|
transition: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-default {
|
.btn-default,
|
||||||
border: 1px solid var(--accent-color);
|
.btn-primary,
|
||||||
background: var(--secondary);
|
.btn-danger,
|
||||||
|
.select-kit .select-kit-header {
|
||||||
|
padding: var(--spacing-block-s) var(--spacing-inline-m);
|
||||||
|
// font-size: var(--font-up-1-rem);
|
||||||
|
// border-radius: var(--d-button-border-radius);
|
||||||
|
|
||||||
|
&.no-text {
|
||||||
|
padding-inline: 0.665rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#create-topic.btn {
|
|
||||||
background-color: var(--accent-color);
|
.sidebar-new-topic-button__wrapper .topic-drafts-menu-trigger.btn.no-text {
|
||||||
color: var(--accent-text-color);
|
background: var(--accent-color);
|
||||||
|
&:hover {
|
||||||
|
background: radial-gradient(
|
||||||
|
90% 110% at 50% 50%,
|
||||||
|
rgba(255, 255, 255, 0.3) 0%,
|
||||||
|
rgba(255, 255, 255, 0) 100%
|
||||||
|
),
|
||||||
|
var(--accent-color);
|
||||||
|
}
|
||||||
svg {
|
svg {
|
||||||
color: var(--accent-text-color);
|
color: var(--accent-text-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.discourse-no-touch .btn-default.sidebar-new-topic-button,
|
||||||
|
.discourse-no-touch .interface-color-selector-content .btn-default {
|
||||||
|
border: none;
|
||||||
|
&:hover {
|
||||||
|
border: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.discourse-no-touch .btn-default.topic-drafts-menu-trigger {
|
||||||
|
border: none;
|
||||||
|
margin-left: 2px;
|
||||||
|
&:hover {
|
||||||
|
border: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-default {
|
||||||
|
border: 1px solid var(--primary-300);
|
||||||
|
background: var(--secondary);
|
||||||
|
|
||||||
|
.d-icon {
|
||||||
|
color: var(--accent-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
.discourse-no-touch & {
|
||||||
|
border: 1px solid var(--accent-color);
|
||||||
|
box-shadow: 0px 0px 8px 2px var(--button-box-shadow);
|
||||||
|
background: var(--secondary);
|
||||||
|
color: var(--primary);
|
||||||
|
.d-icon {
|
||||||
|
color: var(--accent-color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:focus-visible {
|
||||||
|
.discourse-no-touch & {
|
||||||
|
background: var(--secondary);
|
||||||
|
color: var(--accent-color);
|
||||||
|
box-shadow: 0px 0px 0px 2px var(--secondary),
|
||||||
|
0px 0px 0px 4px var(--button-box-shadow);
|
||||||
|
.d-icon {
|
||||||
|
color: var(--accent-color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//not shared with select-kit
|
||||||
|
.btn-default {
|
||||||
|
&:active {
|
||||||
|
.discourse-no-touch & {
|
||||||
|
color: var(--secondary);
|
||||||
|
background: oklch(from var(--accent-color) 30% c h) !important;
|
||||||
|
.d-icon {
|
||||||
|
color: var(--secondary);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn-primary,
|
||||||
|
#create-topic.btn {
|
||||||
|
background-color: var(--accent-color);
|
||||||
|
color: var(--accent-text-color);
|
||||||
|
.d-icon {
|
||||||
|
color: var(--accent-text-color);
|
||||||
|
}
|
||||||
|
&:hover {
|
||||||
|
.discourse-no-touch & {
|
||||||
|
background: radial-gradient(
|
||||||
|
90% 110% at 50% 50%,
|
||||||
|
rgba(255, 255, 255, 0.3) 0%,
|
||||||
|
rgba(255, 255, 255, 0) 100%
|
||||||
|
),
|
||||||
|
var(--accent-color);
|
||||||
|
box-shadow: 0px 0px 6px 1px var(--button-box-shadow);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:focus-visible {
|
||||||
|
.discourse-no-touch & {
|
||||||
|
background: radial-gradient(
|
||||||
|
90% 110% at 50% 50%,
|
||||||
|
rgba(255, 255, 255, 0.3) 0%,
|
||||||
|
rgba(255, 255, 255, 0) 100%
|
||||||
|
),
|
||||||
|
var(--accent-color);
|
||||||
|
box-shadow: 0px 0px 0px 2px var(--secondary),
|
||||||
|
0px 0px 0px 4px var(--button-box-shadow);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:active {
|
||||||
|
.discourse-no-touch & {
|
||||||
|
// background: radial-gradient(
|
||||||
|
// 65% 95% at 50% 50%,
|
||||||
|
// rgba(0, 0, 0, 0.4) 0%,
|
||||||
|
// rgba(0, 0, 0, 0) 100%
|
||||||
|
// ),
|
||||||
|
// var(--accent-color) !important;
|
||||||
|
background: oklch(from var(--accent-color) 30% c h) !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-controls {
|
||||||
|
svg.d-icon {
|
||||||
|
color: inherit !important; //something we should honestly implement in core imo, when do we ever NOT want the same colour for icon and text?
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//undoing the outline for select-kit, since Im using a custom visual cue
|
||||||
|
.select-kit.single-select.is-expanded .select-kit-header:not(.btn),
|
||||||
|
.select-kit.single-select .select-kit-header:not(.btn):focus,
|
||||||
|
.select-kit.single-select .select-kit-header:not(.btn):active {
|
||||||
|
outline: transparent;
|
||||||
|
border-color: var(--accent-color);
|
||||||
|
}
|
||||||
|
|||||||
+33
-6
@@ -1,10 +1,37 @@
|
|||||||
.c-navbar-container {
|
.full-page-chat.full-page-chat-sidebar-enabled {
|
||||||
background-color: light-dark(#ffffff, #000000);
|
|
||||||
border-top-right-radius: var(--d-border-radius-large);
|
|
||||||
border-top-left-radius: var(--d-border-radius-large);
|
border-top-left-radius: var(--d-border-radius-large);
|
||||||
|
border-top-right-radius: var(--d-border-radius-large);
|
||||||
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.chat-message-container,
|
.c-navbar-container {
|
||||||
.chat-transcript {
|
border-top-left-radius: var(--d-border-radius-large);
|
||||||
background: transparent;
|
border-top-right-radius: var(--d-border-radius-large);
|
||||||
|
padding: 0 1.5em;
|
||||||
|
background-color: var(--d-content-background);
|
||||||
|
}
|
||||||
|
|
||||||
|
body.has-full-page-chat {
|
||||||
|
background-color: var(--background-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat-drawer .chat-drawer-container {
|
||||||
|
box-shadow: 0px 0px 0px 2px var(--d-chat-border);
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat-drawer .channels-list-container .chat-channel-row {
|
||||||
|
margin-bottom: var(--spacing-block-xs);
|
||||||
|
font-size: var(--font-up-1);
|
||||||
|
border-radius: var(--d-border-radius);
|
||||||
|
border-bottom: none;
|
||||||
|
&:hover {
|
||||||
|
background-color: var(--d-sidebar-active-background);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.channel-title {
|
||||||
|
font-weight: bold;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-size: var(--font-down-1);
|
||||||
}
|
}
|
||||||
|
|||||||
+28
-2
@@ -1,6 +1,32 @@
|
|||||||
.d-header {
|
.d-header {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
|
background: var(--background-color);
|
||||||
|
@include breakpoint(extra-large, $rule: min-width) {
|
||||||
|
padding-bottom: 1.5em;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.desktop-view .d-header {
|
|
||||||
background: transparent;
|
.has-full-page-chat .d-header {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-menu .quick-access-panel,
|
||||||
|
.user-notifications-list {
|
||||||
|
li {
|
||||||
|
&.pending,
|
||||||
|
&.unread {
|
||||||
|
background: var(--d-hover);
|
||||||
|
|
||||||
|
.discourse-no-touch & {
|
||||||
|
&:hover,
|
||||||
|
&:focus {
|
||||||
|
background: var(--d-selected);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-menu.revamped .tabs-list .btn.active {
|
||||||
|
background: var(--d-hover);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
.sidebar__panel-switch-button,
|
.sidebar__panel-switch-button,
|
||||||
.sidebar-section[data-section-name="messages"],
|
.sidebar-section[data-section-name="messages"],
|
||||||
.list-controls #create-topic {
|
.list-controls #create-topic,
|
||||||
|
.notifications-button-footer .reason .text,
|
||||||
|
.pinned-button .reason .text,
|
||||||
|
.more-topics__browse-more,
|
||||||
|
//footer-message might cause issues, not sure what possible stuff can be in there, but the general idea is to hide it bcs having an ugly H3 (what?) CTA at the bottom is just… ugly imo
|
||||||
|
.footer-message {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|||||||
+105
-58
@@ -1,73 +1,120 @@
|
|||||||
body,
|
html:not(:has(.has-full-page-chat)) {
|
||||||
html {
|
// @include breakpoint(extra-large, $rule: min-width) {
|
||||||
background-color: #f5f8ff;
|
background-color: var(--background-color);
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
body:not(.archetype-regular, .has-full-page-chat)
|
:root {
|
||||||
#main-outlet-wrapper
|
--main-grid-gap: 2em;
|
||||||
#main-outlet {
|
|
||||||
overflow: scroll;
|
|
||||||
border-radius: var(--d-border-radius-large);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#main-outlet-wrapper {
|
#main-outlet-wrapper {
|
||||||
margin-top: 1.5rem;
|
gap: var(--main-grid-gap);
|
||||||
gap: 2em !important;
|
}
|
||||||
height: calc(100vh - var(--header-offset) - 4rem);
|
|
||||||
box-sizing: border-box;
|
body.has-sidebar-page.has-full-page-chat #main-outlet-wrapper {
|
||||||
> * {
|
grid-column-gap: var(--main-grid-gap);
|
||||||
height: inherit;
|
}
|
||||||
box-sizing: border-box;
|
|
||||||
|
body.has-full-page-chat:not(.has-sidebar-page) {
|
||||||
|
.d-header {
|
||||||
|
background-color: var(--background-color);
|
||||||
}
|
}
|
||||||
|
#main-outlet-wrapper {
|
||||||
|
--main-grid-gap: 0;
|
||||||
|
.full-page-chat.full-page-chat-sidebar-enabled,
|
||||||
|
.c-navbar-container {
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
body.has-sidebar-page #main-outlet-wrapper {
|
||||||
|
grid-template-columns: var(--d-sidebar-width) 1fr 0px;
|
||||||
#main-outlet {
|
#main-outlet {
|
||||||
width: 100%;
|
max-width: unset;
|
||||||
height: inherit;
|
|
||||||
overflow: scroll;
|
|
||||||
&:has(.list-controls) {
|
|
||||||
padding-top: 0;
|
|
||||||
}
|
|
||||||
&:has(#topic-title) {
|
|
||||||
padding-top: 0;
|
|
||||||
}
|
|
||||||
> *:not(.full-page-chat) {
|
|
||||||
max-width: 1000px;
|
|
||||||
margin-inline: auto;
|
|
||||||
}
|
|
||||||
border-radius: var(--d-border-radius-large);
|
|
||||||
border-radius: 1.25rem;
|
|
||||||
.navigation-topics & {
|
|
||||||
background: radial-gradient(
|
|
||||||
100.59% 70.87% at 41.19% 73.28%,
|
|
||||||
rgba(188, 241, 238, 0.2) 0%,
|
|
||||||
rgba(255, 255, 255, 0) 100%
|
|
||||||
),
|
|
||||||
radial-gradient(
|
|
||||||
75.11% 79.17% at 66.02% 41.71%,
|
|
||||||
rgba(162, 164, 225, 0.2) 0%,
|
|
||||||
rgba(255, 255, 255, 0) 100%
|
|
||||||
),
|
|
||||||
#fff;
|
|
||||||
}
|
|
||||||
box-shadow: 0px 0px 1px 2px #e2e8f8, 0px 0px 24px 4px #e2e8f8;
|
|
||||||
background-color: light-dark(#ffffff, #000000);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#topic-title {
|
body:not(.has-full-page-chat) {
|
||||||
z-index: 999;
|
@include breakpoint(extra-large, $rule: min-width) {
|
||||||
margin-bottom: 1em;
|
background-color: var(--background-color);
|
||||||
padding: 1.5rem 2rem 0.5em;
|
}
|
||||||
position: sticky;
|
#main-outlet-wrapper {
|
||||||
top: 0;
|
@include breakpoint(medium) {
|
||||||
background: var(--secondary);
|
--main-grid-gap: 0;
|
||||||
|
}
|
||||||
|
@include breakpoint(tablet, $rule: min-width) {
|
||||||
|
gap: var(--main-grid-gap);
|
||||||
|
}
|
||||||
|
// height: calc(100vh - var(--header-offset) - 4rem);
|
||||||
|
// box-sizing: border-box;
|
||||||
|
// > * {
|
||||||
|
// height: inherit;
|
||||||
|
// box-sizing: border-box;
|
||||||
|
// }
|
||||||
|
#main-outlet {
|
||||||
|
width: 100%;
|
||||||
|
padding-bottom: var(--spacing-block-l);
|
||||||
|
// height: inherit;
|
||||||
|
// overflow: scroll;
|
||||||
|
// &:has(.list-controls) {
|
||||||
|
// padding-top: 0;
|
||||||
|
// }
|
||||||
|
// &:has(#topic-title) {
|
||||||
|
// padding-top: 0;
|
||||||
|
// }
|
||||||
|
//thanks to random container elements on the page, I can't do a direct child selector here because it targets all the randomness, so I see no other option than MANUALLY adding every possible element that can appear in the main outlet YAY
|
||||||
|
.list-controls,
|
||||||
|
.list-container,
|
||||||
|
#topic-title,
|
||||||
|
.container.posts,
|
||||||
|
#topic-footer-buttons,
|
||||||
|
.more-topics__container,
|
||||||
|
.search-banner,
|
||||||
|
.container.viewing-self,
|
||||||
|
.reviewable,
|
||||||
|
.admin-content,
|
||||||
|
.discourse-post-event-upcoming-events,
|
||||||
|
.container.groups-index,
|
||||||
|
.body-page,
|
||||||
|
.container.badges,
|
||||||
|
.topic-above-footer-buttons-outlet .presence-users,
|
||||||
|
.global-notice {
|
||||||
|
max-width: 1000px;
|
||||||
|
margin-inline: auto;
|
||||||
|
padding-inline: 1.5em;
|
||||||
|
}
|
||||||
|
border-radius: var(--d-border-radius-large);
|
||||||
|
@include breakpoint(medium) {
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
border-radius: 1.25rem;
|
||||||
|
// box-shadow: 0px 0px 1px 2px #e2e8f8, 0px 0px 24px 4px #e2e8f8;
|
||||||
|
background-color: var(--d-content-background);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// .global-notice {
|
||||||
|
// margin-top: var(--spacing-block-m);
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
.container.posts,
|
.list-container {
|
||||||
.more-topics__container,
|
.topic-list-body {
|
||||||
#topic-footer-buttons {
|
padding-top: var(--spacing-block-m);
|
||||||
padding: 0 24px;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.container.posts .topic-navigation {
|
aside.onebox {
|
||||||
top: calc(var(--header-offset, 60px) + 4em);
|
background-color: var(--d-content-background);
|
||||||
|
}
|
||||||
|
|
||||||
|
.d-editor-preview-wrapper {
|
||||||
|
box-shadow: 0px 0px 1px 2px var(--tertiary-50),
|
||||||
|
0px 0px 24px 4px var(--tertiary-50);
|
||||||
|
border-radius: var(--d-border-radius-large);
|
||||||
|
padding: 1em;
|
||||||
|
background-color: var(--d-content-background);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,50 @@
|
|||||||
|
.user-main .about.collapsed-info .details {
|
||||||
|
background: var(--d-content-background);
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-menu .quick-access-panel .read,
|
||||||
|
.user-notifications-list .read {
|
||||||
|
background: var(--d-content-background);
|
||||||
|
}
|
||||||
|
|
||||||
|
.powered-by-discourse {
|
||||||
|
z-index: 9999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.boxed.white {
|
||||||
|
background-color: var(--d-content-background);
|
||||||
|
}
|
||||||
|
|
||||||
|
.admin-area .sidebar-wrapper .admin-panel {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admin-report .main .report-alert.no-data,
|
||||||
|
.admin-report .main .report-alert.rate-limited {
|
||||||
|
background-color: var(--d-content-background);
|
||||||
|
}
|
||||||
|
|
||||||
|
.admin-detail {
|
||||||
|
background-color: var(--d-content-background);
|
||||||
|
}
|
||||||
|
|
||||||
|
.select-kit.combo-box .select-kit-header,
|
||||||
|
.select-kit.multi-select .multi-select-header,
|
||||||
|
.d-editor-textarea-wrapper,
|
||||||
|
.fk-d-menu__inner-content,
|
||||||
|
.menu-panel {
|
||||||
|
background-color: var(--d-content-background);
|
||||||
|
}
|
||||||
|
|
||||||
|
.fk-d-menu .btn {
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.d-editor-button-bar {
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
a,
|
||||||
|
a:visited {
|
||||||
|
color: var(--accent-color);
|
||||||
|
}
|
||||||
@@ -0,0 +1,147 @@
|
|||||||
|
//temp sepeate file to avoid merge hell… to be distributed later
|
||||||
|
@include breakpoint(medium) {
|
||||||
|
html,
|
||||||
|
.d-header {
|
||||||
|
background-color: var(--secondary);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#main-outlet-wrapper {
|
||||||
|
.navigation-topics & {
|
||||||
|
@include breakpoint(mobile-extra-large) {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#main-outlet {
|
||||||
|
@include breakpoint(mobile-extra-large) {
|
||||||
|
padding-top: var(--spacing-block-sm);
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-controls {
|
||||||
|
@include breakpoint(mobile-extra-large) {
|
||||||
|
padding-inline: var(
|
||||||
|
--spacing-inline-m
|
||||||
|
) !important; //override will be fixed when the whole chat page shenanigans is resolved
|
||||||
|
padding-block: var(--spacing-block-s);
|
||||||
|
border-bottom: 1px solid var(--primary-200);
|
||||||
|
}
|
||||||
|
.navigation-container {
|
||||||
|
@include breakpoint(mobile-extra-large) {
|
||||||
|
gap: var(--spacing-inline-s);
|
||||||
|
//dont know why we even hide this crucial navigation on mobile
|
||||||
|
.category-breadcrumb.hidden,
|
||||||
|
.category-breadcrumb {
|
||||||
|
display: flex !important;
|
||||||
|
gap: var(--spacing-inline-sm);
|
||||||
|
.select-kit-header {
|
||||||
|
padding-block: var(--spacing-block-s);
|
||||||
|
padding-inline: 0;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn-default {
|
||||||
|
border: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
.d-icon {
|
||||||
|
font-size: var(--font-up-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.fk-d-button-tooltip {
|
||||||
|
margin-right: 0;
|
||||||
|
margin-left: var(
|
||||||
|
--spacing-inline-xs
|
||||||
|
); //pure visual correction for horitzontal alignment
|
||||||
|
&:has(#create-topic) {
|
||||||
|
order: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#navigation-bar,
|
||||||
|
.navigation-controls,
|
||||||
|
.category-breadcrumb {
|
||||||
|
@include breakpoint(mobile-extra-large) {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.navigation-controls {
|
||||||
|
gap: var(--spacing-inline-s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-container {
|
||||||
|
@include breakpoint(mobile-extra-large) {
|
||||||
|
padding-inline: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topic-list-body {
|
||||||
|
@include breakpoint(mobile-extra-large) {
|
||||||
|
border-top: 0;
|
||||||
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.topic-list-item {
|
||||||
|
@include breakpoint(mobile-extra-large) {
|
||||||
|
box-shadow: none;
|
||||||
|
border-radius: 0;
|
||||||
|
//to be moved to topic card segment for general use
|
||||||
|
// .navigation-category & {
|
||||||
|
// .badge-category__wrapper {
|
||||||
|
// display: none;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#topic-title {
|
||||||
|
@include breakpoint(mobile-extra-large) {
|
||||||
|
padding-inline: var(--spacing-inline-m) !important;
|
||||||
|
.topic-category {
|
||||||
|
order: -1;
|
||||||
|
}
|
||||||
|
//make mixin of this
|
||||||
|
// .badge-category__wrapper {
|
||||||
|
// border-radius: var(--d-border-radius);
|
||||||
|
// padding: var(--spacing-inline-xs) var(--spacing-inline-s);
|
||||||
|
// 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)
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
|
||||||
|
// .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)
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.container.posts {
|
||||||
|
@include breakpoint(mobile-extra-large) {
|
||||||
|
padding-inline: var(--spacing-inline-m) !important;
|
||||||
|
|
||||||
|
.main-avatar .avatar {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
border-radius: var(--d-border-radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
.topic-body {
|
||||||
|
.topic-meta-data {
|
||||||
|
.username {
|
||||||
|
font-size: var(--font-0-rem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.contents {
|
||||||
|
padding-top: var(--spacing-block-m);
|
||||||
|
p {
|
||||||
|
line-height: 1.65;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+23
-8
@@ -1,24 +1,39 @@
|
|||||||
.list-controls {
|
.list-controls {
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: 0;
|
top: var(--header-offset);
|
||||||
background: var(--secondary);
|
background: var(--d-content-background);
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
padding-top: 1.5rem;
|
padding: 1.5rem 0 1rem 0;
|
||||||
max-width: unset;
|
max-width: unset;
|
||||||
width: 100%;
|
|
||||||
|
|
||||||
.navigation-container {
|
.navigation-container {
|
||||||
|
gap: 1rem;
|
||||||
.category-breadcrumb {
|
.category-breadcrumb {
|
||||||
order: 1;
|
order: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.combo-box .combo-box-header,
|
.combo-box .combo-box-header {
|
||||||
.select-kit.is-expanded .select-kit-body,
|
// needs more specificy than just in the button file
|
||||||
.discourse-post-event .discourse-post-event-widget {
|
|
||||||
background-color: var(--secondary);
|
background-color: var(--secondary);
|
||||||
border-radius: 6.25rem;
|
border-radius: var(--d-border-radius-large);
|
||||||
|
border: 1px solid var(--primary-300);
|
||||||
|
// font-size: var(--font-up-1-rem);
|
||||||
|
&:hover {
|
||||||
|
border: 1px solid var(--accent-color);
|
||||||
|
box-shadow: 0px 0px 8px 2px var(--button-box-shadow);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.select-kit.combo-box.category-drop.has-selection
|
||||||
|
.category-drop-header:hover {
|
||||||
|
border-color: transparent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.select-kit.is-expanded .select-kit-body {
|
||||||
|
border-radius: var(--d-border-radius);
|
||||||
|
background-color: var(--d-content-background);
|
||||||
|
}
|
||||||
|
|
||||||
.nav-pills > li > a:hover,
|
.nav-pills > li > a:hover,
|
||||||
.nav-pills > li button:hover {
|
.nav-pills > li button:hover {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
|
|||||||
+44
-8
@@ -1,13 +1,15 @@
|
|||||||
.custom-search-banner-wrap {
|
.custom-search-banner-wrap {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-rows: 0.33fr 0.33fr 0.33fr;
|
grid-template-rows: 0.33fr 0.33fr 0.33fr;
|
||||||
grid-template-columns: 0.5fr 0.5fr;
|
grid-template-columns: 1fr 1fr;
|
||||||
grid-column-gap: 1em;
|
grid-column-gap: 1em;
|
||||||
grid-row-gap: 0.5em;
|
grid-row-gap: 0.5em;
|
||||||
border-bottom: 1px solid var(--primary-300);
|
border-bottom: 1px solid var(--primary-300);
|
||||||
padding: 2.5em 0 2.5em;
|
padding: 1.5em 0 2.5em;
|
||||||
margin-bottom: 2.5em;
|
margin-bottom: 0;
|
||||||
--search-color: #595bca;
|
@media screen and (max-width: 900px) {
|
||||||
|
padding-bottom: 1em;
|
||||||
|
}
|
||||||
h1 {
|
h1 {
|
||||||
grid-column: 1/2;
|
grid-column: 1/2;
|
||||||
grid-row: 1/-1;
|
grid-row: 1/-1;
|
||||||
@@ -16,20 +18,51 @@
|
|||||||
align-self: center;
|
align-self: center;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #350c73;
|
color: var(--search-banner-text-color);
|
||||||
|
@media screen and (max-width: 1028px) {
|
||||||
|
font-size: var(--font-up-4);
|
||||||
|
grid-column: 1/-1;
|
||||||
|
grid-row: 1;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
text-align: left;
|
||||||
|
grid-column: 1/2;
|
||||||
|
grid-row: 1/-1;
|
||||||
|
font-size: var(--font-up-3);
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 600px) {
|
||||||
|
grid-column: 1/-1;
|
||||||
|
grid-row: 1;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.search-menu {
|
.search-menu {
|
||||||
grid-column: 2/3;
|
grid-column: 2/3;
|
||||||
grid-row: 1/-1;
|
grid-row: 1/-1;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
align-self: center;
|
align-self: center;
|
||||||
|
@media screen and (max-width: 1028px) {
|
||||||
|
grid-row: 2/-1;
|
||||||
|
grid-column: 1/-1;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
grid-column: 2/-1;
|
||||||
|
grid-row: 1/-1;
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 600px) {
|
||||||
|
grid-row: 2/-1;
|
||||||
|
grid-column: 1/-1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
p {
|
p {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
.search-input {
|
.search-input {
|
||||||
background: light-dark(#ffffff, #1f1f1f);
|
background: var(--d-content-background);
|
||||||
border: 1px solid oklch(from var(--search-color) 80% calc(c * 2.5) h);
|
border: 1px solid var(--search-color);
|
||||||
box-shadow: 0 4px 10px rgba(52, 6, 121, 15%);
|
box-shadow: 0 4px 10px rgba(52, 6, 121, 15%);
|
||||||
}
|
}
|
||||||
.search-menu .search-input:focus-within,
|
.search-menu .search-input:focus-within,
|
||||||
@@ -41,7 +74,10 @@
|
|||||||
.search-menu .searching .d-icon {
|
.search-menu .searching .d-icon {
|
||||||
color: var(--search-color);
|
color: var(--search-color);
|
||||||
}
|
}
|
||||||
|
.panel-body {
|
||||||
|
z-index: z("dropdown");
|
||||||
|
}
|
||||||
.results {
|
.results {
|
||||||
background: light-dark(#ffffff, #1f1f1f);
|
background: var(--d-content-background);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+53
-4
@@ -1,8 +1,14 @@
|
|||||||
:root {
|
|
||||||
--d-sidebar-background: #f5f8ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar-wrapper {
|
.sidebar-wrapper {
|
||||||
|
@include breakpoint(medium) {
|
||||||
|
background: var(--secondary);
|
||||||
|
.sidebar-footer-wrapper {
|
||||||
|
background: var(--secondary);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.has-full-page-chat &,
|
||||||
|
.has-full-page-chat & .sidebar-footer-wrapper {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
.sidebar-container {
|
.sidebar-container {
|
||||||
border-right: none;
|
border-right: none;
|
||||||
}
|
}
|
||||||
@@ -10,4 +16,47 @@
|
|||||||
.sidebar-sections {
|
.sidebar-sections {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
.sidebar-section-link {
|
||||||
|
font-size: var(--font-up-1);
|
||||||
|
// dont want to change fonts here just yet as font-size can be changed as a user pref.
|
||||||
|
// – charlie: sure but I want it to be bigger by default
|
||||||
|
// letter-spacing: 0.5px;
|
||||||
|
transition: none;
|
||||||
|
border-radius: var(--d-border-radius);
|
||||||
|
}
|
||||||
|
.dropdown-menu__item .sidebar-section-link {
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.sidebar-section-wrapper {
|
||||||
|
padding-block: 0.45em;
|
||||||
|
.sidebar-section-header {
|
||||||
|
font-size: var(--font-down-1);
|
||||||
|
}
|
||||||
|
.sidebar-section-content {
|
||||||
|
margin: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: var(--spacing-block-xs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-section-link-wrapper .sidebar-section-link:focus,
|
||||||
|
.sidebar-section-link-wrapper .sidebar-section-link:hover {
|
||||||
|
.d-icon {
|
||||||
|
color: var(--primary);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-new-topic-button__wrapper {
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
@media screen and (max-width: 1000px) {
|
||||||
|
.sidebar-new-topic-button .d-icon {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidebar-wrapper .sidebar-sections {
|
||||||
|
padding: 0 1rem;
|
||||||
}
|
}
|
||||||
|
|||||||
+366
-6
@@ -1,7 +1,367 @@
|
|||||||
.topic-list-item {
|
// 390x844 – mobile/portrait – (Figma iPhone 13 & 14)
|
||||||
background: light-dark(#ffffff, #1f1f1f);
|
// 744x1133 – tablet/portrait – (Figma iPad mini 8.3)
|
||||||
&:hover {
|
// 1280x832 – desktop small – (Figma MacBook Air)
|
||||||
background: light-dark(#fcfcfc, #161616);
|
|
||||||
}
|
:root {
|
||||||
border: 1px solid #cedde3;
|
--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);
|
||||||
|
}
|
||||||
|
|
||||||
|
.topic-list-body {
|
||||||
|
border: none;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 1em;
|
||||||
|
@include breakpoint(medium) {
|
||||||
|
gap: 0.5em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
body.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 {
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
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";
|
||||||
|
&.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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
grid-column-gap: 12px;
|
||||||
|
grid-row-gap: 8px;
|
||||||
|
border-radius: var(--d-border-radius);
|
||||||
|
@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 {
|
||||||
|
border: 1px solid var(--accent-color);
|
||||||
|
background: var(--d-content-background);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+115
@@ -0,0 +1,115 @@
|
|||||||
|
.post-stream {
|
||||||
|
.contents {
|
||||||
|
font-size: var(--font-up-1);
|
||||||
|
line-height: 1.25;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.container.posts .topic-navigation {
|
||||||
|
// super fragile because new sticky topic title doesnt have a calculated value (= 53px with this font and size but…)
|
||||||
|
top: calc(
|
||||||
|
var(--header-offset, 60px) + 53px + calc(var(--spacing-block-l) * 2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-container .topic-timeline {
|
||||||
|
min-width: unset; // why we have this?
|
||||||
|
.timeline-scrollarea {
|
||||||
|
border-left: 1px solid var(--accent-color);
|
||||||
|
}
|
||||||
|
.timeline-scroller {
|
||||||
|
padding: 0.25em;
|
||||||
|
border: 1px solid var(--accent-color);
|
||||||
|
border-radius: 0.75em;
|
||||||
|
padding-left: 0.5em;
|
||||||
|
margin-left: calc(-0.5em - 2.5px);
|
||||||
|
background: var(--secondary);
|
||||||
|
height: 40px !important; // height is coming from element style have no other choice
|
||||||
|
}
|
||||||
|
.timelime-scroller-content {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 0.25em;
|
||||||
|
}
|
||||||
|
.timeline-replies,
|
||||||
|
.timeline-ago {
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
.timeline-ago {
|
||||||
|
// font-size: var(--font-down-1);
|
||||||
|
}
|
||||||
|
.timeline-handle {
|
||||||
|
background-color: var(--accent-color);
|
||||||
|
width: 3px;
|
||||||
|
border-radius: 2px;
|
||||||
|
height: calc(100% - 6px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#topic-title {
|
||||||
|
@include breakpoint(extra-large, $rule: min-width) {
|
||||||
|
z-index: z("composer", "content") - 1;
|
||||||
|
padding: var(--spacing-block-l) var(--spacing-inline-xl);
|
||||||
|
position: sticky;
|
||||||
|
margin-bottom: 0;
|
||||||
|
top: var(--header-offset);
|
||||||
|
background: var(--d-content-background);
|
||||||
|
}
|
||||||
|
z-index: z("composer", "content") - 1;
|
||||||
|
padding: var(--spacing-block-l) var(--spacing-inline-xl);
|
||||||
|
position: sticky;
|
||||||
|
margin-bottom: 0;
|
||||||
|
top: var(--header-offset);
|
||||||
|
background: var(--d-content-background);
|
||||||
|
border-radius: var(--d-border-radius-large);
|
||||||
|
}
|
||||||
|
.container.posts,
|
||||||
|
.more-topics__container,
|
||||||
|
#topic-footer-buttons {
|
||||||
|
padding: 0 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container.posts {
|
||||||
|
grid-template-columns: auto 150px;
|
||||||
|
@media screen and (max-width: 924px) {
|
||||||
|
grid-template-columns: auto auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-container .topic-timeline .timeline-ago {
|
||||||
|
max-width: unset;
|
||||||
|
overflow: unset;
|
||||||
|
text-overflow: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-container .topic-timeline .timeline-scroller-content {
|
||||||
|
overflow: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.more-topics__container
|
||||||
|
.more-topics__list
|
||||||
|
.topic-list-body
|
||||||
|
.topic-list-item:last-of-type {
|
||||||
|
border-bottom: 1px solid var(--primary-300);
|
||||||
|
}
|
||||||
|
|
||||||
|
.discourse-post-event .discourse-post-event-widget {
|
||||||
|
background: var(--d-content-background);
|
||||||
|
}
|
||||||
|
|
||||||
|
.more-topics__container .nav {
|
||||||
|
position: unset;
|
||||||
|
margin-block: unset;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeline-container.timeline-fullscreen
|
||||||
|
.topic-timeline
|
||||||
|
.timeline-scrollarea
|
||||||
|
.timeline-scroller
|
||||||
|
.timeline-handle {
|
||||||
|
float: none;
|
||||||
|
width: 5px;
|
||||||
|
position: relative;
|
||||||
|
right: -4px;
|
||||||
|
}
|
||||||
+53
-4
@@ -1,9 +1,58 @@
|
|||||||
:root {
|
:root {
|
||||||
|
--accent-color: #393edb;
|
||||||
|
--background-color: light-dark(#f5f8ff, #1b1c1e);
|
||||||
|
--search-color: light-dark(
|
||||||
|
oklch(from var(--accent-color) calc(l * 0.65) calc(c * 0.65) h),
|
||||||
|
oklch(from var(--accent-color) calc(l * 1.5) calc(c * 2) h)
|
||||||
|
);
|
||||||
|
--search-banner-text-color: light-dark(
|
||||||
|
oklch(from var(--accent-color) calc(l * 0.65) calc(c * 0.65) h),
|
||||||
|
oklch(from var(--accent-color) calc(l * 1.85) calc(c * 2) h)
|
||||||
|
);
|
||||||
|
--topic-card-shadow: light-dark(
|
||||||
|
oklch(from var(--accent-color) calc(l * 2) calc(c * 0.1) h / 0.5),
|
||||||
|
oklch(from var(--accent-color) calc(l * 0.2) calc(c * 0.01) h / 0.25)
|
||||||
|
);
|
||||||
|
--button-box-shadow: light-dark(
|
||||||
|
oklch(from var(--accent-color) calc(l * 2) calc(c * 0.125) h),
|
||||||
|
oklch(from var(--accent-color) calc(l * 0.75) calc(c * 0.5) h)
|
||||||
|
);
|
||||||
|
--d-selected: light-dark(
|
||||||
|
oklch(from var(--accent-color) calc(l * 1.9) calc(c * 2) h / 0.3),
|
||||||
|
oklch(from var(--accent-color) calc(l * 0.65) calc(c * 0.65) h / 0.75)
|
||||||
|
);
|
||||||
|
--d-chat-border: light-dark(
|
||||||
|
oklch(from var(--accent-color) calc(l * 1.5) calc(c * 0.25) h),
|
||||||
|
oklch(from var(--accent-color) calc(l * 0.25) calc(c * 0.25) h)
|
||||||
|
);
|
||||||
|
--d-max-width: 1000px;
|
||||||
--d-border-radius-large: 20px;
|
--d-border-radius-large: 20px;
|
||||||
--d-border-radius: 6px;
|
--d-border-radius: 8px;
|
||||||
--d-input-border-radius: 6px;
|
--d-input-border-radius: 6px;
|
||||||
--accent-color: #595bca;
|
--accent-text-color: light-dark(#ffffff, #0f1024);
|
||||||
--accent-text-color: #ffffff;
|
--d-content-background: var(--secondary);
|
||||||
--d-nav-color--active: var(--accent-color);
|
--d-nav-color--active: var(--accent-color);
|
||||||
--primary: #0c0d27;
|
--d-sidebar-background: var(--background-color);
|
||||||
|
--d-sidebar-footer-fade: rgba(var(--tertiary-50-rgb), 1);
|
||||||
|
--d-sidebar-link-color: var(--primary);
|
||||||
|
--d-sidebar-highlight-color: var(--primary);
|
||||||
|
--d-sidebar-highlight-background: var(--d-selected);
|
||||||
|
--d-sidebar-section-link-icon-size: 1em;
|
||||||
|
--d-input-bg-color: var(--d-content-background);
|
||||||
|
// --d-sidebar-row-height: 2.8em;
|
||||||
|
//the idea is: block spacing can grow with font-size, but inline spacing should not to maintain horizontal (text) alignment
|
||||||
|
--spacing-block-xs: 0.25em;
|
||||||
|
--spacing-block-s: 0.5em;
|
||||||
|
--spacing-block-sm: 0.75em;
|
||||||
|
--spacing-block-m: 1em;
|
||||||
|
--spacing-block-l: 1.5em;
|
||||||
|
--spacing-block-xl: 2em;
|
||||||
|
--spacing-block-xxl: 4em;
|
||||||
|
--spacing-inline-xs: 0.25em;
|
||||||
|
--spacing-inline-s: 0.5rem;
|
||||||
|
--spacing-inline-sm: 0.75rem;
|
||||||
|
--spacing-inline-m: 1rem;
|
||||||
|
--spacing-inline-l: 1.5rem;
|
||||||
|
--spacing-inline-xl: 2rem;
|
||||||
|
--spacing-inline-xxl: 4rem;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
example_setting:
|
|
||||||
default: true
|
|
||||||
Reference in New Issue
Block a user