feat: emulate mobile mode

This commit is contained in:
Michael Naumov 2025-10-17 00:48:51 -06:00
parent d347c2437f
commit 2689132575
4 changed files with 348 additions and 258 deletions

580
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -25,7 +25,7 @@
"version": "obsidian-dev-utils version"
},
"devDependencies": {
"@commitlint/cli": "^20.0.0",
"@commitlint/cli": "^20.1.0",
"@commitlint/config-conventional": "^20.0.0",
"@commitlint/types": "^20.0.0",
"@tsconfig/strictest": "latest",

View file

@ -72,4 +72,11 @@ export class Plugin extends PluginBase<PluginTypes> {
this.longStackTracesComponent?.unload();
this.longStackTracesComponent?.load();
}
public isEmulateMobileMode(): boolean {
return document.body.hasClass('emulate-mobile');
}
public toggleEmulateMobileMode(isEnabled: boolean): void {
this.app.emulateMobile(isEnabled);
}
}

View file

@ -38,6 +38,23 @@ export class PluginSettingsTab extends PluginSettingsTabBase<PluginTypes> {
});
});
new Setting(this.containerEl)
.setName('Desktop: Emulate mobile mode')
.setDesc(createFragment((f) => {
f.appendText('Enable/disable emulating mobile mode ');
f.createEl('strong', { text: '(Desktop only)' });
f.appendText('.');
f.createEl('br');
f.appendText('⚠️ This setting change will reload the app.');
}))
.addToggle((toggle) => {
toggle.setValue(this.plugin.isEmulateMobileMode());
toggle.onChange((value) => {
this.plugin.toggleEmulateMobileMode(value);
});
});
new Setting(this.containerEl)
.setName('Debug namespaces')
.setDesc(createFragment((f) => {