Skip to content

Commit

Permalink
FEATURE: Add category icon + blocks settings (#16)
Browse files Browse the repository at this point in the history
* Initial commit by `discourse_theme` CLI

* init

* init

* community guidelines

* init

* lint

* lint

* refactor

* refactor

* license

* lint

* lint

* lint

* lint

* lint

* blocks

* settings

* lint
  • Loading branch information
carsick authored Jun 12, 2024
1 parent d13ccf6 commit 3fcb06b
Show file tree
Hide file tree
Showing 10 changed files with 188 additions and 139 deletions.
8 changes: 8 additions & 0 deletions about.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@
"minimum_discourse_version": null,
"maximum_discourse_version": null,
"assets": {},
"authors": "Carson",
"about_url": "TODO: Put your theme's public repo or Meta topic URL here",
"license_url": "TODO: Put your theme's LICENSE URL here",
"learn_more": "TODO",
"theme_version": "0.0.1",
"minimum_discourse_version": null,
"maximum_discourse_version": null,
"assets": {},
"modifiers": {
"serialize_topic_excerpts": "true"
},
Expand Down
20 changes: 20 additions & 0 deletions javascripts/discourse/api-initializers/central.gjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// import { inject as service } from "@ember/service";
import { apiInitializer } from "discourse/lib/api";

export default apiInitializer("1.0", () => {
let css = "";
const categories = settings.category_icons;
if (categories) {
categories.forEach((category) => {
const id = category.id[0];
const emoji = category.emoji;

css += `.badge-category__wrapper .badge-category[data-category-id="${id}"]:before { content: "${emoji}"; }\n`;
});

const styleElement = document.createElement("style");
styleElement.type = "text/css";
styleElement.appendChild(document.createTextNode(css));
document.head.appendChild(styleElement);
}
});
5 changes: 0 additions & 5 deletions javascripts/discourse/api-initializers/central.js

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import i18n from "discourse-common/helpers/i18n";

export default class BlockTopContributors extends Component {
@tracked topContributors = null;
@tracked period = "weekly";
@tracked period = this.args?.period || "weekly";
@tracked count = parseInt(this.args?.count, 10) || 10;

constructor() {
Expand Down
63 changes: 34 additions & 29 deletions javascripts/discourse/connectors/above-main-container/admin.hbs
Original file line number Diff line number Diff line change
@@ -1,30 +1,35 @@
<div class="admin-main-nav">
<ul class="nav nav-pills">
{{#if this.currentUser.admin}}
<NavItem @route="admin.dashboard" @label="admin.dashboard.title" />
<NavItem @route="adminSiteSettings" @label="admin.site_settings.title" />
<NavItem @route="adminUsers" @label="admin.users.title" />
{{/if}}
{{#if this.showGroups}}
<NavItem @route="groups" @label="admin.groups.title" />
{{/if}}
{{#if this.showBadges}}
<NavItem @route="adminBadges" @label="admin.badges.title" />
{{/if}}
{{#if this.currentUser.admin}}
<NavItem @route="adminEmail" @label="admin.email.title" />
<NavItem @route="adminLogs" @label="admin.logs.title" />
<NavItem
@route="adminCustomizeThemes"
@routeParam="themes"
@label="admin.customize.title"
/>
<NavItem @route="adminApi" @label="admin.api.title" />
{{#if this.siteSettings.enable_backups}}
<NavItem @route="admin.backups" @label="admin.backups.title" />
{{#if this.currentUser.admin}}
<div class="admin-main-nav">
<ul class="nav nav-pills">
{{#if this.currentUser.admin}}
<NavItem @route="admin.dashboard" @label="admin.dashboard.title" />
<NavItem
@route="adminSiteSettings"
@label="admin.site_settings.title"
/>
<NavItem @route="adminUsers" @label="admin.users.title" />
{{/if}}
<NavItem @route="adminPlugins" @label="admin.plugins.title" />
{{/if}}
<PluginOutlet @name="admin-menu" />
</ul>
</div>
{{#if this.showGroups}}
<NavItem @route="groups" @label="admin.groups.title" />
{{/if}}
{{#if this.showBadges}}
<NavItem @route="adminBadges" @label="admin.badges.title" />
{{/if}}
{{#if this.currentUser.admin}}
<NavItem @route="adminEmail" @label="admin.email.title" />
<NavItem @route="adminLogs" @label="admin.logs.title" />
<NavItem
@route="adminCustomizeThemes"
@routeParam="themes"
@label="admin.customize.title"
/>
<NavItem @route="adminApi" @label="admin.api.title" />
{{#if this.siteSettings.enable_backups}}
<NavItem @route="admin.backups" @label="admin.backups.title" />
{{/if}}
<NavItem @route="adminPlugins" @label="admin.plugins.title" />
{{/if}}
<PluginOutlet @name="admin-menu" />
</ul>
</div>
{{/if}}
1 change: 1 addition & 0 deletions scss/_base.scss
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,4 @@
@import "discourse/search-menu";
@import "discourse/admin";
@import "discourse/d-menu";
@import "discourse/compose";
206 changes: 103 additions & 103 deletions scss/discourse/badges.scss
Original file line number Diff line number Diff line change
Expand Up @@ -38,109 +38,109 @@
&:before {
content: "📁";
}
&[data-category-id="124"]:before {
content: "💬";
}
&[data-category-id="10"]:before {
content: "📒";
}
&[data-category-id="67"]:before {
content: "📣";
}
&[data-category-id="6"]:before {
content: "🤝";
}
&[data-category-id="1"]:before {
content: "🛠️";
}
&[data-category-id="9"]:before {
content: "💻";
}
&[data-category-id="2"]:before {
content: "";
}

&[data-category-id="148"]:before {
content: "📈";
}

&[data-category-id="24"]:before {
content: "🔑";
}
&[data-category-id="65"]:before {
content: "🏡";
}
&[data-category-id="7"]:before {
content: "⌨️";
}
&[data-category-id="14"]:before {
content: "💰";
}

&[data-category-id="22"]:before {
content: "🔌";
}

&[data-category-id="61"]:before {
content: "🎨";
}
&[data-category-id="120"]:before {
content: "🧩";
}

&[data-category-id="31"]:before {
content: "🌱";
}

&[data-category-id="106"]:before {
content: "🚚";
}

&[data-category-id="8"]:before {
content: "🏘️";
}

&[data-category-id="30"]:before {
content: "📦";
}

&[data-category-id="3"]:before {
content: "🗳️";
}
&[data-category-id="105"]:before {
content: "💛";
}

&[data-category-id="35"]:before {
content: "❤️";
}
&[data-category-id="110"]:before {
content: "💡";
}

&[data-category-id="83"]:before {
content: "🌐";
}

&[data-category-id="25"]:before {
content: "🪪";
}

&[data-category-id="20"]:before {
content: "🛋️";
}

&[data-category-id="117"]:before {
content: "📃";
}

&[data-category-id="96"]:before {
content: "🌞";
}

&[data-category-id="137"]:before {
content: "";
}
// &[data-category-id="124"]:before {
// content: "💬";
// }
// &[data-category-id="10"]:before {
// content: "📒";
// }
// &[data-category-id="67"]:before {
// content: "📣";
// }
// &[data-category-id="6"]:before {
// content: "🤝";
// }
// &[data-category-id="1"]:before {
// content: "🛠️";
// }
// &[data-category-id="9"]:before {
// content: "💻";
// }
// &[data-category-id="2"]:before {
// content: "✨";
// }

// &[data-category-id="148"]:before {
// content: "📈";
// }

// &[data-category-id="24"]:before {
// content: "🔑";
// }
// &[data-category-id="65"]:before {
// content: "🏡";
// }
// &[data-category-id="7"]:before {
// content: "⌨️";
// }
// &[data-category-id="14"]:before {
// content: "💰";
// }

// &[data-category-id="22"]:before {
// content: "🔌";
// }

// &[data-category-id="61"]:before {
// content: "🎨";
// }
// &[data-category-id="120"]:before {
// content: "🧩";
// }

// &[data-category-id="31"]:before {
// content: "🌱";
// }

// &[data-category-id="106"]:before {
// content: "🚚";
// }

// &[data-category-id="8"]:before {
// content: "🏘️";
// }

// &[data-category-id="30"]:before {
// content: "📦";
// }

// &[data-category-id="3"]:before {
// content: "🗳️";
// }
// &[data-category-id="105"]:before {
// content: "💛";
// }

// &[data-category-id="35"]:before {
// content: "❤️";
// }
// &[data-category-id="110"]:before {
// content: "💡";
// }

// &[data-category-id="83"]:before {
// content: "🌐";
// }

// &[data-category-id="25"]:before {
// content: "🪪";
// }

// &[data-category-id="20"]:before {
// content: "🛋️";
// }

// &[data-category-id="117"]:before {
// content: "📃";
// }

// &[data-category-id="96"]:before {
// content: "🌞";
// }

// &[data-category-id="137"]:before {
// content: "➕";
// }
}
}

Expand Down
3 changes: 3 additions & 0 deletions scss/discourse/compose.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#reply-control {
background: var(--neutral-100);
}
2 changes: 1 addition & 1 deletion scss/layout.scss
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ body {
:root {
--heading-font-family: system-ui, helvetica, sans-serif;
--font-family: system-ui, helvetica, sans-serif;
--d-max-width: 80rem;
--d-max-width: 83rem;
--wrap-px: 1rem;
}

Expand Down
17 changes: 17 additions & 0 deletions settings.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
category_icons:
default: []
type: objects
schema:
name: category
properties:
id:
type: categories
required: true
validations:
min: 1
max: 1
emoji:
type: string
validations:
min_length: 1
max_length: 10
blocks:
default: []
type: objects
Expand Down

0 comments on commit 3fcb06b

Please sign in to comment.