2019-10-23 13:06:54 -04:00
|
|
|
import Controller from "@ember/controller";
|
2024-03-06 12:05:11 -05:00
|
|
|
import { service } from "@ember/service";
|
2019-11-05 13:43:49 -05:00
|
|
|
import { dasherize } from "@ember/string";
|
2019-11-07 16:38:28 -05:00
|
|
|
import discourseComputed from "discourse-common/utils/decorators";
|
2017-10-30 14:13:49 -04:00
|
|
|
|
2023-03-15 05:42:12 -04:00
|
|
|
export default class AdminController extends Controller {
|
|
|
|
@service router;
|
2024-01-08 18:06:27 -05:00
|
|
|
@service currentUser;
|
2017-10-30 14:13:49 -04:00
|
|
|
|
2024-02-08 21:52:22 -05:00
|
|
|
@discourseComputed("currentUser.use_admin_sidebar")
|
2024-01-08 18:06:27 -05:00
|
|
|
showAdminSidebar() {
|
2024-02-08 21:52:22 -05:00
|
|
|
return this.currentUser.use_admin_sidebar;
|
2024-01-08 18:06:27 -05:00
|
|
|
}
|
2023-12-17 20:48:25 -05:00
|
|
|
|
2019-11-07 16:38:28 -05:00
|
|
|
@discourseComputed("siteSettings.enable_group_directory")
|
2018-10-11 19:34:47 -04:00
|
|
|
showGroups(enableGroupDirectory) {
|
|
|
|
return !enableGroupDirectory;
|
2023-03-15 05:42:12 -04:00
|
|
|
}
|
2018-10-11 19:34:47 -04:00
|
|
|
|
2019-11-07 16:38:28 -05:00
|
|
|
@discourseComputed("siteSettings.enable_badges")
|
2018-10-11 19:34:47 -04:00
|
|
|
showBadges(enableBadges) {
|
|
|
|
return this.currentUser.get("admin") && enableBadges;
|
2023-03-15 05:42:12 -04:00
|
|
|
}
|
2017-10-30 14:13:49 -04:00
|
|
|
|
2019-11-07 16:38:28 -05:00
|
|
|
@discourseComputed("router._router.currentPath")
|
2017-10-30 14:13:49 -04:00
|
|
|
adminContentsClassName(currentPath) {
|
2019-04-01 06:39:49 -04:00
|
|
|
let cssClasses = currentPath
|
2017-10-30 14:13:49 -04:00
|
|
|
.split(".")
|
|
|
|
.filter((segment) => {
|
|
|
|
return (
|
|
|
|
segment !== "index" &&
|
|
|
|
segment !== "loading" &&
|
|
|
|
segment !== "show" &&
|
2019-07-18 17:00:39 -04:00
|
|
|
segment !== "admin"
|
2017-10-30 14:13:49 -04:00
|
|
|
);
|
|
|
|
})
|
2019-11-05 13:43:49 -05:00
|
|
|
.map(dasherize)
|
2017-10-30 14:13:49 -04:00
|
|
|
.join(" ");
|
2019-04-01 06:39:49 -04:00
|
|
|
|
|
|
|
// this is done to avoid breaking css customizations
|
2019-07-18 17:00:39 -04:00
|
|
|
if (cssClasses.includes("dashboard")) {
|
|
|
|
cssClasses = `${cssClasses} dashboard-next`;
|
2019-04-01 06:39:49 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
return cssClasses;
|
2023-03-15 05:42:12 -04:00
|
|
|
}
|
|
|
|
}
|