feat(web): add drag-to-resize columns on AI providers table - #297
fengshao1227 wants to merge 1 commit into
Conversation
|
Thanks for working on this and for addressing the column-width usability issue. After reviewing the implementation, I do not plan to merge this PR in its current form. The main concern is that the implementation applies the complete The implementation also duplicates the full table column definition in TypeScript while the same layout is already maintained in SCSS. These values have already diverged from the current There are also several unresolved interaction and robustness issues, including incomplete pointer cleanup, no maximum width constraint, insufficient validation of persisted The underlying request is valid, but I think this needs a different implementation approach. The responsive layout should remain controlled by SCSS, while React only provides the adjustable column widths through CSS custom properties. This would avoid overriding the mobile layout and eliminate the need to duplicate the entire grid definition in two places. Given the current design and maintenance concerns, I am going to close this PR rather than merge it. Thank you again for the contribution and the effort put into improving the provider table. |
Summary
Implement drag-to-resize for the Identity and Base URL columns on the AI Providers table, allowing users to widen truncated channel names. Built with a custom
useResizableColumnshook — no external dependencies.Scope
Changes
useResizableColumnshook: pointer event drag handling, min-width enforcement, localStorage persistence, double-click reset$table-columnsto dynamic inlinegridTemplateColumnson header and data rowsresize_columnaria-label for all 4 localesUser Impact
Users with long channel name prefixes can now drag the Identity column wider to see distinguishing suffixes. Widths persist across page refreshes. Double-click a handle to reset.
Compatibility / Runtime Notes
Data / Security Notes
N/A — column widths stored in browser localStorage only
Risk / Rollback
Risk level: Low
Rollback notes:
providerTable.columnWidthsentries in localStorage are harmless and ignoredVerification
Commands / evidence:
Screenshots / Recordings
N/A
Docs
Related
Closes #276