5 Commits

Author SHA1 Message Date
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