Skip to content

Commit 1bf838a

Browse files
committed
chore: release version 9.1.5
- Bump version from 9.1.4 to 9.1.5 in manifest.json and versions.json - Update package.json version - Fix onboarding CSS selector specificity issues - Improve code formatting in ConfigPreview component - Adjust checkbox icon sizing in TaskGeniusIconManager
1 parent 3ed7f17 commit 1bf838a

File tree

7 files changed

+144
-83
lines changed

7 files changed

+144
-83
lines changed

manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"id": "obsidian-task-progress-bar",
33
"name": "Task Genius",
4-
"version": "9.1.4",
4+
"version": "9.1.5",
55
"minAppVersion": "0.15.2",
66
"description": "Comprehensive task management that includes progress bars, task status cycling, and advanced task tracking features.",
77
"author": "Boninall",

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "task-genius",
3-
"version": "9.1.4",
3+
"version": "9.1.5",
44
"description": "Comprehensive task management plugin for Obsidian with progress bars, task status cycling, and advanced task tracking features.",
55
"main": "main.js",
66
"scripts": {
Lines changed: 135 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
import { OnboardingConfig, OnboardingConfigManager } from "../../utils/OnboardingConfigManager";
1+
import {
2+
OnboardingConfig,
3+
OnboardingConfigManager,
4+
} from "../../utils/OnboardingConfigManager";
25
import { t } from "../../translations/helper";
36
import { setIcon } from "obsidian";
47
import 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+
}

src/styles/onboarding.css

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,8 @@
513513
font-weight: 500;
514514
}
515515

516-
.onboarding-view .updated-views .onboarding-modal .updated-views {
516+
.onboarding-view .updated-views,
517+
.onboarding-modal .updated-views {
517518
display: flex;
518519
}
519520

0 commit comments

Comments
 (0)