♻ ️ refactor(channels): rebuild channel create/edit drawer with modular sections and improved form UX Restructure the default-theme channel create/edit experience to align with classic frontend behavior, modern form UX patterns, and the project's Base UI design system. Channel editor architecture: - Split the monolithic channel mutate drawer into focused section components (basic, API access, auth, models, advanced) with shared drawer layout primitives - Extract submission, toast handling, and react-query cache invalidation into `useChannelMutateForm` - Add a dedicated loading skeleton for channel detail fetch during edit mode - Remove the top-level configuration summary block per UX feedback Form validation and data handling: - Strengthen `channel-form` Zod schema with JSON, model mapping, status code mapping, Codex credential, and Vertex AI key refinements - Move type-specific conditional validation into `superRefine` - Normalize base URL formatting and tighten model mapping value validation Model mapping editor: - Add Visual/JSON tabbed editing with inline JSON and duplicate-key feedback - Improve accessibility for icon-only actions and add model suggestion datalists MultiSelect component: - Replace the custom cmdk-based implementation with Base UI Combobox chips - Align focus, border, ring, disabled, and invalid states with standard Input styling via `ComboboxChips` - Preserve existing API (`options`, `selected`, `onChange`, `allowCreate`, `createLabel`) for all current callers - Support inline custom value creation, comma/newline batch input, searchable options, portal-based dropdown positioning, and chip removal Models & groups UX: - Integrate manual custom model entry directly into the model MultiSelect - Remove the separate manual model input/button block - Keep selected-model count and existing model-mapping guardrail behavior i18n: - Add and sync translation keys for new editor sections, validation messages, model mapping UI, and MultiSelect empty/create labels across en, zh, fr, ja, ru, and vi - Remove obsolete keys tied to the deprecated summary and manual model entry UI Affected areas: - `web/default/src/features/channels/components/drawers/` - `web/default/src/features/channels/hooks/use-channel-mutate-form.ts` - `web/default/src/features/channels/lib/channel-form.ts` - `web/default/src/features/channels/lib/model-mapping-validation.ts` - `web/default/src/features/channels/components/model-mapping-editor.tsx` - `web/default/src/components/multi-select.tsx` - `web/default/src/i18n/locales/*.json`
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| ai-elements | Loading commit data... | |
| data-table | Loading commit data... | |
| layout | Loading commit data... | |
| ui | Loading commit data... | |
| animate-in-view.tsx | Loading commit data... | |
| auto-skeleton.tsx | Loading commit data... | |
| coming-soon.tsx | Loading commit data... | |
| command-menu.tsx | Loading commit data... | |
| config-drawer.tsx | Loading commit data... | |
| confirm-dialog.tsx | Loading commit data... | |
| copy-button.tsx | Loading commit data... | |
| date-picker.tsx | Loading commit data... | |
| datetime-picker.tsx | Loading commit data... | |
| drawer-layout.ts | Loading commit data... | |
| empty-state.tsx | Loading commit data... | |
| error-state.tsx | Loading commit data... | |
| group-badge.tsx | Loading commit data... | |
| json-editor.tsx | Loading commit data... | |
| language-switcher.tsx | Loading commit data... | |
| learn-more.tsx | Loading commit data... | |
| loading-state.tsx | Loading commit data... | |
| long-text.tsx | Loading commit data... | |
| masked-value-display.tsx | Loading commit data... | |
| model-group-selector.tsx | Loading commit data... | |
| multi-select.tsx | Loading commit data... | |
| navigation-progress.tsx | Loading commit data... | |
| notification-popover.tsx | Loading commit data... | |
| page-transition.tsx | Loading commit data... | |
| password-input.tsx | Loading commit data... | |
| profile-dropdown.tsx | Loading commit data... | |
| risk-acknowledgement-dialog.tsx | Loading commit data... | |
| search.tsx | Loading commit data... | |
| sign-out-dialog.tsx | Loading commit data... | |
| skip-to-main.tsx | Loading commit data... | |
| status-badge.tsx | Loading commit data... | |
| table-id.tsx | Loading commit data... | |
| tag-input.tsx | Loading commit data... | |
| theme-quick-switcher.tsx | Loading commit data... | |
| theme-switch.tsx | Loading commit data... | |
| truncated-text.tsx | Loading commit data... | |
| turnstile.tsx | Loading commit data... |