feat: 优化全局 UI 交互与页面视觉体验

统一按钮、输入框、选择控件和开关的交互状态
优化日报、导出、设置、Agent Hub 和 API Center 的UI
完善组件、单元及 Electron E2E 测试
This commit is contained in:
Wxw-Gu
2026-08-21 15:05:06 +08:00
parent 67b1df7e80
commit 262b15db84
41 changed files with 245 additions and 225 deletions
@@ -74,6 +74,23 @@ describe('AI model settings', () => {
expect(screen.getByLabelText('模型 ID')).toHaveAttribute('placeholder', '例如:deepseek-chat')
})
it('reveals and focuses the provider editor when editing an existing provider', async () => {
vi.mocked(window.api.listAIProviders).mockResolvedValue({
success: true,
providers: [provider]
})
render(<AIModelPage onRuntimeChange={vi.fn()} onNotice={vi.fn()} />)
await act(async () => {
await Promise.resolve()
})
await userEvent.click(screen.getByRole('button', { name: '编辑' }))
expect(scrollIntoView).toHaveBeenCalledWith({ behavior: 'smooth', block: 'start' })
expect(screen.getByLabelText('供应商名称')).toHaveFocus()
expect(screen.getByLabelText('供应商名称')).toHaveValue(provider.name)
})
it('does not reload providers when the parent callback identity changes', async () => {
const firstRuntimeChange = vi.fn()
const secondRuntimeChange = vi.fn()