Skip to content

Commit 24aa696

Browse files
committed
Indicate indexing active on Update button in Obsidian plugin settings
Use moon rotating through phases to indicate notes indexing in progress Resolves #129
1 parent 11517ba commit 24aa696

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

src/interface/obsidian/src/settings.ts

+25-2
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,37 @@ export class KhojSettingTab extends PluginSettingTab {
5959
.setCta()
6060
.onClick(async () => {
6161
// Disable button while updating index
62-
button.setButtonText('Updating...');
62+
button.setButtonText('Updating 🌑');
6363
button.removeCta();
6464
indexVaultSetting = indexVaultSetting.setDisabled(true);
6565

66+
// Show indicator for indexing in progress
67+
const progress_indicator = window.setInterval(() => {
68+
if (button.buttonEl.innerText === 'Updating 🌑') {
69+
button.setButtonText('Updating 🌘');
70+
} else if (button.buttonEl.innerText === 'Updating 🌘') {
71+
button.setButtonText('Updating 🌗');
72+
} else if (button.buttonEl.innerText === 'Updating 🌗') {
73+
button.setButtonText('Updating 🌖');
74+
} else if (button.buttonEl.innerText === 'Updating 🌖') {
75+
button.setButtonText('Updating 🌕');
76+
} else if (button.buttonEl.innerText === 'Updating 🌕') {
77+
button.setButtonText('Updating 🌔');
78+
} else if (button.buttonEl.innerText === 'Updating 🌔') {
79+
button.setButtonText('Updating 🌓');
80+
} else if (button.buttonEl.innerText === 'Updating 🌓') {
81+
button.setButtonText('Updating 🌒');
82+
} else if (button.buttonEl.innerText === 'Updating 🌒') {
83+
button.setButtonText('Updating 🌑');
84+
}
85+
}, 300);
86+
this.plugin.registerInterval(progress_indicator);
87+
6688
await request(`${this.plugin.settings.khojUrl}/api/update?t=markdown&force=true`);
6789
new Notice('✅ Updated Khoj index.');
6890

69-
// Re-enable button once index is updated
91+
// Reset button once index is updated
92+
window.clearInterval(progress_indicator);
7093
button.setButtonText('Update');
7194
button.setCta();
7295
indexVaultSetting = indexVaultSetting.setDisabled(false);

0 commit comments

Comments
 (0)