import { formatMoney } from "@salixcommerce/core"; import { AdminInventoryControls, AdminOrderControls, AdminProductControls, AdminRefundControls, AdminVariantControls, } from "@/components/admin-controls"; import { StatusBadge } from "@/components/ui"; import { publicConfiguration } from "@/config/public"; import { adminRepository } from "@/server/admin/admin"; import { requireAdmin } from "@/server/admin/authorization"; export const dynamic = "force-dynamic"; export default async function AdministrationPage() { const authorization = await requireAdmin("admin.access"); if (!authorization.ok) return null; const admin = authorization.data; const dashboard = await adminRepository.loadDashboard(admin); const canCatalog = admin.capabilities.includes("admin.catalog.write"); const canInventory = admin.capabilities.includes("admin.inventory.adjust"); const canFulfill = admin.capabilities.includes("admin.order.fulfill"); const canRefund = admin.capabilities.includes("admin.payment.refund"); const canAudit = admin.capabilities.includes("admin.audit.read"); return (

Single-business operations

Commerce administration

Catalog, inventory, fulfillment, payments, and immutable operational evidence.

{admin.role}

Products

{dashboard.products.map((product) => (

{product.name}

{product.status}
{canCatalog ? : null} {product.variants.map((variant) => (

{variant.name} ·{" "} {formatMoney( { amountMinor: variant.priceMinor, currency: variant.currency }, publicConfiguration.business.locale, )}

{canCatalog ? : null}
))}
))}

Inventory

{dashboard.inventory.map((item) => ( ))}
Current physical and reserved inventory
Item Mode On hand Reserved Adjustment
{item.productName} · {item.variantName} {item.mode} {item.onHand} {item.reserved} {canInventory && item.mode === "tracked" ? ( ) : ( "Not available" )}

Orders and fulfillment

{dashboard.orders.map((order) => ( ))}
Latest orders
Order Customer Total Status Operation
{order.reference} {order.contactEmail} {formatMoney( { amountMinor: order.merchandiseSubtotalMinor, currency: order.currency, }, publicConfiguration.business.locale, )} {order.status} {canFulfill ? : "View only"}

Payments and refunds

{dashboard.payments.map((payment) => ( ))}
Captured payment state and refund controls
Order Provider Captured Refunded Status Refund
{payment.orderReference} {payment.provider} {formatMoney( { amountMinor: payment.amountMinor, currency: payment.currency }, publicConfiguration.business.locale, )} {formatMoney( { amountMinor: payment.refundedAmountMinor, currency: payment.currency, }, publicConfiguration.business.locale, )} {payment.status} {canRefund ? : "View only"}
{dashboard.refunds.length === 0 ? ( ) : ( dashboard.refunds.map((refund) => ( )) )}
Refund request visibility
Order Refund Amount Status Reason
No refund requests.
{refund.orderReference} {refund.providerRefundReference} {formatMoney( { amountMinor: refund.amountMinor, currency: refund.currency }, publicConfiguration.business.locale, )} {refund.status} {refund.reason}
{canAudit ? (

Administrative activity

{dashboard.activity.length === 0 ? ( ) : ( dashboard.activity.map((entry) => ( )) )}
Immutable non-lifecycle audit entries
Time Action Entity
No administrative activity.
{new Date(entry.createdAt).toLocaleString()} {entry.action} {entry.entityType} {entry.entityId}
) : null}
); }