fix: keep packaged dialogs inside mobile safe areas

This commit is contained in:
vorotamoroz
2026-07-17 13:28:58 +00:00
parent d5754f1f54
commit 298738fc67
10 changed files with 377 additions and 14 deletions
@@ -42,6 +42,18 @@
</div>
<style>
:global(body.is-mobile .livesync-svelte-dialog-container) {
box-sizing: border-box;
padding-top: var(--safe-area-inset-top, env(safe-area-inset-top, 0px));
padding-right: var(--safe-area-inset-right, env(safe-area-inset-right, 0px));
padding-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px));
padding-left: var(--safe-area-inset-left, env(safe-area-inset-left, 0px));
}
:global(body.is-mobile .livesync-svelte-dialog-container .modal) {
max-height: 100%;
}
.dialog-host {
padding: 20px;
gap: 0.5em;
@@ -23,6 +23,11 @@ export class SvelteDialogObsidian<
super(context.app);
this.initDialog(context, dependents, component, initialData);
}
override onOpen(): void {
super.onOpen();
this.contentEl.closest(".modal-container")?.classList.add("livesync-svelte-dialog-container");
}
}
export class ObsidianSvelteDialogManager<T extends ObsidianServiceContext> extends SvelteDialogManagerBase<T> {