- scaffold 14 placeholder crates (app, db, engine, gen, http, logic,
policy, ql, service, sub, txn, ui, value, wal) — empty Cargo.toml +
src/lib.rs to receive code phase-by-phase from `rt`
- restructure docs/examples/ecommerce into multi-app layout: apps/admin
and apps/storefront, with shared/ types/logic/components, per-app
app.wo + wo.toml, and reusable .htmlx components (layout, money,
order-row)
- add reference/rest/{blog,ecommerce}.rest — VS Code/JetBrains HTTP
request files driving the running prototype, including 501/404/405
expectations for stubbed endpoints
- add docs/plan/09-concurrency-scaleout.md and docs/plan/ui/00-overview.md;
refine docs/plan/assembly/02-writeonce-stance.md
- refresh templates (about, article, header/footer, home, layout, styles)
and add static favicon/logo
- add infra/sync.sh and tighten .gitignore for reference/ symlinks
23 lines
1.1 KiB
Text
23 lines
1.1 KiB
Text
{{!--
|
|
One order row — used by both apps' order tables. Different columns are
|
|
displayed depending on the caller, via conditional sub-partials; the
|
|
`wo:bind="status"` attribute makes the status cell live-update on delta
|
|
frames regardless of which table embeds this row.
|
|
|
|
Customer view (storefront/ui/orders/orders.wo): {{> order-row for="customer"}}
|
|
Admin view (admin/ui/orders/orders.wo): {{> order-row for="ops"}}
|
|
--}}
|
|
<tr class="order-row status-{{status}}" data-key="{{id}}">
|
|
<td class="order-id" wo:bind="id">{{id}}</td>
|
|
<td class="order-status" wo:bind="status">{{status}}</td>
|
|
{{#if (eq for "ops")}}
|
|
<td class="customer-name">{{customer.name}}</td>
|
|
<td class="customer-email">{{customer.email}}</td>
|
|
{{/if}}
|
|
<td class="order-total" wo:bind="total">{{> money amount=total}}</td>
|
|
<td class="order-placed" wo:bind="placed_at">{{relative placed_at}}</td>
|
|
{{#if (eq for "ops")}}
|
|
<td class="order-paid" wo:bind="paid_at">{{relative paid_at}}</td>
|
|
<td class="order-shipped" wo:bind="shipped_at">{{relative shipped_at}}</td>
|
|
{{/if}}
|
|
</tr>
|