import Route from "@ember/routing/route"; import showModal from "discourse/lib/show-modal"; import { next } from "@ember/runloop"; import { showUnassignedComponentWarning } from "admin/routes/admin-customize-themes-show"; export default Route.extend({ queryParams: { repoUrl: null, repoName: null, }, model() { return this.store.findAll("theme"); }, setupController(controller, model) { this._super(controller, model); controller.set("editingTheme", false); if (controller.repoUrl) { next(() => { showModal("admin-install-theme", { admin: true, }).setProperties({ uploadUrl: controller.repoUrl, uploadName: controller.repoName, selection: "directRepoInstall", }); }); } }, actions: { installModal() { const currentTheme = this.controllerFor( "adminCustomizeThemes.show" ).model; if (currentTheme && currentTheme.warnUnassignedComponent) { showUnassignedComponentWarning(currentTheme, (result) => { if (!result) { showModal("admin-install-theme", { admin: true }); } }); } else { showModal("admin-install-theme", { admin: true }); } }, addTheme(theme) { this.refresh(); theme.setProperties({ recentlyInstalled: true }); this.transitionTo("adminCustomizeThemes.show", theme.get("id"), { queryParams: { repoName: null, repoUrl: null, }, }); }, }, });