ACP Icons

This commit is contained in:
2026-04-23 14:27:29 +02:00
parent 677e9fb798
commit 3dcc9553c4
6 changed files with 230 additions and 55 deletions
+100
View File
@@ -0,0 +1,100 @@
<!-- IMPORT partials/breadcrumbs-json-ld.tpl -->
{{{ if config.theme.enableBreadcrumbs }}}
<!-- IMPORT partials/breadcrumbs.tpl -->
{{{ end }}}
<div class="category-header d-flex flex-column gap-2">
<div class="d-flex gap-3 align-items-center mb-1 {{{ if config.theme.centerHeaderElements }}}justify-content-center flex-column{{{ end }}}">
<div class="westgate-category-header-icon flex-shrink-0 {./class}">
{buildCategoryIcon(@value, "60px", "rounded-1")}
</div>
<div class="d-flex flex-column gap-1">
<h1 class="tracking-tight fs-3 fw-semibold mb-0">{./name}</h1>
<div class="d-flex flex-wrap gap-2 align-items-center {{{ if config.theme.centerHeaderElements }}}justify-content-center{{{ end }}}">
<span class="badge text-body border border-gray-300 stats text-xs">
<span title="{formattedNumber(totalTopicCount)}" class="fw-bold">{humanReadableNumber(totalTopicCount)}</span>
<span class="text-lowercase fw-normal">[[global:topics]]</span>
</span>
<span class="badge text-body border border-gray-300 stats text-xs">
<span title="{formattedNumber(totalPostCount)}" class="fw-bold">{humanReadableNumber(totalPostCount)}</span>
<span class="text-lowercase fw-normal">[[global:posts]]</span>
</span>
{{{ if !isNumber(cid) }}}
<a href="{./url}" class="badge text-body border border-gray-300 text-xs" data-ajaxify="false">
<span class="fw-normal">View Original</span>
<i class="fa fa-external-link"></i>
</a>
{{{ end }}}
{{{ if (!feeds:disableRSS && rssFeedUrl) }}}
<a class="badge text-body text-decoration-none border border-gray-300 d-flex align-items-center align-self-stretch" target="_blank" href="{rssFeedUrl}" itemprop="item" title="[[global:rss-feed]]"><i class="fa fa-rss fa-sm text-muted lh-1"></i></a>
{{{ end }}}
</div>
</div>
</div>
{{{ if ./descriptionParsed }}}
<div class="description text-secondary text-sm lh-sm w-100 {{{ if config.theme.centerHeaderElements }}}text-center{{{ end }}} line-clamp-4 clamp-fade-sm-4">
{./descriptionParsed}
</div>
{{{ end }}}
{{{ if ./handleFull }}}
<p class="text-secondary text-sm fst-italic mb-0 {{{ if config.theme.centerHeaderElements }}}text-center{{{ end }}}">
[[category:handle.description, {handleFull}]]
<a href="#" class="link-secondary" data-action="copy" data-clipboard-text="{handleFull}"><i class="fa fa-fw fa-copy" aria-hidden="true"></i></a>
</p>
{{{ end }}}
</div>
{{{ if widgets.header.length }}}
<div data-widget-area="header">
{{{ each widgets.header }}}
{{widgets.header.html}}
{{{ end }}}
</div>
{{{ end }}}
<div class="row flex-fill mt-3">
<div class="category d-flex flex-column {{{if widgets.sidebar.length }}}col-lg-9 col-sm-12{{{ else }}}col-lg-12{{{ end }}}">
<!-- IMPORT partials/category/subcategory.tpl -->
{{{ if (topics.length || privileges.topics:create) }}}
<!-- IMPORT partials/topic-list-bar.tpl -->
{{{ end }}}
{{{ if (./inbox && (./hasFollowers == false)) }}}
<div class="alert alert-warning mb-4" id="category-no-followers" data-bs-toggle="dropdown" data-bs-target='[component="topic/watch"] button' aria-hidden="true">
<i class="fa fa-triangle-exclamation pe-2"></i>
[[category:no-followers]]
<a href="#" class="stretched-link"></a>
</div>
{{{ end }}}
{{{ if (!topics.length && privileges.topics:create) }}}
<div class="alert alert-info" id="category-no-topics">
[[category:no-topics]]
</div>
{{{ end }}}
<!-- IMPORT partials/topics_list.tpl -->
{{{ if config.usePagination }}}
<!-- IMPORT partials/paginator.tpl -->
{{{ end }}}
</div>
<div data-widget-area="sidebar" class="col-lg-3 col-sm-12 {{{ if !widgets.sidebar.length }}}hidden{{{ end }}}">
{{{ each widgets.sidebar }}}
{{widgets.sidebar.html}}
{{{ end }}}
</div>
</div>
<div data-widget-area="footer">
{{{each widgets.footer}}}
{{widgets.footer.html}}
{{{end}}}
</div>
{{{ if !config.usePagination }}}
<noscript>
<!-- IMPORT partials/paginator.tpl -->
</noscript>
{{{ end }}}
+1 -1
View File
@@ -1,7 +1,7 @@
<ul class="list-unstyled category-children row row-cols-1 row-cols-md-2 g-2 my-1 w-100">
{{{ each ./children }}}
{{{ if !./isSection }}}
<li data-cid="{./cid}" class="category-children-item small">
<li data-cid="{./cid}" class="category-children-item small {./class}">
<div class="westgate-category-child d-flex gap-1">
{buildCategoryIcon(@value, "18px", "westgate-child-icon rounded-1")}
<a href="{{{ if ./link }}}{./link}{{{ else }}}{config.relative_path}/category/{./slug}{{{ end }}}" class="text-reset fw-semibold flex-1">{./name}</a>
+2 -13
View File
@@ -1,4 +1,4 @@
<li component="categories/category" data-cid="{./cid}" class="westgate-category-card w-100 py-3 py-lg-4 gap-lg-0 gap-2 d-flex flex-column flex-lg-row align-items-start category-{./cid} {./unread-class}">
<li component="categories/category" data-cid="{./cid}" class="westgate-category-card w-100 py-3 py-lg-4 gap-lg-0 gap-2 d-flex flex-column flex-lg-row align-items-start {./class} category-{./cid} {./unread-class}">
<meta itemprop="name" content="{./name}">
<div class="d-flex col-lg-7 gap-2 gap-lg-3">
@@ -31,18 +31,7 @@
{{{ end }}}
{{{ if !config.hideSubCategories }}}
{{{ if ./children.length }}}
<ul class="list-unstyled category-children row row-cols-1 row-cols-md-2 g-2 my-1 w-100">
{{{ each ./children }}}
{{{ if !./isSection }}}
<li data-cid="{./cid}" class="category-children-item small">
<div class="westgate-category-child d-flex gap-1">
{buildCategoryIcon(@value, "18px", "westgate-child-icon rounded-1")}
<a href="{{{ if ./link }}}{./link}{{{ else }}}{config.relative_path}/category/{./slug}{{{ end }}}" class="text-reset fw-semibold flex-1">{./name}</a>
</div>
</li>
{{{ end }}}
{{{ end }}}
</ul>
<!-- IMPORT partials/categories/children.tpl -->
{{{ end }}}
{{{ end }}}
</div>