Osama Sayegh f87e5aab0b UX: Tweaks to the theme/component pages when using admin sidebar (#30953)
There are a number of minor changes in this commit :

1. Combine the "Themes" and "Components" links in the admin sidebar into
a single tab labelled "Themes and components"
2. The combined tab links to the `/admin/config/customize/themes` page
(titled as "Themes and components")
3. Add a new "Components" tab to the "Themes and components" page.
There's already an existing "Themes" tab
4. Add a "back to" link at the top of individual theme/component page to
navigate back to the respective tab in the "Themes and components" page
5. Remove the themes/components list/sidebar that currently serves for
navigating between themes/components
6. Remove the header in the theme/component page

Changes 4–6 apply only if the admin sidebar is enabled; they have no
effect otherwise.

Internal topic: t/146006.
2025-03-13 15:34:17 +03:00

77 lines
2.1 KiB
Plaintext

import Component from "@glimmer/component";
import DButton from "discourse/components/d-button";
import icon from "discourse/helpers/d-icon";
import { i18n } from "discourse-i18n";
import AdminConfigAreaCard from "admin/components/admin-config-area-card";
export default class InstallThemeCard extends Component {
externalResources = [
{
key: "admin.customize.theme.beginners_guide_title",
link: "https://meta.discourse.org/t/91966",
},
{
key: "admin.customize.theme.developers_guide_title",
link: "https://meta.discourse.org/t/93648",
},
{
key: "admin.customize.theme.browse_themes",
link: "https://meta.discourse.org/c/theme",
},
];
get heading() {
if (this.args.component) {
return i18n(
"admin.config_areas.themes_and_components.components.new_component"
);
} else {
return i18n("admin.config_areas.themes_and_components.themes.new_theme");
}
}
get intro() {
if (this.args.component) {
return i18n(
"admin.config_areas.themes_and_components.components.components_intro"
);
} else {
return i18n(
"admin.config_areas.themes_and_components.themes.themes_intro"
);
}
}
<template>
<AdminConfigAreaCard
class="theme-install-card"
@translatedHeading={{this.heading}}
>
<:content>
<p>{{this.intro}}</p>
<div class="theme-install-card__external-links">
{{#each this.externalResources as |resource|}}
<a
href={{resource.link}}
class="external-link"
rel="noopener noreferrer"
target="_blank"
>
{{i18n resource.key}}
{{icon "up-right-from-square"}}
</a>
{{/each}}
</div>
<DButton
class="btn-primary theme-install-card__install-button"
@translatedLabel={{i18n
"admin.config_areas.themes_and_components.install"
}}
@icon="upload"
@action={{@openModal}}
/>
</:content>
</AdminConfigAreaCard>
</template>
}