fix: auto-save met à jour le titre du sidebar sans recharger la page
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped

- 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:
2026-07-08 16:01:24 -04:00
parent c00442c693
commit b826cfc247
2 changed files with 14 additions and 4 deletions
+6 -3
View File
@@ -56,7 +56,8 @@
{% for page in recent_pages %}
<li class="sidebar-item {% if page.active %}active{% endif %} {% if page.indent %}indent-{{ page.indent }}{% endif %}"
@click="navigateTo('{{ page.url }}')"
@contextmenu.prevent="showContextMenu($event, '{{ page.id }}', '{{ page.name }}')">
@contextmenu.prevent="showContextMenu($event, '{{ page.id }}', '{{ page.name }}')"
data-page-id="{{ page.id }}">
<span class="page-icon">{{ page.icon }}</span>
<span class="page-name">{{ page.name }}</span>
<span class="item-actions">
@@ -89,7 +90,8 @@
{% for page in private_pages %}
<li class="sidebar-item {% if page.active %}active{% endif %} {% if page.indent %}indent-{{ page.indent }}{% endif %}"
@click="navigateTo('{{ page.url }}')"
@contextmenu.prevent="showContextMenu($event, '{{ page.id }}', '{{ page.name }}')">
@contextmenu.prevent="showContextMenu($event, '{{ page.id }}', '{{ page.name }}')"
data-page-id="{{ page.id }}">
<span class="page-icon">{{ page.icon }}</span>
<span class="page-name">{{ page.name }}</span>
<span class="item-actions">
@@ -134,7 +136,8 @@
{% for page in favorite_pages %}
<li class="sidebar-item {% if page.active %}active{% endif %}"
@click="navigateTo('{{ page.url }}')"
@contextmenu.prevent="showContextMenu($event, '{{ page.id }}', '{{ page.name }}')">
@contextmenu.prevent="showContextMenu($event, '{{ page.id }}', '{{ page.name }}')"
data-page-id="{{ page.id }}">
<span class="page-icon">{{ page.icon }}</span>
<span class="page-name">{{ page.name }}</span>
<span class="item-actions">
+8 -1
View File
@@ -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) {