1- import { OnboardingConfig , OnboardingConfigManager } from "../../utils/OnboardingConfigManager" ;
1+ import {
2+ OnboardingConfig ,
3+ OnboardingConfigManager ,
4+ } from "../../utils/OnboardingConfigManager" ;
25import { t } from "../../translations/helper" ;
36import { setIcon } from "obsidian" ;
47import type TaskProgressBarPlugin from "../../index" ;
@@ -18,24 +21,28 @@ export class ConfigPreview {
1821
1922 // Configuration overview
2023 const overviewSection = containerEl . createDiv ( "config-overview" ) ;
21-
24+
2225 const selectedModeEl = overviewSection . createDiv ( "selected-mode" ) ;
2326 selectedModeEl . createEl ( "h3" , { text : t ( "Selected Mode" ) } ) ;
24-
27+
2528 const modeCard = selectedModeEl . createDiv ( "mode-card" ) ;
2629 const modeIcon = modeCard . createDiv ( "mode-icon" ) ;
2730 setIcon ( modeIcon , this . getConfigIcon ( config . mode ) ) ;
28-
31+
2932 const modeContent = modeCard . createDiv ( "mode-content" ) ;
3033 modeContent . createEl ( "h4" , { text : config . name } ) ;
3134 modeContent . createEl ( "p" , { text : config . description } ) ;
3235
3336 // Features that will be enabled
3437 const featuresSection = containerEl . createDiv ( "config-features" ) ;
35- featuresSection . createEl ( "h3" , { text : t ( "Features that will be enabled" ) } ) ;
36-
37- const featuresList = featuresSection . createEl ( "ul" , { cls : "enabled-features-list" } ) ;
38- config . features . forEach ( feature => {
38+ featuresSection . createEl ( "h3" , {
39+ text : t ( "Features that will be enabled" ) ,
40+ } ) ;
41+
42+ const featuresList = featuresSection . createEl ( "ul" , {
43+ cls : "enabled-features-list" ,
44+ } ) ;
45+ config . features . forEach ( ( feature ) => {
3946 const featureItem = featuresList . createEl ( "li" ) ;
4047 const checkIcon = featureItem . createSpan ( "feature-check" ) ;
4148 setIcon ( checkIcon , "check" ) ;
@@ -50,30 +57,35 @@ export class ConfigPreview {
5057
5158 // Note about customization
5259 const customizationNote = containerEl . createDiv ( "customization-note" ) ;
53- customizationNote . createEl ( "p" , {
54- text : t ( "Don't worry! You can customize any of these settings later in the plugin settings." ) ,
55- cls : "note-text"
60+ customizationNote . createEl ( "p" , {
61+ text : t (
62+ "Don't worry! You can customize any of these settings later in the plugin settings."
63+ ) ,
64+ cls : "note-text" ,
5665 } ) ;
5766 }
5867
5968 /**
6069 * Render views preview
6170 */
62- private renderViewsPreview ( containerEl : HTMLElement , config : OnboardingConfig ) {
71+ private renderViewsPreview (
72+ containerEl : HTMLElement ,
73+ config : OnboardingConfig
74+ ) {
6375 if ( ! config . settings . viewConfiguration ) return ;
6476
6577 const viewsSection = containerEl . createDiv ( "config-views" ) ;
6678 viewsSection . createEl ( "h3" , { text : t ( "Available views" ) } ) ;
6779
6880 const viewsGrid = viewsSection . createDiv ( "views-grid" ) ;
69-
70- config . settings . viewConfiguration . forEach ( view => {
81+
82+ config . settings . viewConfiguration . forEach ( ( view ) => {
7183 const viewItem = viewsGrid . createDiv ( "view-item" ) ;
72-
84+
7385 const viewIcon = viewItem . createDiv ( "view-icon" ) ;
7486 // Use native Obsidian icon from view.icon
7587 setIcon ( viewIcon , view . icon || "list" ) ;
76-
88+
7789 const viewName = viewItem . createDiv ( "view-name" ) ;
7890 viewName . setText ( view . name ) ;
7991 } ) ;
@@ -82,29 +94,38 @@ export class ConfigPreview {
8294 /**
8395 * Render settings summary
8496 */
85- private renderSettingsSummary ( containerEl : HTMLElement , config : OnboardingConfig ) {
97+ private renderSettingsSummary (
98+ containerEl : HTMLElement ,
99+ config : OnboardingConfig
100+ ) {
86101 const settingsSection = containerEl . createDiv ( "config-settings" ) ;
87102 settingsSection . createEl ( "h3" , { text : t ( "Key settings" ) } ) ;
88103
89- const settingsList = settingsSection . createEl ( "ul" , { cls : "settings-summary-list" } ) ;
104+ const settingsList = settingsSection . createEl ( "ul" , {
105+ cls : "settings-summary-list" ,
106+ } ) ;
90107
91108 // Progress bars
92109 if ( config . settings . progressBarDisplayMode ) {
93110 const item = settingsList . createEl ( "li" ) ;
94111 item . createSpan ( "setting-label" ) . setText ( t ( "Progress bars" ) + ":" ) ;
95112 item . createSpan ( "setting-value" ) . setText (
96- config . settings . progressBarDisplayMode === "both" ?
97- t ( "Enabled (both graphical and text)" ) :
98- config . settings . progressBarDisplayMode
113+ config . settings . progressBarDisplayMode === "both"
114+ ? t ( "Enabled (both graphical and text)" )
115+ : config . settings . progressBarDisplayMode
99116 ) ;
100117 }
101118
102119 // Task status switching
103120 if ( config . settings . enableTaskStatusSwitcher !== undefined ) {
104121 const item = settingsList . createEl ( "li" ) ;
105- item . createSpan ( "setting-label" ) . setText ( t ( "Task status switching" ) + ":" ) ;
122+ item . createSpan ( "setting-label" ) . setText (
123+ t ( "Task status switching" ) + ":"
124+ ) ;
106125 item . createSpan ( "setting-value" ) . setText (
107- config . settings . enableTaskStatusSwitcher ? t ( "Enabled" ) : t ( "Disabled" )
126+ config . settings . enableTaskStatusSwitcher
127+ ? t ( "Enabled" )
128+ : t ( "Disabled" )
108129 ) ;
109130 }
110131
@@ -113,16 +134,22 @@ export class ConfigPreview {
113134 const item = settingsList . createEl ( "li" ) ;
114135 item . createSpan ( "setting-label" ) . setText ( t ( "Quick capture" ) + ":" ) ;
115136 item . createSpan ( "setting-value" ) . setText (
116- config . settings . quickCapture . enableQuickCapture ? t ( "Enabled" ) : t ( "Disabled" )
137+ config . settings . quickCapture . enableQuickCapture
138+ ? t ( "Enabled" )
139+ : t ( "Disabled" )
117140 ) ;
118141 }
119142
120143 // Workflow
121144 if ( config . settings . workflow ?. enableWorkflow !== undefined ) {
122145 const item = settingsList . createEl ( "li" ) ;
123- item . createSpan ( "setting-label" ) . setText ( t ( "Workflow management" ) + ":" ) ;
146+ item . createSpan ( "setting-label" ) . setText (
147+ t ( "Workflow management" ) + ":"
148+ ) ;
124149 item . createSpan ( "setting-value" ) . setText (
125- config . settings . workflow . enableWorkflow ? t ( "Enabled" ) : t ( "Disabled" )
150+ config . settings . workflow . enableWorkflow
151+ ? t ( "Enabled" )
152+ : t ( "Disabled" )
126153 ) ;
127154 }
128155
@@ -131,7 +158,9 @@ export class ConfigPreview {
131158 const item = settingsList . createEl ( "li" ) ;
132159 item . createSpan ( "setting-label" ) . setText ( t ( "Reward system" ) + ":" ) ;
133160 item . createSpan ( "setting-value" ) . setText (
134- config . settings . rewards . enableRewards ? t ( "Enabled" ) : t ( "Disabled" )
161+ config . settings . rewards . enableRewards
162+ ? t ( "Enabled" )
163+ : t ( "Disabled" )
135164 ) ;
136165 }
137166
@@ -140,55 +169,70 @@ export class ConfigPreview {
140169 const item = settingsList . createEl ( "li" ) ;
141170 item . createSpan ( "setting-label" ) . setText ( t ( "Habit tracking" ) + ":" ) ;
142171 item . createSpan ( "setting-value" ) . setText (
143- config . settings . habit . enableHabits ? t ( "Enabled" ) : t ( "Disabled" )
172+ config . settings . habit . enableHabits
173+ ? t ( "Enabled" )
174+ : t ( "Disabled" )
144175 ) ;
145176 }
146177
147178 // Performance features
148- if ( config . settings . fileParsingConfig ?. enableWorkerProcessing !== undefined ) {
179+ if (
180+ config . settings . fileParsingConfig ?. enableWorkerProcessing !==
181+ undefined
182+ ) {
149183 const item = settingsList . createEl ( "li" ) ;
150- item . createSpan ( "setting-label" ) . setText ( t ( "Performance optimization" ) + ":" ) ;
184+ item . createSpan ( "setting-label" ) . setText (
185+ t ( "Performance optimization" ) + ":"
186+ ) ;
151187 item . createSpan ( "setting-value" ) . setText (
152- config . settings . fileParsingConfig . enableWorkerProcessing ? t ( "Enabled" ) : t ( "Disabled" )
188+ config . settings . fileParsingConfig . enableWorkerProcessing
189+ ? t ( "Enabled" )
190+ : t ( "Disabled" )
153191 ) ;
154192 }
155193
156194 // Show configuration change preview
157195 this . renderConfigurationChanges ( containerEl , config ) ;
158-
159- // Customization note
160- const note = containerEl . createDiv ( "customization-note" ) ;
161- note . createEl ( "p" , {
162- text : t (
163- "You can adjust any of these settings later in the plugin settings."
164- ) ,
165- cls : "note-text" ,
166- } ) ;
167196 }
168197
169198 /**
170199 * Render configuration changes preview
171200 */
172- private renderConfigurationChanges ( containerEl : HTMLElement , config : OnboardingConfig ) {
201+ private renderConfigurationChanges (
202+ containerEl : HTMLElement ,
203+ config : OnboardingConfig
204+ ) {
173205 try {
174- const preview = this . configManager . getConfigurationPreview ( config . mode ) ;
175-
206+ const preview = this . configManager . getConfigurationPreview (
207+ config . mode
208+ ) ;
209+
176210 // Show change summary section
177- const changesSection = containerEl . createDiv ( "config-changes-summary" ) ;
211+ const changesSection = containerEl . createDiv (
212+ "config-changes-summary"
213+ ) ;
178214 changesSection . createEl ( "h3" , { text : t ( "Configuration Changes" ) } ) ;
179215
180216 // User custom views preserved
181217 if ( preview . userCustomViewsPreserved . length > 0 ) {
182- const preservedSection = changesSection . createDiv ( "preserved-views" ) ;
183- const preservedHeader = preservedSection . createDiv ( "preserved-header" ) ;
184- const preservedIcon = preservedHeader . createSpan ( "preserved-icon" ) ;
218+ const preservedSection =
219+ changesSection . createDiv ( "preserved-views" ) ;
220+ const preservedHeader =
221+ preservedSection . createDiv ( "preserved-header" ) ;
222+ const preservedIcon =
223+ preservedHeader . createSpan ( "preserved-icon" ) ;
185224 setIcon ( preservedIcon , "shield-check" ) ;
186- preservedHeader . createSpan ( "preserved-text" ) . setText (
187- t ( "Your custom views will be preserved" ) + ` (${ preview . userCustomViewsPreserved . length } )`
188- ) ;
189-
190- const preservedList = preservedSection . createEl ( "ul" , { cls : "preserved-views-list" } ) ;
191- preview . userCustomViewsPreserved . forEach ( view => {
225+ preservedHeader
226+ . createSpan ( "preserved-text" )
227+ . setText (
228+ t ( "Your custom views will be preserved" ) +
229+ ` (${ preview . userCustomViewsPreserved . length } )`
230+ ) ;
231+
232+ const preservedList = preservedSection . createEl ( "ul" , {
233+ cls : "preserved-views-list" ,
234+ } ) ;
235+ preview . userCustomViewsPreserved . forEach ( ( view ) => {
192236 const item = preservedList . createEl ( "li" ) ;
193237 const viewIcon = item . createSpan ( ) ;
194238 setIcon ( viewIcon , view . icon || "list" ) ;
@@ -201,30 +245,43 @@ export class ConfigPreview {
201245 const addedSection = changesSection . createDiv ( "added-views" ) ;
202246 const addedIcon = addedSection . createSpan ( "change-icon" ) ;
203247 setIcon ( addedIcon , "plus-circle" ) ;
204- addedSection . createSpan ( "change-text" ) . setText (
205- t ( "New views to be added" ) + ` (${ preview . viewsToAdd . length } )`
206- ) ;
248+ addedSection
249+ . createSpan ( "change-text" )
250+ . setText (
251+ t ( "New views to be added" ) +
252+ ` (${ preview . viewsToAdd . length } )`
253+ ) ;
207254 }
208255
209256 // Views to be updated
210257 if ( preview . viewsToUpdate . length > 0 ) {
211- const updatedSection = changesSection . createDiv ( "updated-views" ) ;
258+ const updatedSection =
259+ changesSection . createDiv ( "updated-views" ) ;
212260 const updatedIcon = updatedSection . createSpan ( "change-icon" ) ;
213261 setIcon ( updatedIcon , "refresh-cw" ) ;
214- updatedSection . createSpan ( "change-text" ) . setText (
215- t ( "Existing views to be updated" ) + ` (${ preview . viewsToUpdate . length } )`
216- ) ;
262+ updatedSection
263+ . createSpan ( "change-text" )
264+ . setText (
265+ t ( "Existing views to be updated" ) +
266+ ` (${ preview . viewsToUpdate . length } )`
267+ ) ;
217268 }
218269
219270 // Settings changes
220271 if ( preview . settingsChanges . length > 0 ) {
221- const settingsChangesSection = changesSection . createDiv ( "settings-changes" ) ;
222- const settingsIcon = settingsChangesSection . createSpan ( "change-icon" ) ;
272+ const settingsChangesSection =
273+ changesSection . createDiv ( "settings-changes" ) ;
274+ const settingsIcon =
275+ settingsChangesSection . createSpan ( "change-icon" ) ;
223276 setIcon ( settingsIcon , "settings" ) ;
224- settingsChangesSection . createSpan ( "change-text" ) . setText ( t ( "Feature changes" ) ) ;
225-
226- const changesList = settingsChangesSection . createEl ( "ul" , { cls : "settings-changes-list" } ) ;
227- preview . settingsChanges . forEach ( change => {
277+ settingsChangesSection
278+ . createSpan ( "change-text" )
279+ . setText ( t ( "Feature changes" ) ) ;
280+
281+ const changesList = settingsChangesSection . createEl ( "ul" , {
282+ cls : "settings-changes-list" ,
283+ } ) ;
284+ preview . settingsChanges . forEach ( ( change ) => {
228285 const item = changesList . createEl ( "li" ) ;
229286 item . setText ( change ) ;
230287 } ) ;
@@ -234,10 +291,13 @@ export class ConfigPreview {
234291 const safetyNote = changesSection . createDiv ( "safety-note" ) ;
235292 const safetyIcon = safetyNote . createSpan ( "safety-icon" ) ;
236293 setIcon ( safetyIcon , "info" ) ;
237- safetyNote . createSpan ( "safety-text" ) . setText (
238- t ( "Only template settings will be applied. Your existing custom configurations will be preserved." )
239- ) ;
240-
294+ safetyNote
295+ . createSpan ( "safety-text" )
296+ . setText (
297+ t (
298+ "Only template settings will be applied. Your existing custom configurations will be preserved."
299+ )
300+ ) ;
241301 } catch ( error ) {
242302 console . warn ( "Could not generate configuration preview:" , error ) ;
243303 }
@@ -248,15 +308,14 @@ export class ConfigPreview {
248308 */
249309 private getConfigIcon ( mode : string ) : string {
250310 switch ( mode ) {
251- case ' beginner' :
311+ case " beginner" :
252312 return "edit-3" ; // Lucide edit icon
253- case ' advanced' :
254- return "settings" ; // Lucide settings icon
255- case ' power' :
313+ case " advanced" :
314+ return "settings" ; // Lucide settings icon
315+ case " power" :
256316 return "zap" ; // Lucide lightning bolt icon
257317 default :
258318 return "clipboard-list" ; // Lucide clipboard icon
259319 }
260320 }
261-
262- }
321+ }
0 commit comments