Commit Graph

2 Commits

Author SHA1 Message Date
Jason
57552b3159 fix: unify dialog layout and fix content padding issues
- Fix negative margin overflow in all dialog content areas
- Standardize dialog structure with flex-col layout
- Add consistent py-4 spacing to all content areas
- Ensure proper spacing between header, content, and footer

Affected components:
- AddProviderDialog, EditProviderDialog
- McpFormModal, McpPanel
- UsageScriptModal
- SettingsDialog

All dialogs now follow unified layout pattern:
- DialogContent: flex flex-col max-h-[90vh]
- Content area: flex-1 overflow-y-auto px-6 py-4
- No negative margins that cause content overflow
2025-10-18 16:52:02 +08:00
Jason
b8a435a7f6 refactor: extract MCP business logic to useMcpActions hook
Before optimization:
- McpPanel.tsx: 298 lines (component + business logic)

After optimization:
- McpPanel.tsx: 234 lines (-21%, UI focused)
- useMcpActions.ts: 137 lines (business logic)

Benefits:
 Separation of concerns: UI vs business logic
 Reusability: MCP operations can be used in other components
 Testability: business logic can be tested independently
 Consistency: follows same pattern as useProviderActions
 Optimistic updates: toggle enabled status with rollback on error
 Unified error handling: all MCP errors use toast notifications

Technical details:
- Extract reload, toggleEnabled, saveServer, deleteServer
- Implement optimistic UI updates for toggle
- Centralize error handling and toast messages
- Remove duplicate error handling code from component
2025-10-17 18:19:06 +08:00