fix(tenancy): fix table column alignment with flattened row approach
Some checks failed
CI / ruff (push) Successful in 16s
CI / validate (push) Has been cancelled
CI / dependency-scanning (push) Has been cancelled
CI / docs (push) Has been cancelled
CI / deploy (push) Has been cancelled
CI / pytest (push) Has been cancelled

The nested tbody approach caused browsers to collapse all cells into
one column. Replaced with a single flat x-for loop over flattenedRows
(computed property that interleaves member rows and store sub-rows).

Each row is a single <tr> with 4 proper <td> cells, using x-if to
conditionally render member-level or store-level content per column.
Sub-rows are hidden/shown via expandedMembers array.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-30 20:27:47 +02:00
parent f81851445e
commit 0c6d8409c7
2 changed files with 128 additions and 132 deletions

View File

@@ -131,6 +131,21 @@ function merchantTeam() {
);
},
/**
* Flatten members + their stores into a single row list for table rendering.
* Each row is either {type:'member', member, key} or {type:'store', member, store, key}
*/
get flattenedRows() {
const rows = [];
for (const member of this.filteredMembers) {
rows.push({ type: 'member', member, key: `m-${member.user_id}` });
for (const store of member.stores) {
rows.push({ type: 'store', member, store, key: `s-${member.user_id}-${store.store_id}` });
}
}
return rows;
},
/**
* Toggle expand/collapse for a member's store rows
*/