fix: resolve infinite loading on Settings tab and synchronize database
CI / Test (Python 3.11) (push) Has been cancelled
CI / Test (Python 3.12) (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / Type Check (push) Has been cancelled
CI / Summary (push) Has been cancelled

- Manually triggered database table creation for AppSettingsTable.
- Refactored HTMX triggers in index.html to prevent redundant loading.
- Improved provider toggle mechanism with explicit refresh-settings event.
- Simplified router responses for better HTMX integration.
This commit is contained in:
root
2026-03-26 22:35:02 +00:00
parent 0c03f4f4a6
commit 5d23a3d663
3 changed files with 4 additions and 9 deletions
+1 -5
View File
@@ -67,11 +67,7 @@ async def update_settings(
response.headers["HX-Trigger"] = json.dumps({"show-toast": {"message": "Paramètres enregistrés", "type": "success"}})
return AppSettings(
default_lang=settings_obj.default_lang,
theme=settings_obj.theme,
disabled_providers=settings_obj.disabled_providers
)
return settings_obj
@router.get("/providers/availability")
+2 -3
View File
@@ -58,9 +58,8 @@
<button class="btn {% if provider.enabled %}btn-secondary{% else %}btn-accent{% endif %} btn-sm"
hx-post="/api/settings/providers/{{ provider.id }}/toggle"
hx-target="closest .settings-container"
hx-get="/api/settings/ui"
hx-trigger="click delay:200ms"
hx-swap="none"
hx-on::after-request="htmx.trigger('#tab-settings > div', 'refresh-settings')"
style="min-width: 100px;">
{% if provider.enabled %}Désactiver{% else %}Activer{% endif %}
</button>
+1 -1
View File
@@ -143,7 +143,7 @@
</div>
<div id="tab-settings" class="tab-content" x-show="activeTab === 'settings'">
<div hx-get="/api/settings/ui" hx-trigger="load, set-tab[detail.tab === 'settings'] from:window" hx-swap="innerHTML">
<div hx-get="/api/settings/ui" hx-trigger="set-tab[detail.tab === 'settings'] from:window, refresh-settings" hx-swap="innerHTML">
<div class="loading-placeholder">
<div class="spinner"></div> Chargement des paramètres...
</div>