|
1 | 1 | import type { DashboardDisplaySettings } from "../dashboard-settings.js"; |
2 | | -import type { PluginConfig } from "../types.js"; |
3 | | -import type { SettingsHubActionType } from "./unified-settings-controller.js"; |
| 2 | +import type { |
| 3 | + UnifiedSettingsControllerDeps, |
| 4 | +} from "./unified-settings-controller.js"; |
4 | 5 |
|
5 | 6 | export async function configureUnifiedSettingsEntry( |
6 | 7 | initialSettings: DashboardDisplaySettings | undefined, |
7 | 8 | deps: { |
8 | 9 | configureUnifiedSettingsController: ( |
9 | 10 | initialSettings: DashboardDisplaySettings | undefined, |
10 | | - deps: { |
11 | | - cloneDashboardSettings: ( |
12 | | - settings: DashboardDisplaySettings, |
13 | | - ) => DashboardDisplaySettings; |
14 | | - cloneBackendPluginConfig: (config: PluginConfig) => PluginConfig; |
15 | | - loadDashboardDisplaySettings: () => Promise<DashboardDisplaySettings>; |
16 | | - loadPluginConfig: () => PluginConfig; |
17 | | - applyUiThemeFromDashboardSettings: ( |
18 | | - settings: DashboardDisplaySettings, |
19 | | - ) => void; |
20 | | - promptSettingsHub: ( |
21 | | - focus: SettingsHubActionType, |
22 | | - ) => Promise<{ type: SettingsHubActionType } | null>; |
23 | | - configureDashboardDisplaySettings: ( |
24 | | - current: DashboardDisplaySettings, |
25 | | - ) => Promise<DashboardDisplaySettings>; |
26 | | - configureStatuslineSettings: ( |
27 | | - current: DashboardDisplaySettings, |
28 | | - ) => Promise<DashboardDisplaySettings>; |
29 | | - promptBehaviorSettings: ( |
30 | | - current: DashboardDisplaySettings, |
31 | | - ) => Promise<DashboardDisplaySettings | null>; |
32 | | - promptThemeSettings: ( |
33 | | - current: DashboardDisplaySettings, |
34 | | - ) => Promise<DashboardDisplaySettings | null>; |
35 | | - dashboardSettingsEqual: ( |
36 | | - left: DashboardDisplaySettings, |
37 | | - right: DashboardDisplaySettings, |
38 | | - ) => boolean; |
39 | | - persistDashboardSettingsSelection: ( |
40 | | - selected: DashboardDisplaySettings, |
41 | | - keys: readonly (keyof DashboardDisplaySettings)[], |
42 | | - scope: string, |
43 | | - ) => Promise<DashboardDisplaySettings>; |
44 | | - promptExperimentalSettings: ( |
45 | | - config: PluginConfig, |
46 | | - ) => Promise<PluginConfig | null>; |
47 | | - backendSettingsEqual: ( |
48 | | - left: PluginConfig, |
49 | | - right: PluginConfig, |
50 | | - ) => boolean; |
51 | | - persistBackendConfigSelection: ( |
52 | | - config: PluginConfig, |
53 | | - scope: string, |
54 | | - ) => Promise<PluginConfig>; |
55 | | - configureBackendSettings: ( |
56 | | - config: PluginConfig, |
57 | | - ) => Promise<PluginConfig>; |
58 | | - BEHAVIOR_PANEL_KEYS: readonly (keyof DashboardDisplaySettings)[]; |
59 | | - THEME_PANEL_KEYS: readonly (keyof DashboardDisplaySettings)[]; |
60 | | - }, |
| 11 | + deps: UnifiedSettingsControllerDeps, |
61 | 12 | ) => Promise<DashboardDisplaySettings>; |
62 | | - cloneDashboardSettings: ( |
63 | | - settings: DashboardDisplaySettings, |
64 | | - ) => DashboardDisplaySettings; |
65 | | - cloneBackendPluginConfig: (config: PluginConfig) => PluginConfig; |
66 | | - loadDashboardDisplaySettings: () => Promise<DashboardDisplaySettings>; |
67 | | - loadPluginConfig: () => PluginConfig; |
68 | | - applyUiThemeFromDashboardSettings: ( |
69 | | - settings: DashboardDisplaySettings, |
70 | | - ) => void; |
71 | | - promptSettingsHub: ( |
72 | | - focus: SettingsHubActionType, |
73 | | - ) => Promise<{ type: SettingsHubActionType } | null>; |
74 | | - configureDashboardDisplaySettings: ( |
75 | | - current: DashboardDisplaySettings, |
76 | | - ) => Promise<DashboardDisplaySettings>; |
77 | | - configureStatuslineSettings: ( |
78 | | - current: DashboardDisplaySettings, |
79 | | - ) => Promise<DashboardDisplaySettings>; |
80 | | - promptBehaviorSettings: ( |
81 | | - current: DashboardDisplaySettings, |
82 | | - ) => Promise<DashboardDisplaySettings | null>; |
83 | | - promptThemeSettings: ( |
84 | | - current: DashboardDisplaySettings, |
85 | | - ) => Promise<DashboardDisplaySettings | null>; |
86 | | - dashboardSettingsEqual: ( |
87 | | - left: DashboardDisplaySettings, |
88 | | - right: DashboardDisplaySettings, |
89 | | - ) => boolean; |
90 | | - persistDashboardSettingsSelection: ( |
91 | | - selected: DashboardDisplaySettings, |
92 | | - keys: readonly (keyof DashboardDisplaySettings)[], |
93 | | - scope: string, |
94 | | - ) => Promise<DashboardDisplaySettings>; |
95 | | - promptExperimentalSettings: ( |
96 | | - config: PluginConfig, |
97 | | - ) => Promise<PluginConfig | null>; |
98 | | - backendSettingsEqual: (left: PluginConfig, right: PluginConfig) => boolean; |
99 | | - persistBackendConfigSelection: ( |
100 | | - config: PluginConfig, |
101 | | - scope: string, |
102 | | - ) => Promise<PluginConfig>; |
103 | | - configureBackendSettings: (config: PluginConfig) => Promise<PluginConfig>; |
104 | | - BEHAVIOR_PANEL_KEYS: readonly (keyof DashboardDisplaySettings)[]; |
105 | | - THEME_PANEL_KEYS: readonly (keyof DashboardDisplaySettings)[]; |
106 | | - }, |
| 13 | + } & UnifiedSettingsControllerDeps, |
107 | 14 | ): Promise<DashboardDisplaySettings> { |
108 | 15 | return deps.configureUnifiedSettingsController(initialSettings, { |
109 | 16 | cloneDashboardSettings: deps.cloneDashboardSettings, |
|
0 commit comments