mirror of
https://github.com/Twigpine/node-explorer.git
synced 2026-11-10 05:01:48 -10:00
* feat(theme): HeroUI v3 theme, Tailwind v4 config, file icons
Introduce the HeroUI v3 theme layer that the rest of the migration builds on:
- package: @heroui/react, @heroui/styles, lucide-react, csstype; add Tailwind v4
postcss plugin (postcss.config.mjs), configure vite plugin / font handling;
- src/index.css: lean on @heroui/styles color-mix ranges for accent/base
variables; drop prior redundant overrides
- src/lib/fileIcons.tsx: colorized per-extension/per-name icon map with
dynamic Lucide icon + color tuple
- src/hooks/useTheme.ts: theme state (accent/base/font/radius), Google Fonts
CDN link injection, localStorage persistence (incl. migration of old keys)
* refactor(realtime): remove manual refresh, poll every hook
- delete useRefreshKey (no more manual refresh key plumbing)
- useAutoRefresh polling now covers every data hook:
- events/tasks: 30s (high-churn feeds), visibility-aware
- repos/agents/peers/network/home: 60s
- useNodesStatus re-validates every 60s instead of one-shot/session cache
- useAgents gains a 60s visibility-aware tick (re-uses session cache
on first load, bypasses it on each tick)
- hooks no longer accept refreshKey; render-phase reset keys tick instead
* feat(ui): HeroUI v3 component migration, Drawer fix, theme radius
Replace native HTML controls with HeroUI equivalents across components:
- Button variant="tertiary" for all clickables (repos, events, agents,
peers, tasks, network, command palette)
- <select> -> HeroUI Select+Menu (RepoToolbar, RepoPagination)
- <a> -> HeroUI Link (PeerList, FileViewer, DocsPage) with target/rel
Fixes & polish:
- TopBar mobile Drawer: style DrawerTrigger/DrawerCloseTrigger directly
(no nested <button>), wire close to onPress; simple SVG hamburger/close
icons replacing lucide Menu/X
- Command Palette: custom fixed overlay (cmdk dropped), transparent
ModalBackdrop (centered w/o dimming), body-scroll lock
- FileList: colorized per-type file icons via fileIcons.ts utility
Theme radius:
- drop hardcoded rounded-[2px]/rounded-lg/rounded-sm/rounded-md across
components in favour of rounded-[--radius] (theme-driven)
- remove obsolete components/ui/{badge,card,button,input-group,
separator,table,tabs,theme-toggle}.tsx (superseded by HeroUI)
* refactor(pages): drop manual refresh UI, consume realtime hooks
All list pages (repos, agents, peers, events, tasks, network, home):
- remove useRefreshKey usage and refresh/retry pills
- RepoHero no longer takes refreshing/onRefresh props (button removed)
- RepoHero accepts only display props (totalCount, page windows, title,
description, cells)
- RepoHero no longer renders a refresh pill; the page title block is clean
The data layer (commit c71dd9c) now polls each hook on a 30s/60s tick,
so the removed Retry buttons are unnecessary — transient errors self-heal
on the next tick.
6 lines
70 B
JavaScript
6 lines
70 B
JavaScript
export default {
|
|
plugins: {
|
|
"@tailwindcss/postcss": {},
|
|
},
|
|
};
|