From eff62b0fd90a58fc4d06d94f96056bdcfcba8992 Mon Sep 17 00:00:00 2001 From: Arthur Belleville Date: Sun, 17 May 2026 15:26:28 +0200 Subject: [PATCH] feat(18-01): update templ wrapper signatures to forward pageTitle and breadcrumb - TablosDashboard: add pageTitle, breadcrumb params; pass through to AppLayout - TabloDetailPage: add pageTitle, breadcrumb params; pass through to AppLayout - TabloNotFoundPage: pass hardcoded 'Not found' values to AppLayout - PlanningPage: add pageTitle, breadcrumb params; pass through to AppLayout - AccountProvidersPage: add pageTitle, breadcrumb params; pass through to AppLayout --- backend/templates/account_providers.templ | 4 ++-- backend/templates/planning.templ | 4 ++-- backend/templates/tablos.templ | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/backend/templates/account_providers.templ b/backend/templates/account_providers.templ index 3198dd7..79dc6f2 100644 --- a/backend/templates/account_providers.templ +++ b/backend/templates/account_providers.templ @@ -5,8 +5,8 @@ import ( "backend/internal/db/sqlc" ) -templ AccountProvidersPage(user *auth.User, providers []LinkedProviderStatus, csrfToken string, activePath string, tablos []sqlc.Tablo) { - @AppLayout("Linked providers", user, csrfToken, activePath, tablos) { +templ AccountProvidersPage(user *auth.User, providers []LinkedProviderStatus, csrfToken string, activePath string, tablos []sqlc.Tablo, pageTitle string, breadcrumb []BreadcrumbItem) { + @AppLayout("Linked providers", user, csrfToken, activePath, tablos, pageTitle, breadcrumb, nil) {

Linked providers

diff --git a/backend/templates/planning.templ b/backend/templates/planning.templ index d065fab..424115b 100644 --- a/backend/templates/planning.templ +++ b/backend/templates/planning.templ @@ -5,8 +5,8 @@ import ( "backend/internal/db/sqlc" ) -templ PlanningPage(user *auth.User, csrfToken string, activePath string, tablos []sqlc.Tablo, agenda PlanningAgenda) { - @AppLayout("Planning - Xtablo", user, csrfToken, activePath, tablos) { +templ PlanningPage(user *auth.User, csrfToken string, activePath string, tablos []sqlc.Tablo, agenda PlanningAgenda, pageTitle string, breadcrumb []BreadcrumbItem) { + @AppLayout("Planning - Xtablo", user, csrfToken, activePath, tablos, pageTitle, breadcrumb, nil) {
diff --git a/backend/templates/tablos.templ b/backend/templates/tablos.templ index 2036749..19b7c79 100644 --- a/backend/templates/tablos.templ +++ b/backend/templates/tablos.templ @@ -9,8 +9,8 @@ import ( // TablosDashboard renders the root authenticated dashboard with sidebar AppLayout. // Shows a project-card grid (or empty state) for the user's tablos. // UI-SPEC §1 Interaction Contract — GET /. -templ TablosDashboard(user *auth.User, csrfToken string, activePath string, tablos []sqlc.Tablo, cards []TabloCardView) { - @AppLayout("Tablos — Xtablo", user, csrfToken, activePath, tablos) { +templ TablosDashboard(user *auth.User, csrfToken string, activePath string, tablos []sqlc.Tablo, cards []TabloCardView, pageTitle string, breadcrumb []BreadcrumbItem) { + @AppLayout("Tablos — Xtablo", user, csrfToken, activePath, tablos, pageTitle, breadcrumb, nil) {

Your Tablos

@@ -238,8 +238,8 @@ templ TabloCardWithOOBFormClear(tablo sqlc.Tablo, csrfToken string) { // activePath and sidebarTablos drive the AppLayout sidebar. // UI-SPEC §3 Interaction Contract — GET /tablos/{id}. // D-07: signature includes activeTab string param; D-08: tab bar links carry hx-push-url. -templ TabloDetailPage(user *auth.User, csrfToken string, activePath string, sidebarTablos []sqlc.Tablo, tablo sqlc.Tablo, tasks []sqlc.Task, etapes []sqlc.Etape, counts EtapeTaskCounts, filter EtapeFilter, files []sqlc.TabloFile, events EventsCalendar, discussion DiscussionTabData, activeTab string) { - @AppLayout("Tablos — Xtablo", user, csrfToken, activePath, sidebarTablos) { +templ TabloDetailPage(user *auth.User, csrfToken string, activePath string, sidebarTablos []sqlc.Tablo, tablo sqlc.Tablo, tasks []sqlc.Task, etapes []sqlc.Etape, counts EtapeTaskCounts, filter EtapeFilter, files []sqlc.TabloFile, events EventsCalendar, discussion DiscussionTabData, activeTab string, pageTitle string, breadcrumb []BreadcrumbItem) { + @AppLayout("Tablos — Xtablo", user, csrfToken, activePath, sidebarTablos, pageTitle, breadcrumb, nil) {
@@ -645,7 +645,7 @@ templ TabloDeleteConfirmFragment(tablo sqlc.Tablo, csrfToken string) { // activePath and sidebarTablos drive the AppLayout sidebar (pass "" and empty slice for not-found). // UI-SPEC Copywriting Contract: "Not found" + "This tablo doesn't exist or you don't have access." templ TabloNotFoundPage(user *auth.User, csrfToken string, activePath string, sidebarTablos []sqlc.Tablo) { - @AppLayout("Not found", user, csrfToken, activePath, sidebarTablos) { + @AppLayout("Not found", user, csrfToken, activePath, sidebarTablos, "Not found", nil, nil) {

Not found

This tablo doesn't exist or you don't have access.