fix: invoice items table — match offer detail card style

Changed from offers-editor-section + offers-items-table to
admin-card + admin-card-body + admin-table-responsive, matching
the offer detail page structure.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
BOHA
2026-03-23 19:22:01 +01:00
parent 892d83cd90
commit 93ea9911f8
2 changed files with 14 additions and 10 deletions

View File

@@ -472,9 +472,10 @@ export default function InvoiceDetail() {
</motion.div>
{/* Items */}
<motion.div className="offers-editor-section" initial={{ opacity: 0, y: 12 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 0.25, delay: 0.12 }}>
<div className="flex-between mb-4">
<h3 className="admin-card-title" style={{ margin: 0 }}>Položky</h3>
<motion.div className="admin-card" initial={{ opacity: 0, y: 12 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 0.25, delay: 0.12 }}>
<div className="admin-card-body">
<div className="admin-card-header flex-between">
<h3 className="admin-card-title">Položky</h3>
{isDraft && hasPermission('invoices.edit') && (
editingItems ? (
<div className="flex-row gap-2">
@@ -491,7 +492,7 @@ export default function InvoiceDetail() {
{editingItems ? (
<DndContext sensors={dndSensors} collisionDetection={closestCenter} modifiers={[restrictToVerticalAxis, restrictToParentElement]} onDragEnd={handleDragEnd}>
<SortableContext items={editItems.map(i => i._key)} strategy={verticalListSortingStrategy}>
<div className="offers-items-table">
<div className="admin-table-responsive">
<table className="admin-table">
<thead>
<tr>
@@ -525,7 +526,7 @@ export default function InvoiceDetail() {
) : (
<>
{invoice.items?.length > 0 ? (
<div className="offers-items-table">
<div className="admin-table-responsive">
<table className="admin-table">
<thead>
<tr>
@@ -579,6 +580,7 @@ export default function InvoiceDetail() {
<span>{formatCurrency(totals.total, invoice.currency)}</span>
</div>
</div>
</div>
</motion.div>
{/* Notes */}