mirror of
https://github.com/zoldar/jenot.git
synced 2026-01-03 06:22:55 +00:00
Improve modal backdrop scroll prevention and vsizing
This commit is contained in:
parent
d68d35e2c1
commit
ed4e3ab12d
2 changed files with 21 additions and 8 deletions
|
|
@ -166,13 +166,13 @@ editNote.addEventListener("updateNoteInProgress", async (e) => {
|
|||
editNote.addEventListener("updateNote", async (e) => {
|
||||
await Notes.update(e.detail);
|
||||
Notes.saveStorage();
|
||||
editNoteDialog.close();
|
||||
closeModal(editNoteDialog);
|
||||
});
|
||||
|
||||
editNote.addEventListener("deleteNote", async (e) => {
|
||||
await Notes.remove(e.detail);
|
||||
Notes.saveStorage();
|
||||
editNoteDialog.close();
|
||||
closeModal(editNoteDialog);
|
||||
});
|
||||
|
||||
// The notes rendering routine is optimized to replace only
|
||||
|
|
@ -234,6 +234,22 @@ async function render() {
|
|||
notes.forEach((n) => (currentNotes[n.id] = structuredClone(n)));
|
||||
}
|
||||
|
||||
function openModal(modal) {
|
||||
document.body.style.top = `-${window.scrollY}px`;
|
||||
document.body.style.position = "fixed";
|
||||
|
||||
modal.showModal();
|
||||
}
|
||||
|
||||
function closeModal(modal) {
|
||||
modal.close();
|
||||
|
||||
const scrollY = document.body.style.top;
|
||||
document.body.style.position = "";
|
||||
document.body.style.top = "";
|
||||
window.scrollTo(0, parseInt(scrollY || "0") * -1);
|
||||
}
|
||||
|
||||
function renderNote(note) {
|
||||
const container = document.createElement("div");
|
||||
container.id = note.id;
|
||||
|
|
@ -287,7 +303,7 @@ function renderNote(note) {
|
|||
if (e.target.tagName !== "A") {
|
||||
const note = await Notes.get(container.id);
|
||||
editNote.load(structuredClone(note));
|
||||
editNoteDialog.showModal();
|
||||
openModal(editNoteDialog);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ dialog {
|
|||
border: 0;
|
||||
background: transparent;
|
||||
max-width: 100vw;
|
||||
max-height: 100vh;
|
||||
max-height: 90vh;
|
||||
}
|
||||
|
||||
::backdrop {
|
||||
|
|
@ -61,10 +61,7 @@ dialog {
|
|||
body {
|
||||
line-height: 1.5;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
body:has(dialog[open]) {
|
||||
overflow: hidden;
|
||||
width: 100vw;
|
||||
}
|
||||
|
||||
img,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue