From 9603b100f56aa78ff3ba8f9f0a0db2d9f7b2ea50 Mon Sep 17 00:00:00 2001 From: Daniel Stock Date: Thu, 30 Oct 2025 15:38:41 +0100 Subject: [PATCH] Add 'cancelled' status to invoices --- database/factories/InvoiceFactory.php | 2 +- resources/js/components/ui/status-badge/index.ts | 5 ++++- resources/js/types/index.d.ts | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/database/factories/InvoiceFactory.php b/database/factories/InvoiceFactory.php index 4b57418..92f1884 100644 --- a/database/factories/InvoiceFactory.php +++ b/database/factories/InvoiceFactory.php @@ -18,7 +18,7 @@ class InvoiceFactory extends Factory */ public function definition(): array { - $payment_status = $this->faker->randomElement(['draft', 'issued', 'paid', 'due', 'reminded']); + $payment_status = $this->faker->randomElement(['draft', 'issued', 'paid', 'due', 'reminded', 'cancelled']); return [ 'nr' => ($payment_status == 'draft') ? null : $this->faker->unique()->numerify('RE-###'), diff --git a/resources/js/components/ui/status-badge/index.ts b/resources/js/components/ui/status-badge/index.ts index 241c861..49fc0ac 100644 --- a/resources/js/components/ui/status-badge/index.ts +++ b/resources/js/components/ui/status-badge/index.ts @@ -18,6 +18,8 @@ export const statusBadgeVariants = cva( "border-transparent bg-amber-300 text-amber-900 [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40", reminded: "border-transparent bg-destructive text-destructive-foreground [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40", + cancelled: + "text-foreground bg-slate-400 dark:bg-zinc-700 [a&]:hover:bg-accent [a&]:hover:text-accent-foreground", }, size: { @@ -39,7 +41,8 @@ export const statusBadgeLabels: { [key: string]: string } = { issued: 'Gestellt', paid: 'Bezahlt', due: 'Fällig', - reminded: 'Gemahnt' + reminded: 'Gemahnt', + cancelled: 'Storniert' } export function statusBadgeTextColor(status: string): string { diff --git a/resources/js/types/index.d.ts b/resources/js/types/index.d.ts index 906cae2..fa9c3d5 100644 --- a/resources/js/types/index.d.ts +++ b/resources/js/types/index.d.ts @@ -139,7 +139,7 @@ export interface Invoice { isRecurring: boolean; isPartialService: boolean; customer?: Customer | null; - paymentStatus: 'draft' | 'issued' | 'paid' | 'due' | 'reminded'; + paymentStatus: 'draft' | 'issued' | 'paid' | 'due' | 'reminded' | 'cancelled'; totalAmount: number; title: string; text: string;