12 Commits

Author SHA1 Message Date
4f0a8a4c2e fix: cwidth:25 cheight:16 card-body-scroll — match old working layout 2026-07-29 17:11:40 +08:00
7aa1efc6d8 revert: back to server-side Jinja2 rendering, Tabular AJAX had 401 session issues
Tabular widget makes client-side HTTP calls to data_url DSPY which
fail with 401 because session cookie not passed in AJAX requests.
Server-side Jinja2 loop avoids this entirely — all model data rendered
in initial page load.
2026-07-29 16:04:07 +08:00
659af09a89 feat: Tabular seamless infinite scroll instead of page buttons
Tabular handles paging client-side — scroll to bottom auto-loads more.
Record_view renders each model as a card (icon + name + description).
Removed all server-side pagination logic from the template.
2026-07-29 15:13:13 +08:00
10280f60f1 fix: trailing comma when no pagination block rendered 2026-07-29 15:00:38 +08:00
063c0a46bb fix: use relative URL for location.href to stay in workspace 2026-07-29 14:59:17 +08:00
31119554d4 fix: location.href for all nav, no mixed JS/server state, card width:100%
- All filter buttons use location.href with fully server-constructed URLs
  No more mixing {{active_provider}} (stale server var) with dynamic JS state
- SearchBar, category, provider, pagination all use location.href pattern
- Card uses width:100% (fill DynamicColumn slot) + cheight:14 (fixed height)
- Model plaza root is VBox (not VScrollPanel), scroll delegated to cards area
2026-07-29 14:33:09 +08:00
a1a6a583e3 fix: buttons update RefreshWidget directly, VScrollPanel root, cwidth 22
- All filter buttons now script-update rw.opts.url + rw.show_widget()
  instead of urlwidget target navigation (which silently failed)
- Root wrapped in VScrollPanel so scroll position preserved
- Card cwidth 25→22 for better column fit
- Page buttons also use RefreshWidget update pattern
2026-07-29 13:53:23 +08:00
8a3d30c0c6 fix: pricing as string, fixed cwidth 25, pagination (20/page)
- Handle llm.pricing_display when it's a string (not array)
- Card cwidth 15→25 to fill DynamicColumn properly
- Added page/page_size pagination with prev/next buttons
- page param forwarded through model_plaza→plaza_model_cards
2026-07-29 13:37:58 +08:00
32000e8757 ui: plaza card layout — fixed VBox, title 2ch, filler scroll with desc+price
Each card is a cwidth:15 cheight:12 VBox:
- Title row: cheight:2 (icon + name)
- VScrollPanel css:filler: description (height:auto) + pricing (css:filler)
2026-07-29 12:00:04 +08:00
0cb307407c bugfix 2026-07-29 11:50:00 +08:00
bc23679c1b bugfix 2026-07-29 11:43:26 +08:00
1c25542e72 feat: cockpit-style model plaza with search, category tabs, provider sidebar
New layout:
- Search bar (top) with fuzzy name/description match
- Category tabs (wrapping, single-select)
- Provider sidebar (left, single-select)
- Card grid (right, sorted by name, refreshed on filter change)
- Both category/provider unselected = all published models

Added get_plaza_models() for flat filtered model listing.
Supports combined filtering: provider + category + search.
2026-07-28 17:55:17 +08:00