{{- /* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Commercial */ -}} {{- /* SPDX-FileCopyrightText: 2025-2026 Christian Galo */ -}} {{ deploymentName }} {{/* Integration dashboard-card scripts: page-level deferred external tags only; CSP forbids inline scripts, and script tags inside HTMX-swapped fragments have unreliable execution order. */}} {{ range .DashboardCards }}{{ range .Scripts }} {{ end }}{{ end }} {{ template "shell_topbar.html" .Shell }}
{{ template "shell_rail_member.html" .Shell }}
{{ template "pageHeader" .Header }} {{ if eq .CheckoutStatus "success" }} {{ else if eq .CheckoutStatus "cancel" }} {{ end }} {{/* Pending domain claims (dissolve-member-domains): the durable re-entry point for an in-flight DNS verification now that the standalone Domains page is gone. Server-side conditional: no empty chrome when there is nothing pending. Opening a claim swaps the claim-status partial into this same .domains-surface wrapper; reopening mints nothing (pure read). */}} {{ if .PendingDomainClaims }}
Domain verification in progress. {{ range .PendingDomainClaims }}
{{ .Root }}
{{ end }}
{{ end }} {{ template "sectionHeader" .AccountHeader }}
Name
{{ .Name }}
Username
{{ .Username }}
Email
{{ .Email }}
{{ if .HasMultipleWorkspaces }}
{{ template "sectionHeader" .WorkspacesHeader }}
{{ .Workspaces }}
{{ end }} {{/* The dashboard's one empty state (member-dashboard ADDED requirement "The dashboard has one empty state"; design D25): when no integration declared a card AND the org holds no entitlement, one emptyState renders in place of the cards section; otherwise nothing changes. */}} {{ if .IsEmpty }} {{ template "emptyState" .Empty }} {{ else }} {{/* Integration dashboard cards: one generic shell per declaration collected from the integration registry (registry order). The body is integration-owned: the server composes it from the declared partial route; core renders no integration markup. */}} {{ range .DashboardCards }} {{ template "sectionHeader" .Header }} {{ if .Description }}

{{ .Description }}

{{ end }}
{{ if .RefreshEvent }}
{{ .Body }}
{{ else }}
{{ .Body }}
{{ end }}
{{ end }} {{ end }}
Done.
{{ template "shell_confirm_modal.html" . }}