Repository navigation
feat(network-orders): orders grouped by checkout with status tabs, store stacks and next actions - #125
Closed
roncodes wants to merge 13 commits into
Closed
feat(network-orders): orders grouped by checkout with status tabs, store stacks and next actions#125roncodes wants to merge 13 commits into
roncodes wants to merge 13 commits into
Conversation
The dummy app never ran: ember-classic-decorator (unused) crashes on Ember 5, lazy loading kept the engine's modules out of the test bundle, and the host services, config and intl data the panels need were missing. Mirrors what fleetops already does: eager loading when `ember test` runs from this package, an inert stand-in for the console's extensions module, the API config the core adapter reads at module scope, and the legacy built-in components the engine's templates still use. The dummy intl service ignores missing locale data, since headless Chrome has no number formats for every bundled locale, and the order details and network controller tests stub the host router, fetch and app cache the way the widget tests already do.
… is only found by its own storefront
…rce card Catalog, truck and network index pages use Layout::Resource::CardsGrid with one card each on Layout::Resource::Card, following the Fleet-Ops anatomy: identity and subtitle in the header, media or facts in the body, status, icon actions and meta in the footer, with registry slots at each end. A catalog card shows its categories with product counts, its hours as a seven-day strip (the new Storefront::HoursStrip) and its product total; a draft is dashed. A truck card is a Vehicle::Pill with the online dot, the vehicle photo, where it serves, and a presence badge that says serving, offline, inactive, or online with no catalog. A network card shows the logo on its backdrop, the online state, the currency and member count. "Food trucks" reads "Trucks" in the UI; the food-truck model, routes and permissions keep their names. The catalogs and trucks pages gain the search the header already offered.
…ut a vehicle renders its placeholder
4 of 16 tasks
roncodes
force-pushed
the
feat/network-orders
branch
2 times, most recently
from
October 10, 2026 08:16
6ad4f09 to
5aa98b5
Compare
… and crashed createRecord; the store summary is store_summary
…s own sidebar for each - storefront service tracks a network context derived from the network route - StoreSelector becomes the context switcher with a Networks group and create-network - application route loads networks; sidebar rewrites for the network context - network page is a full page with an identity strip; the list hides while one is open - new Trucks section for a network backed by FoodTruckFilter::network - network orders and customers are scoped to the network being viewed, not the active store - createNewNetwork lives on the storefront service
…enu without Networks - trigger: context icon, name, STORE/NETWORK label and caret; blue for a store, indigo for a network; invitation badge - menu: Stores and Networks groups with tiles, currency or member count, a check on the active one, readable in dark mode; footer actions read New store / New network - store navigation follows the design order (Dashboard, Orders, Products, Catalogs, Customers, Trucks, Promotions, Settings); networks live in the switcher, not the menu - network page loses the All networks button; leaving a network is the switcher's job
roncodes
force-pushed
the
feat/network-orders
branch
from
October 10, 2026 09:30
5aa98b5 to
8d0fce0
Compare
…e sidebar re-renders on a switch; networks report their store count
…d an invite panel - network index is now an Overview (stat tiles, members with 7-day share, invitations, recent orders); settings move to networks.index.network.settings - NetworkController gains overview, invitations, resend and revoke; one Invite per recipient carrying category, expiry, message and approval in meta - OrderFilter/CustomerFilter gain a network filter on meta.storefront_network_id; the network orders and customers routes use it - Storefront::Network::InvitePanel (by email, shareable link, add a store you manage) replaces the share-network and add-stores modals - stores page: store identity column via a new store descriptor, All/Online/Offline/Invited tabs, bulk assign category and remove, invitation rows with resend/revoke/invite again - store and network resource descriptors registered with the shared identity registry; SelectOption::Store wrapper; width-style helper
…ost re-export broke console boot before the lazy engine loaded
…ore stacks and next actions - a multi-store checkout is one expandable row (customer, stores, fulfillment, total with tip split, shared driver, least-advanced status) that opens into each store's order - status tabs (needs action, preparing, ready for pickup, out for delivery, completed, canceled) drive the status query param; grouped/flat toggle - new cells: reference, stores (identity stack of store pills), fulfillment, total, driver (inline assign), status, placed, actions (next action promoted, rest behind an ellipsis) - order index resource keeps meta.checkout_id so the console can group
…lide with the networks list's page, sort and query
roncodes
force-pushed
the
feat/network-orders
branch
from
October 10, 2026 10:19
8d0fce0 to
bde3613
Compare
Member
Author
|
Superseded by the single overhaul PR (one branch, one PR targeting release/v0.4.25, per maintainer request). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Network orders from design board 3d: everything placed through the marketplace app, grouped by checkout. Stacked on #124; review the top commit.
meta.checkout_id, falling back tometa.master_order_id) is one expandable row: checkout id with order and item counts, customer, a stack of store pills (up to four, then "+N"), fulfillment, group total with the tip and how it splits, the shared driver (or "N drivers" / "Unassigned"), and the least-advanced child's status as "1 of 3 preparing". Expanding shows each store's order with the same cells. A checkout with one order stays a plain order row.statusquery param with the statuses they cover; a Grouped / Flat toggle (viewquery param) falls back to the plain table.storefront-order-actionsto a button and keep the rest (assign driver, cancel, view, delete) behind an ellipsis; delivery orders without a driver get an inline Assign driver button.Index\Orderresource now keepsmeta.checkout_idso the console can group.utils/order-groups(status rank, tabs,groupOrdersByCheckout),width-style-pxhelper for the expanded columns.Not here: ember-ui
table/cell/identity-stackextraction (the stores cell is Storefront-local for now), tabs driven by a custom order config's activity flow, "Contact store" for offline stores.Related Issue
Storefront UX overhaul, design canvas board 3d.
Type of Change
Implementation Notes
Grouping is client-side over the page the server returns, using ember-ui
Table's@canExpandblock form with the yieldedexpanded-row. Store pills resolve through thestoredescriptor registered in #124; stores are loaded once per network in the route for the lookup.Validation
Documentation Impact
fleetbase/fleetbase.ioAPI Reference Impact
fleetbase/postmanAPI reference notes:
checkout_idis now included in the internal order indexmeta; the public v1 index resource extends it, so public consumers also seemeta.checkout_id(additive).Documentation Notes
docs/storefront → networks → orders: grouping by checkout, status tabs.
needs-docsfor the series.Risk
The network orders page no longer offers the column filters of the previous table in grouped view (flat view keeps the registered columns). Grouping is per page, so a checkout whose orders span two pages shows as two partial groups.
Screenshots / Recordings
Design canvas board 3d: https://claude.ai/artifact/771ptEFmi4BLmYHBZuUhWF