Phase 007: migrate every remaining view from naive-ui to Arco Design Vue
The project now has exactly one UI library. Every naive-ui component in
packages/client/src is replaced by its Arco equivalent across 24 views and
roughly 80 components, and naive-ui is dropped from package.json along with
its transitive vueuc / @css-render / vdirs / seemly dependencies.
The migration is rendering-layer only. No store logic, no API contract, and
no /chat-run payload was touched.
Three classes of leftover were invisible to `grep naive-ui` and are now
covered by tests/client/no-naive-ui.test.ts, which asserts all three:
- dead .n-* class names in style blocks
- dead --n-* custom properties
- naive-ui in package.json
Notable behavioural traps handled along the way, recorded in
docs/arco-migration-rules.md:
- a-input-password defaults to masked; passing default-visibility="false"
would have exposed API keys in clear text
- a-upload fires a real XHR unless auto-upload is false
- nested Trigger components fight over the first element child, so the
group-chat settings dropdown was flattened
- Arco renders tooltip default-slot text inline, which was silently
collapsing the chat and group-chat toolbars
This commit is contained in:
@@ -259,14 +259,14 @@ a {
|
||||
}
|
||||
|
||||
// Prevent iOS Safari auto-zoom on input focus by ensuring font-size is at least 16px
|
||||
// Arco 的 a-input 渲染原生 <input>,已被上面的元素选择器覆盖;
|
||||
// 需要额外兜住的是 a-textarea(渲染 textarea,字体继承自容器)与 Arco 包装层。
|
||||
@media (max-width: 768px) {
|
||||
input,
|
||||
textarea,
|
||||
select,
|
||||
.n-input,
|
||||
.n-input__input-element,
|
||||
.n-input__textarea-el,
|
||||
.n-input__textarea-element {
|
||||
.arco-input,
|
||||
.arco-textarea {
|
||||
font-size: 16px !important;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user