From 553784f91930079b3a3b42ffdd8f8c861afacfa4 Mon Sep 17 00:00:00 2001 From: Martin Brennan Date: Thu, 19 Dec 2024 12:47:14 +1000 Subject: [PATCH] DEV: Delete AdminPageHeader and AdminPageSubheader components (#30337) No longer needed because of https://github.com/discourse/discourse/pull/30146 and there are plugin PRs to remove other traces of it --- .../addon/components/admin-page-header.gjs | 161 ------------------ .../addon/components/admin-page-subheader.gjs | 93 ---------- .../components/d-page-header-test.gjs | 2 +- .../stylesheets/common/admin/admin_base.scss | 1 - .../common/admin/admin_page_header.scss | 90 ---------- .../stylesheets/common/admin/customize.scss | 1 - .../page_objects/components/admin_header.rb | 20 --- 7 files changed, 1 insertion(+), 367 deletions(-) delete mode 100644 app/assets/javascripts/admin/addon/components/admin-page-header.gjs delete mode 100644 app/assets/javascripts/admin/addon/components/admin-page-subheader.gjs delete mode 100644 app/assets/stylesheets/common/admin/admin_page_header.scss delete mode 100644 spec/system/page_objects/components/admin_header.rb diff --git a/app/assets/javascripts/admin/addon/components/admin-page-header.gjs b/app/assets/javascripts/admin/addon/components/admin-page-header.gjs deleted file mode 100644 index 57dedb08a8d..00000000000 --- a/app/assets/javascripts/admin/addon/components/admin-page-header.gjs +++ /dev/null @@ -1,161 +0,0 @@ -import Component from "@glimmer/component"; -import { tracked } from "@glimmer/tracking"; -import { hash } from "@ember/helper"; -import { service } from "@ember/service"; -import { htmlSafe } from "@ember/template"; -import { or } from "truth-helpers"; -import DBreadcrumbsContainer from "discourse/components/d-breadcrumbs-container"; -import DBreadcrumbsItem from "discourse/components/d-breadcrumbs-item"; -import DropdownMenu from "discourse/components/dropdown-menu"; -import HorizontalOverflowNav from "discourse/components/horizontal-overflow-nav"; -import { bind } from "discourse-common/utils/decorators"; -import { i18n } from "discourse-i18n"; -import { - DangerActionListItem, - DangerButton, - DefaultActionListItem, - DefaultButton, - PrimaryActionListItem, - PrimaryButton, - WrappedActionListItem, - WrappedButton, -} from "admin/components/admin-page-action-button"; -import DMenu from "float-kit/components/d-menu"; - -const HEADLESS_ACTIONS = ["new", "edit"]; - -export default class AdminPageHeader extends Component { - @service site; - @service router; - @tracked shouldDisplay = true; - - constructor() { - super(...arguments); - this.router.on("routeDidChange", this, this.#checkIfShouldDisplay); - this.#checkIfShouldDisplay(); - } - - willDestroy() { - super.willDestroy(...arguments); - this.router.off("routeDidChange", this, this.#checkIfShouldDisplay); - } - - get title() { - if (this.args.titleLabelTranslated) { - return this.args.titleLabelTranslated; - } else if (this.args.titleLabel) { - return i18n(this.args.titleLabel); - } - } - - get description() { - if (this.args.descriptionLabelTranslated) { - return this.args.descriptionLabelTranslated; - } else if (this.args.descriptionLabel) { - return i18n(this.args.descriptionLabel); - } - } - - @bind - #checkIfShouldDisplay() { - if (this.args.shouldDisplay !== undefined) { - return (this.shouldDisplay = this.args.shouldDisplay); - } - - const currentPath = this.router._router.currentPath; - if (!currentPath) { - return (this.shouldDisplay = true); - } - - const pathSegments = currentPath.split("."); - this.shouldDisplay = - !pathSegments.includes("admin") || - !HEADLESS_ACTIONS.find((segment) => pathSegments.includes(segment)); - } - - -} diff --git a/app/assets/javascripts/admin/addon/components/admin-page-subheader.gjs b/app/assets/javascripts/admin/addon/components/admin-page-subheader.gjs deleted file mode 100644 index 79cbd282be7..00000000000 --- a/app/assets/javascripts/admin/addon/components/admin-page-subheader.gjs +++ /dev/null @@ -1,93 +0,0 @@ -import Component from "@glimmer/component"; -import { hash } from "@ember/helper"; -import { service } from "@ember/service"; -import { htmlSafe } from "@ember/template"; -import DropdownMenu from "discourse/components/dropdown-menu"; -import { i18n } from "discourse-i18n"; -import { - DangerActionListItem, - DangerButton, - DefaultActionListItem, - DefaultButton, - PrimaryActionListItem, - PrimaryButton, - WrappedActionListItem, - WrappedButton, -} from "admin/components/admin-page-action-button"; -import DMenu from "float-kit/components/d-menu"; - -export default class AdminPageSubheader extends Component { - @service site; - - get title() { - if (this.args.titleLabelTranslated) { - return this.args.titleLabelTranslated; - } else if (this.args.titleLabel) { - return i18n(this.args.titleLabel); - } - } - - get description() { - if (this.args.descriptionLabelTranslated) { - return this.args.descriptionLabelTranslated; - } else if (this.args.descriptionLabel) { - return i18n(this.args.descriptionLabel); - } - } - - -} diff --git a/app/assets/javascripts/discourse/tests/integration/components/d-page-header-test.gjs b/app/assets/javascripts/discourse/tests/integration/components/d-page-header-test.gjs index 76da99bf52f..7638abe502c 100644 --- a/app/assets/javascripts/discourse/tests/integration/components/d-page-header-test.gjs +++ b/app/assets/javascripts/discourse/tests/integration/components/d-page-header-test.gjs @@ -38,7 +38,7 @@ module("Integration | Component | DPageHeader", function (hooks) { await render(); - assert.dom(".admin-page-header").doesNotExist(); + assert.dom(".d-page-header").doesNotExist(); }); test("renders base breadcrumbs and yielded <:breadcrumbs>", async function (assert) { diff --git a/app/assets/stylesheets/common/admin/admin_base.scss b/app/assets/stylesheets/common/admin/admin_base.scss index 177b1e5e30a..8bde1ca1a9a 100644 --- a/app/assets/stylesheets/common/admin/admin_base.scss +++ b/app/assets/stylesheets/common/admin/admin_base.scss @@ -1102,7 +1102,6 @@ a.inline-editable-field { @import "common/admin/admin_report_table"; @import "common/admin/admin_report_inline_table"; @import "common/admin/admin_section_landing_page"; -@import "common/admin/admin_page_header"; @import "common/admin/admin_intro"; @import "common/admin/mini_profiler"; @import "common/admin/schema_theme_setting_editor"; diff --git a/app/assets/stylesheets/common/admin/admin_page_header.scss b/app/assets/stylesheets/common/admin/admin_page_header.scss deleted file mode 100644 index fa8be9cfab1..00000000000 --- a/app/assets/stylesheets/common/admin/admin_page_header.scss +++ /dev/null @@ -1,90 +0,0 @@ -.admin-page-header, -.admin-page-subheader { - &__title-row { - display: flex; - justify-content: space-between; - align-items: stretch; - margin-bottom: var(--space-2); - - h1, - h2 { - margin: 0; - } - - h2 { - font-size: var(--font-up-2); - } - - .admin-page-header__actions { - display: flex; - align-items: center; - justify-content: flex-end; - - @media (max-width: $mobile-breakpoint) { - flex-direction: column; - } - - button { - margin-left: var(--space-2); - - @media (max-width: $mobile-breakpoint) { - width: 100%; - margin-bottom: var(--space-2); - margin-left: 0; - } - } - } - } - - .admin-nav-submenu { - background: transparent; - border-bottom: 1px solid var(--primary-low); - - .horizontal-overflow-nav { - background: transparent; - - &:before { - display: none; - } - - &:after { - display: none; - } - } - - .nav-pills { - width: auto; - margin: 0; - } - } -} - -.admin-page-header { - &__title-row { - @media (max-width: $mobile-breakpoint) { - flex-direction: row; - align-items: center; - - .admin-page-header__actions { - button { - margin-bottom: 0; - } - } - } - } -} - -.admin-page-subheader { - &__title-row { - @media (max-width: $mobile-breakpoint) { - flex-direction: row; - align-items: center; - } - } -} - -.admin-page-action-list-item { - .btn-primary { - color: var(--primary); - } -} diff --git a/app/assets/stylesheets/common/admin/customize.scss b/app/assets/stylesheets/common/admin/customize.scss index 6ca35e0d95d..94b3f013ee2 100644 --- a/app/assets/stylesheets/common/admin/customize.scss +++ b/app/assets/stylesheets/common/admin/customize.scss @@ -805,7 +805,6 @@ .admin-permalinks { @include breakpoint(tablet) { - .admin-page-subheader, .d-page-subheader, .admin-config-area, .admin-config-area__primary-content, diff --git a/spec/system/page_objects/components/admin_header.rb b/spec/system/page_objects/components/admin_header.rb deleted file mode 100644 index 556211e02e6..00000000000 --- a/spec/system/page_objects/components/admin_header.rb +++ /dev/null @@ -1,20 +0,0 @@ -# frozen_string_literal: true - -module PageObjects - module Components - # TODO (martin) Delete this after plugins have been updated to use DPageHeader - class AdminHeader < PageObjects::Pages::Base - def has_tabs?(names) - expect(page.all(".d-nav-submenu__tabs a").map(&:text)).to eq(names) - end - - def visible? - has_css?(".d-page-header") - end - - def hidden? - has_no_css?(".d-page-header") - end - end - end -end