Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@terwey
Copy link
Collaborator

@terwey terwey commented Oct 28, 2025

Summary

Area Change
Grid Migrate to @1771technologies/lytenyte-core; full-width deal headers; stable row IDs; reflectData
UX In-table Bots/Deals/Advanced filters; column manager; denser rows; centered headers/cells; Card layout; columnSizeToFit
Actions Bot details dialog; deal bulk-cancel (confirm + progress); per-order view/cancel
Data SSE-driven refresh; targeted metadata refresh; mock fallback
Pricing BBO-aware price comparison (bid/ask vs order) for open orders
Labels “Metadata Hex” → “Client Order ID” across UI/filters/columns
Build React 19.2; Tailwind 4.1; alias @/*; deps bumps; recompiled dist
Misc Package renamed to recomma-ui; support debug flag

Detailed changes

Scope Notes
OrdersTable Modularized into components/OrdersTable/* (hooks, renderers, utils, types); barrel export
Grouping Deal headers with expand/collapse (global + per-deal)
Columns Visibility popover; autosize/movable; required columns enforced
Cells Type/side badges; price with BBO; quantity; observedAt; status tone; history; actions
SSE Live updates; targeted refresh by metadata; fallback to full refresh
Filters Popover-based Bots/Deals/Advanced; badges; clear actions; non-modal popovers; role="group"
Layout/A11y Center-aligned header/cells; tightened buttons; full-height grid ensured (html, body, #root { height: 100% })
Deps react-day-picker@9, date-fns@4 (+ tz/jalali), @radix-ui/react-separator@^1.1.7, @1771technologies/lytenyte-core

Breaking changes

Breaking Impact Migration
React 19 / Tailwind 4 Requires updated tooling/Vite Tailwind plugin Reinstall deps; ensure Tailwind plugin in Vite config
OrdersTable API New integrated filter/selection props Update usages to include selectedBotId, selectedDealId, onBotSelect, onDealSelect, onFiltersChange
Utils path ./components/ui/utils moved Use @/lib/utils

Test plan

Area Steps Expected
Deal grouping Toggle Collapse/Expand All and individual deals Rows group under headers; toggles respected
Filters Apply/clear each popover filter Grid updates; badges reflect state
Bulk cancel Use “Cancel All Orders” on a deal Confirmation dialog; progress toasts; rows refresh
Bot details Open from deal header Dialog shows bot payload/links
BBO pricing Inspect an open order Market price shown with favorable/unfavorable indicator
Columns Toggle visibility; autosize to fit Required columns locked; widths adjust
SSE Trigger an update Targeted or full refresh without layout jump

terwey added 13 commits October 24, 2025 00:28
* Replace table with RevoGrid + column visibility controls & sorting
* Add SSE listeners for orders and prices; auto-refresh bots/deals/stats
* Add cancel-order action with confirm dialog
* New “Event Log” tab in order detail; richer status/side/type parsing
* Show market BBO vs order price with movement indicators
* Full-height layout; tighter paddings; consistent badges/tones
* Add `useHyperliquidPrices` hook and runtime `logger`
* Extend API types; simplify filters; minor UI tweaks

Affects: `App`, `BotsDealsExplorer`, `OrderDetailDialog`, `OrdersTable`,
`StatsCards`, `ui/tabs`, `styles/globals.css`, `config/opsApi`, `types/api`,
`hooks/useHyperliquidPrices`, `utils/logger`
…, MVP grid, bulk-cancel & deal details

* Replace RevoGrid with `@1771technologies/lytenyte-core`; import `grid.css`.
* Add `OrdersGridMvp` as temporary MVP grid and render alongside `OrdersTable`.
* Rewrite `OrdersTable` to LyteNyte Grid:

  * Group rows by deal with full-width “deal header” rows; per-deal and global expand/collapse.
  * Fetch and map deals; add `DealDetailDialog`, bot/3Commas links, and “View Details”.
  * Bulk cancel all orders in a deal with progress/toast feedback; refresh affected metadata.
  * Implement cell renderers for metadata, order type, side badges, price with BBO comparison, quantity, observedAt, status tone, history count, and actions.
  * Define columns via LyteNyte `Column<TableRow>` and configure full-width predicate/renderer.
* Update deps: add `@1771technologies/lytenyte-core` (and shared), remove `@revolist/*`.
* Rename package to `recomma-ui` in lockfile; minor UI/logging tweaks.
…emporary render

* Introduce `SIMPLE_MODE` with lightweight columns/datasource and `simpleRows` mapping.
* Early-return minimal `Grid` view to display core fields while full grid integration is rebuilt.
* Add `quantity` and `observedAt` columns.
* Ensure unique row IDs by prefixing index in `rowIdLeaf`.
* Reduce `rowHeight` to 20 for a denser table.
* Increase viewport height to 2000 for longer lists.
* Minor cleanups: compact `useMemo` for `simpleRows`.
…VP/simple paths

* Remove `OrdersGridMvp` from `App.tsx` and delete SIMPLE_MODE render path.
* Use single LyteNyte grid: add `reflectData`, stable `rowIdLeaf(index-id)`.
* Tweak UX: reduce `rowHeight` 80→60.
* Trim debug logging.
…eNyte migration

- extract OrdersTable into components/OrdersTable/* (hooks, renderers, utils, types)
- replace monolithic component and keep public API via barrel export
- wire full-width deal headers and stable row ids; reflectData on
- move data fetching/SSE into useOrdersData()
- add BBO-aware price/status/action cell renderers

chore(webui): rename package to "recomma-ui"; remove stray output.log
fix(webui): ensure full-height grid by forcing html, body, #root to 100%
…r; upgrade to React 19 & Tailwind v4

* New: popover-based `FilterControls` with `BotsFilter`, `DealsFilter`, `AdvancedFilter` (badges, clear actions, SSE refresh); column visibility popover; autosize + movable columns.
* Refactor: integrate filters into `OrdersTable` (new props), remove `FilterBar`/`BotsDealsExplorer` from `App`; switch `cn` helper to `src/lib/utils`; update `Button`/`Popover` to use `@/lib/utils`.
* Build/Deps: React/ReactDOM `19.2.0`, `react-day-picker@9`, `date-fns@4` (+ `@date-fns/tz`, `date-fns-jalali`); Tailwind CSS `4.1.16` with `@tailwindcss/vite`; add `tailwind-merge`, `tw-animate-css`; add `@1771technologies/lytenyte-core`; update types; wire Tailwind plugin in `vite.config.ts`; add `@/*` path alias in `tsconfig.json`.
* Chore: regenerate lockfile.

BREAKING CHANGE:

* Upgraded to React 19 and Tailwind CSS 4.
* `OrdersTable` API changed (now requires `selectedBotId`, `selectedDealId`, `onBotSelect`, `onDealSelect`, `onFiltersChange`).
* Imports expecting `./components/ui/utils` must use `@/lib/utils`.
…adata Hex" to "Client Order ID" in the UI; UI/a11y polish; deps bump

- OrdersTable: add BotDetailDialog + viewBotDetails(); add bulk-cancel confirmation flow (prompt + execute) with progress state; center-align grid header/cells; use Card layout; enable columnSizeToFit.
- FilterControls: wrap in role="group"; make Popovers non-modal; tighten button styling.
- DealHeaderRenderer: replace links with Button actions; add “Bot Details” and external 3Commas actions; simplify badges; “Cancel All Orders” button.
- Labels: rename to “Client Order ID” in FilterBar, AdvancedFilter, COLUMN_LABELS; remove bg from metadata cell code tag.
- Calendar: refactor to custom DayPicker with Button-based nav/day cells; support captionLayout/buttonVariant; improved focus handling.
- CSS: switch to Tailwind @import; add lng-grid row gradient/hover and cell alignment overrides.
- deps: bump @radix-ui/react-separator to ^1.1.7; add date-fns ^4.1.0.
@terwey
Copy link
Collaborator Author

terwey commented Oct 28, 2025

@codex

@chatgpt-codex-connector
Copy link

Summary

Testing

  • pnpm eslint

View task →

@terwey terwey merged commit aa375c4 into main Oct 28, 2025
3 checks passed
@terwey terwey deleted the lytenyte branch October 31, 2025 10:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants