diff --git a/ui/src/app/app.html b/ui/src/app/skins/7like/app.html similarity index 100% rename from ui/src/app/app.html rename to ui/src/app/skins/7like/app.html diff --git a/ui/src/app/app.ts b/ui/src/app/skins/7like/app.ts similarity index 100% rename from ui/src/app/app.ts rename to ui/src/app/skins/7like/app.ts diff --git a/ui/src/app/connection-manager/connection-manager.html b/ui/src/app/skins/7like/connection-manager/connection-manager.html similarity index 100% rename from ui/src/app/connection-manager/connection-manager.html rename to ui/src/app/skins/7like/connection-manager/connection-manager.html diff --git a/ui/src/app/connection-manager/connection-manager.ts b/ui/src/app/skins/7like/connection-manager/connection-manager.ts similarity index 100% rename from ui/src/app/connection-manager/connection-manager.ts rename to ui/src/app/skins/7like/connection-manager/connection-manager.ts diff --git a/ui/src/app/context-menu.ts b/ui/src/app/skins/7like/context-menu.ts similarity index 100% rename from ui/src/app/context-menu.ts rename to ui/src/app/skins/7like/context-menu.ts diff --git a/ui/src/app/dialogs/chmod-dialog.ts b/ui/src/app/skins/7like/dialogs/chmod-dialog.ts similarity index 100% rename from ui/src/app/dialogs/chmod-dialog.ts rename to ui/src/app/skins/7like/dialogs/chmod-dialog.ts diff --git a/ui/src/app/dialogs/confirm-dialog.ts b/ui/src/app/skins/7like/dialogs/confirm-dialog.ts similarity index 100% rename from ui/src/app/dialogs/confirm-dialog.ts rename to ui/src/app/skins/7like/dialogs/confirm-dialog.ts diff --git a/ui/src/app/dialogs/overwrite-dialog.ts b/ui/src/app/skins/7like/dialogs/overwrite-dialog.ts similarity index 100% rename from ui/src/app/dialogs/overwrite-dialog.ts rename to ui/src/app/skins/7like/dialogs/overwrite-dialog.ts diff --git a/ui/src/app/dialogs/prompt-dialog.ts b/ui/src/app/skins/7like/dialogs/prompt-dialog.ts similarity index 100% rename from ui/src/app/dialogs/prompt-dialog.ts rename to ui/src/app/skins/7like/dialogs/prompt-dialog.ts diff --git a/ui/src/app/editor-window/editor-window.html b/ui/src/app/skins/7like/editor-window/editor-window.html similarity index 100% rename from ui/src/app/editor-window/editor-window.html rename to ui/src/app/skins/7like/editor-window/editor-window.html diff --git a/ui/src/app/editor-window/editor-window.ts b/ui/src/app/skins/7like/editor-window/editor-window.ts similarity index 100% rename from ui/src/app/editor-window/editor-window.ts rename to ui/src/app/skins/7like/editor-window/editor-window.ts diff --git a/ui/src/app/file-panel/file-panel.html b/ui/src/app/skins/7like/file-panel/file-panel.html similarity index 100% rename from ui/src/app/file-panel/file-panel.html rename to ui/src/app/skins/7like/file-panel/file-panel.html diff --git a/ui/src/app/file-panel/file-panel.ts b/ui/src/app/skins/7like/file-panel/file-panel.ts similarity index 100% rename from ui/src/app/file-panel/file-panel.ts rename to ui/src/app/skins/7like/file-panel/file-panel.ts diff --git a/ui/src/app/skins/7like/index.ts b/ui/src/app/skins/7like/index.ts new file mode 100644 index 0000000..9bab375 --- /dev/null +++ b/ui/src/app/skins/7like/index.ts @@ -0,0 +1,17 @@ +import { App } from './app'; +import { ConnectionManager } from './connection-manager/connection-manager'; +import { EditorWindow } from './editor-window/editor-window'; + +/** + * The three window roots of the Windows 7 skin, keyed by APP_MODE. + * + * Every skin exports this same shape, so main.ts selects a tree by skin and + * then a root by mode without knowing anything about either skin's internals. + * All three roots declare `selector: 'app-root'` — the single in + * index.html hosts whichever one gets bootstrapped. + */ +export const SEVEN_ROOTS = { + main: App, + manager: ConnectionManager, + editor: EditorWindow, +} as const; diff --git a/ui/src/app/status-bar/status-bar.ts b/ui/src/app/skins/7like/status-bar/status-bar.ts similarity index 100% rename from ui/src/app/status-bar/status-bar.ts rename to ui/src/app/skins/7like/status-bar/status-bar.ts diff --git a/ui/src/app/tab-bar/tab-bar.ts b/ui/src/app/skins/7like/tab-bar/tab-bar.ts similarity index 100% rename from ui/src/app/tab-bar/tab-bar.ts rename to ui/src/app/skins/7like/tab-bar/tab-bar.ts diff --git a/ui/src/app/title-bar/title-bar.ts b/ui/src/app/skins/7like/title-bar/title-bar.ts similarity index 100% rename from ui/src/app/title-bar/title-bar.ts rename to ui/src/app/skins/7like/title-bar/title-bar.ts diff --git a/ui/src/app/toasts/toasts.ts b/ui/src/app/skins/7like/toasts/toasts.ts similarity index 100% rename from ui/src/app/toasts/toasts.ts rename to ui/src/app/skins/7like/toasts/toasts.ts diff --git a/ui/src/app/transfer-bar/transfer-bar.html b/ui/src/app/skins/7like/transfer-bar/transfer-bar.html similarity index 100% rename from ui/src/app/transfer-bar/transfer-bar.html rename to ui/src/app/skins/7like/transfer-bar/transfer-bar.html diff --git a/ui/src/app/transfer-bar/transfer-bar.ts b/ui/src/app/skins/7like/transfer-bar/transfer-bar.ts similarity index 100% rename from ui/src/app/transfer-bar/transfer-bar.ts rename to ui/src/app/skins/7like/transfer-bar/transfer-bar.ts diff --git a/ui/src/main.ts b/ui/src/main.ts index aa52a98..cf8180e 100644 --- a/ui/src/main.ts +++ b/ui/src/main.ts @@ -1,10 +1,10 @@ import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from '@core/app.config'; -import { App } from './app/app'; -import { ConnectionManager } from './app/connection-manager/connection-manager'; -import { EditorWindow } from './app/editor-window/editor-window'; import { APP_MODE } from '@core/platform'; +import { SEVEN_ROOTS } from './app/skins/7like'; // One bundle, three window kinds: the preload global picks the root component. -const root = APP_MODE === 'editor' ? EditorWindow : APP_MODE === 'manager' ? ConnectionManager : App; +// A second axis (skin) joins APP_MODE here once the shadlike tree lands. +const tree = SEVEN_ROOTS; +const root = APP_MODE === 'editor' ? tree.editor : APP_MODE === 'manager' ? tree.manager : tree.main; bootstrapApplication(root, appConfig).catch((err) => console.error(err));