import type { Order } from '@shopperlabs/shopper-types'
import { OrderStatus, PaymentStatus, ShippingStatus } from '@shopperlabs/shopper-types'
function canCancel(order: Order): boolean {
return (
order.status !== OrderStatus.CANCELLED &&
order.status !== OrderStatus.ARCHIVED &&
order.shipping_status === ShippingStatus.UNFULFILLED
)
}
function canCapture(order: Order): boolean {
return order.payment_status === PaymentStatus.AUTHORIZED
}
function getStatusColor(status: OrderStatus): string {
const colors: Record<OrderStatus, string> = {
[OrderStatus.NEW]: '#3b82f6',
[OrderStatus.PROCESSING]: '#2563eb',
[OrderStatus.COMPLETED]: '#059669',
[OrderStatus.CANCELLED]: '#ef4444',
[OrderStatus.ARCHIVED]: '#6b7280',
}
return colors[status]
}
function calculateTotal(order: Order): number {
return order.items?.reduce((sum, item) => sum + item.total, 0) ?? 0
}