diff --git a/app/Enums/OrderChannel.php b/app/Enums/OrderChannel.php new file mode 100644 index 0000000..8e86aa2 --- /dev/null +++ b/app/Enums/OrderChannel.php @@ -0,0 +1,45 @@ + 'Outlet', + self::SHOPEE => 'Shopee', + self::TOKOPEDIA => 'Tokopedia', + self::WEBSITE => 'Website', + self::INSTAGRAM => 'Instagram', + self::WHATSAPP => 'WhatsApp', + self::OTHER => 'Lainnya', + }; + } + + public function color(): string + { + return match ($this) { + self::OUTLET => 'emerald', + self::SHOPEE => 'orange', + self::TOKOPEDIA => 'green', + self::WEBSITE => 'blue', + self::INSTAGRAM => 'pink', + self::WHATSAPP => 'lime', + self::OTHER => 'gray', + }; + } +} diff --git a/app/Enums/OrderStatus.php b/app/Enums/OrderStatus.php new file mode 100644 index 0000000..5b4a035 --- /dev/null +++ b/app/Enums/OrderStatus.php @@ -0,0 +1,42 @@ + 'Draft', + self::PENDING => 'Menunggu Pembayaran', + self::PARTIAL => 'Belum Lunas', + self::PAID => 'Lunas', + self::OVERDUE => 'Terlambat Bayar', + self::CANCELED => 'Dibatalkan', + }; + } + + public function color(): string + { + return match ($this) { + self::DRAFT => 'gray', + self::PENDING => 'blue', + self::PARTIAL => 'amber', + self::PAID => 'emerald', + self::OVERDUE => 'red', + self::CANCELED => 'zinc', + }; + } +} diff --git a/app/Enums/PaymentMethod.php b/app/Enums/PaymentMethod.php new file mode 100644 index 0000000..0654e7b --- /dev/null +++ b/app/Enums/PaymentMethod.php @@ -0,0 +1,36 @@ + 'Tunai', + self::TRANSFER => 'Transfer Bank', + self::QRIS => 'QRIS', + self::OTHER => 'Lainnya', + }; + } + + public function color(): string + { + return match ($this) { + self::CASH => 'emerald', + self::TRANSFER => 'blue', + self::QRIS => 'purple', + self::OTHER => 'gray', + }; + } +} diff --git a/app/Enums/PaymentStatus.php b/app/Enums/PaymentStatus.php new file mode 100644 index 0000000..fbf6ed9 --- /dev/null +++ b/app/Enums/PaymentStatus.php @@ -0,0 +1,36 @@ + 'Menunggu Pembayaran', + self::PAID => 'Berhasil Dibayar', + self::FAILED => 'Gagal', + self::REFUNDED => 'Dikembalikan', + }; + } + + public function color(): string + { + return match ($this) { + self::PENDING => 'amber', + self::PAID => 'emerald', + self::FAILED => 'red', + self::REFUNDED => 'gray', + }; + } +}