xtablo-source/backend/templates/account_providers.templ
Arthur Belleville c7a16dbcae
feat(15-03): wire AppLayout into all authenticated handlers and templates
- TablosListHandler: derives sidebarTablos from cardViews, calls TablosDashboard with activePath="/"
- TabloDetailHandler: fetches ListTablosByUser for sidebar, calls TabloDetailPage with activePath=""
- TabloUpdateHandler: fetches ListTablosByUser for non-HTMX error path
- renderTabloCreateError: derives errorSidebarTablos from errorCardViews
- TabloDiscussionTabHandler, TabloEventsTabHandler, TabloFilesTabHandler, TabloTasksTabHandler: fetch ListTablosByUser for non-HTMX full-page renders
- PlanningPageHandler: fetches ListTablosByUser, calls PlanningPage with activePath="/planning"
- AccountProvidersHandler: fetches ListTablosByUser, calls AccountProvidersPage with activePath="/"
- planning.templ: updated signature + switched to @AppLayout
- account_providers.templ: updated signature + switched to @AppLayout
2026-05-16 21:49:23 +02:00

29 lines
970 B
Text

package templates
import (
"backend/internal/auth"
"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) {
<section class="mx-auto max-w-xl">
<h1 class="mb-6 text-xl font-semibold">Linked providers</h1>
<div class="space-y-2">
for _, provider := range providers {
<div class="min-h-11 rounded border border-slate-200 bg-white px-4 py-3 sm:flex sm:items-center sm:justify-between">
<div class="text-sm font-medium text-slate-900">{ provider.Name }</div>
<div class="mt-1 text-sm text-slate-600 sm:mt-0 sm:text-right">
if provider.Connected {
<div>Connected</div>
<div class="text-slate-500">{ provider.Email }</div>
} else {
<div>Not connected</div>
}
</div>
</div>
}
</div>
</section>
}
}