Files
new-api/controller
Apple\Apple 547da2da60 🚀 feat(Channels): Enhance Channel Filtering & Performance
feat(api):
• Add optional `type` query param to `/api/channel` endpoint for type-specific pagination
• Return `type_counts` map with counts for each channel type
• Implement `GetChannelsByType`, `CountChannelsByType`, `CountChannelsGroupByType` in `model/channel.go`

feat(frontend):
• Introduce type Tabs in `ChannelsTable` to switch between channel types
• Tabs show dynamic counts using backend `type_counts`; “All” is computed from sum
• Persist active type, reload data on tab change (with proper query params)

perf(frontend):
• Use a request counter (`useRef`) to discard stale responses when tabs switch quickly
• Move all `useMemo` hooks to top level to satisfy React Hook rules
• Remove redundant local type counting fallback when backend data present

ui:
• Remove icons from response-time tags for cleaner look
• Use Semi-UI native arrow controls for Tabs; custom arrow code deleted

chore:
• Minor refactor & comments for clarity
• Ensure ESLint Hook rules pass

Result: Channel list now supports fast, accurate type filtering with correct counts, improved concurrency safety, and cleaner UI.
2025-06-18 02:33:18 +08:00
..
2024-12-29 16:50:26 +08:00
2025-05-09 00:20:26 +08:00
2024-11-18 18:52:14 +08:00
2025-06-16 22:15:12 +08:00
2025-03-15 19:10:12 +08:00
2024-11-18 18:52:14 +08:00
2025-04-28 11:25:04 +08:00
2025-06-16 22:15:12 +08:00
2025-06-16 22:15:12 +08:00
2025-06-16 22:15:12 +08:00
2025-06-11 23:46:59 +08:00
2025-06-16 22:15:12 +08:00
2024-09-25 17:15:59 +08:00
2025-06-16 22:15:12 +08:00