fix: auto-save met à jour le titre du sidebar sans recharger la page
- sidebar items: attribut data-page-id ajouté pour ciblage DOM - save(): après PUT réussi, met à jour .page-name dans le sidebar - saveTitle(): reload la page (changement de titre = reload ok)
This commit is contained in:
@@ -138,7 +138,8 @@
|
||||
const title = document.querySelector('.page-title h1')?.textContent || 'New page';
|
||||
const csrf = document.cookie.match(/csrf_token=([^;]+)/);
|
||||
const token = csrf ? csrf[1] : '';
|
||||
fetch(`/board/api/pages/{{ page.id }}?title=${encodeURIComponent(title)}&content=${encodeURIComponent(this.content)}`, {
|
||||
const pageId = '{{ page.id }}';
|
||||
fetch(`/board/api/pages/${pageId}?title=${encodeURIComponent(title)}&content=${encodeURIComponent(this.content)}`, {
|
||||
method: 'PUT',
|
||||
headers: { 'X-CSRF-Token': token }
|
||||
})
|
||||
@@ -147,6 +148,12 @@
|
||||
this.dirty = false;
|
||||
this.saving = false;
|
||||
this.lastSaved = new Date().toLocaleTimeString();
|
||||
// Update sidebar title without reloading
|
||||
const sidebarItem = document.querySelector(`.sidebar-item[data-page-id="page/${pageId}"]`);
|
||||
if (sidebarItem) {
|
||||
const nameEl = sidebarItem.querySelector('.page-name');
|
||||
if (nameEl) nameEl.textContent = title;
|
||||
}
|
||||
});
|
||||
},
|
||||
saveTitle(newTitle) {
|
||||
|
||||
Reference in New Issue
Block a user