Phase3: Billing Customerpage/Mailings
All checks were successful
Build and Push / build (push) Successful in 1m37s
All checks were successful
Build and Push / build (push) Successful in 1m37s
This commit is contained in:
@@ -8,7 +8,7 @@ interface Props {
|
||||
}
|
||||
|
||||
const statusColors: Record<string, string> = {
|
||||
issued: "text-text-secondary bg-surface-3",
|
||||
open: "text-text-secondary bg-surface-3",
|
||||
paid: "text-success bg-success/10",
|
||||
overdue: "text-error bg-error/10",
|
||||
void: "text-text-muted bg-surface-3",
|
||||
|
||||
@@ -8,7 +8,7 @@ interface Props {
|
||||
}
|
||||
|
||||
const statusColors: Record<string, string> = {
|
||||
issued: "text-text-secondary bg-surface-3",
|
||||
open: "text-text-secondary bg-surface-3",
|
||||
paid: "text-success bg-success/10",
|
||||
overdue: "text-error bg-error/10",
|
||||
void: "text-text-muted bg-surface-3 line-through",
|
||||
|
||||
@@ -74,17 +74,6 @@ function NavBar() {
|
||||
{t("settings")}
|
||||
</NavLink>
|
||||
)}
|
||||
{/* Feature 5: Support is available to every signed-in
|
||||
user. Customers see their own tickets only; platform
|
||||
admins see the queue. */}
|
||||
{user && (
|
||||
<NavLink
|
||||
href="/support"
|
||||
active={pathname.startsWith("/support")}
|
||||
>
|
||||
{t("support")}
|
||||
</NavLink>
|
||||
)}
|
||||
{/* Phase 3: Billing visible to anyone signed in. The
|
||||
page is org-scoped server-side — non-owner members
|
||||
see the same invoice history their owner does, but
|
||||
@@ -99,6 +88,17 @@ function NavBar() {
|
||||
{t("billing")}
|
||||
</NavLink>
|
||||
)}
|
||||
{/* Feature 5: Support is available to every signed-in
|
||||
user. Customers see their own tickets only; platform
|
||||
admins see the queue. */}
|
||||
{user && (
|
||||
<NavLink
|
||||
href="/support"
|
||||
active={pathname.startsWith("/support")}
|
||||
>
|
||||
{t("support")}
|
||||
</NavLink>
|
||||
)}
|
||||
{user?.isPlatform && (
|
||||
<NavLink href="/admin" active={pathname === "/admin"}>
|
||||
{t("admin")}
|
||||
|
||||
@@ -731,10 +731,12 @@
|
||||
"totalLabel": "Gesamt",
|
||||
"downloadPdf": "PDF herunterladen",
|
||||
"status": {
|
||||
"issued": "Ausgestellt",
|
||||
"draft": "Entwurf",
|
||||
"open": "Offen",
|
||||
"paid": "Bezahlt",
|
||||
"overdue": "Überfällig",
|
||||
"void": "Storniert"
|
||||
"void": "Storniert",
|
||||
"uncollectible": "Uneinbringlich"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -731,10 +731,12 @@
|
||||
"totalLabel": "Total",
|
||||
"downloadPdf": "Download PDF",
|
||||
"status": {
|
||||
"issued": "Issued",
|
||||
"draft": "Draft",
|
||||
"open": "Open",
|
||||
"paid": "Paid",
|
||||
"overdue": "Overdue",
|
||||
"void": "Void"
|
||||
"void": "Void",
|
||||
"uncollectible": "Uncollectible"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -731,10 +731,12 @@
|
||||
"totalLabel": "Total",
|
||||
"downloadPdf": "Télécharger le PDF",
|
||||
"status": {
|
||||
"issued": "Émise",
|
||||
"draft": "Brouillon",
|
||||
"open": "Ouverte",
|
||||
"paid": "Payée",
|
||||
"overdue": "En retard",
|
||||
"void": "Annulée"
|
||||
"void": "Annulée",
|
||||
"uncollectible": "Irrécouvrable"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -731,10 +731,12 @@
|
||||
"totalLabel": "Totale",
|
||||
"downloadPdf": "Scarica PDF",
|
||||
"status": {
|
||||
"issued": "Emessa",
|
||||
"draft": "Bozza",
|
||||
"open": "Aperta",
|
||||
"paid": "Pagata",
|
||||
"overdue": "In ritardo",
|
||||
"void": "Annullata"
|
||||
"void": "Annullata",
|
||||
"uncollectible": "Inesigibile"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user