#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.22.x
#### What this PR does / why we need it:
Lazy load partial routes to optimize initial load speed
#### Does this PR introduce a user-facing change?
```release-note
None
```
* Enhance type hints for globally registered components
* Refactor Codemirror props and language support
* Update
Signed-off-by: Ryan Wang <i@ryanc.cc>
---------
Signed-off-by: Ryan Wang <i@ryanc.cc>
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.22.x
#### What this PR does / why we need it:
Lazy load some routes to improve initial render performance
#### Does this PR introduce a user-facing change?
```release-note
懒加载 Console 和 UC 的部分路由,优化首屏渲染速度
```
#### What type of PR is this?
/area ui
/kind api-change
/milestone 2.22.x
#### What this PR does / why we need it:
See #7925
#### Which issue(s) this PR fixes:
Fixes#7925
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
将 `@halo-dev/console-shared` 重命名为 `@halo-dev/ui-shared`
```
#### What type of PR is this?
/area ui
/kind feature
/milestone 2.22.x
#### What this PR does / why we need it:
This PR introduces a developer-friendly utility for checking UI permissions, which is also exposed for use by plugins.
Usage:
```ts
import { utils } from "@halo-dev/console-shared"
utils.permission.has(['any:permission'])
```
#### Does this PR introduce a user-facing change?
```release-note
在 `@halo-dev/console-shared` 包中提供 UI 权限检查工具
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.22.x
#### What this PR does / why we need it:
This PR refactors the code to use shallowRef instead of ref in scenarios where deep reactivity for the properties of an object or array is unnecessary.
Using shallowRef is more performant in these cases as it avoids the overhead of making the entire data structure deeply reactive.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.21.x
#### What this PR does / why we need it:
Fix issue where menu items and post categories could not be reordered via drag-and-drop
#### Which issue(s) this PR fixes:
Fixes#7607
#### Does this PR introduce a user-facing change?
```release-note
修复菜单项和文章分类可能出现无法拖动排序的问题
```
#### What type of PR is this?
/area ui
/kind cleanup
#### What this PR does / why we need it:
Upgrade Prettier and related plugins, and simplify Prettier configuration.
Now, formatting for all packages will be managed by Prettier in the project root directory.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.21.x
#### What this PR does / why we need it:
1. Add ghost variant
2. Improve icon style
3. Refactoring css using scss functions
#### Does this PR introduce a user-facing change?
```release-note
None
```
* refactor: improve entity component layout for better device responsiveness
Signed-off-by: Ryan Wang <i@ryanc.cc>
* Resolve CSS style conflicts
Signed-off-by: Ryan Wang <i@ryanc.cc>
* Update missing translaions
Signed-off-by: Ryan Wang <i@ryanc.cc>
---------
Signed-off-by: Ryan Wang <i@ryanc.cc>
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.20.x
#### What this PR does / why we need it:
Prevent data clearing on FormKit component unmount
#### Which issue(s) this PR fixes:
Fixes#7121
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
修复 FormKit 组件卸载时,对应数据值也被清除的问题
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.20.x
#### What this PR does / why we need it:
统一空状态界面中操作按钮的风格。
#### Does this PR introduce a user-facing change?
```release-note
统一空状态界面中操作按钮的风格。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.20.x
#### What this PR does / why we need it:
升级 UI 项目的 Vue 版本至 3.5.x。
#### Does this PR introduce a user-facing change?
```release-note
升级 UI 项目的 Vue 版本至 3.5.x。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.19.x
#### What this PR does / why we need it:
使用 patch 接口重构菜单项拖动排序等功能。
#### Which issue(s) this PR fixes:
None
#### Special notes for your reviewer:
需要测试菜单项的拖动排序功能是否符合预期。
#### Does this PR introduce a user-facing change?
```release-note
使用 patch 接口重构菜单项拖动排序功能。
```
#### What type of PR is this?
/kind improvement
/area ui
/milestone 2.19.x
#### What this PR does / why we need it:
将主题预览中的保存功能固定在底部,方便当主题设置项过多时进行保存。
为了不影响保存功能,因此此 PR 移除了本来在左下角悬浮的选择主题按钮。选择主题可以直接在右上角进行点击。
#### Which issue(s) this PR fixes:
Fixes#6448
#### Does this PR introduce a user-facing change?
```release-note
在主题预览界面中将保存按钮固定在底部
```
#### What type of PR is this?
/kind bug
/area ui
/milestone 2.19.x
#### What this PR does / why we need it:
此 PR 将主题预览及文章预览的 `iframe` 由 srcdoc 改为使用 src 加载。用于解决在主题预览时,如果点击保存设置,会导致主题端页面跳转至首页。
#### How to test it?
1. 打开主题预览界面。
2. 打开非首页的页面。
3. 点击保存配置。查看此时刷新页面后是否不再回到首页。
同时需要测试 #4047 中的场景是否还会再发生。
#### Which issue(s) this PR fixes:
Fixes#6371
#### Does this PR introduce a user-facing change?
```release-note
解决预览主题时保存设置,页面会跳转至首页的问题。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.17.x
#### What this PR does / why we need it:
添加对菜单的限制,不能删除已经设置为主菜单的菜单。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/4956
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.17.x
#### What this PR does / why we need it:
重新组织和固定 UI 部分代码的 imports 导入,防止后续因为 imports 的顺序造成不必要的 diff。
基于:https://github.com/halo-dev/halo/pull/6151
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind feature
/area ui
/milestone 2.17.x
#### What this PR does / why we need it:
为主题增加导入及导出配置的功能。
<img width="1666" alt="image" src="https://github.com/halo-dev/halo/assets/31335418/3574b33e-0293-427c-9036-5d82948aa7f2">
#### How to test it?
测试主题导入及导出功能是否正常可用。
测试当前主题下的不同版本导入导出后数据是否正常。
测试在当前主题下使用其他主题导出的配置是否会报错。
#### Which issue(s) this PR fixes:
Fixes#1073
#### Does this PR introduce a user-facing change?
```release-note
为单个主题配置增加导入与导出的功能。
```
#### What type of PR is this?
/area ui
/kind cleanup
/milestone 2.16.x
#### What this PR does / why we need it:
移除 UI 项目中不必要的环境变量配置。
1. VITE_API_URL:当前 Console 不会考虑独立部署,并且在开发环境是后端 Proxy 的 Console 请求,所以此变量没有任何意义。
2. VITE_BASE_URL:无意义,当前不考虑修改。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.16.x
#### What this PR does / why we need it:
修复部分表单数据更新时,引用的初始值对象被跟着更新的问题。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind cleanup
/milestone 2.16.x
#### What this PR does / why we need it:
规范 api client 的方法名,之前生成的 api client 的方法名没有完全遵循驼峰命名。
#### Which issue(s) this PR fixes:
Close https://github.com/halo-dev/halo/issues/5716
#### Special notes for your reviewer:
CI 通过即可。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.16.x
#### What this PR does / why we need it:
升级 Vue 生态的相关依赖,以及修复编译 packages 时的异常日志问题。
#### Does this PR introduce a user-facing change?
```release-note
升级 Vue 生态的相关依赖至最新版本。
```
#### What type of PR is this?
/area ui
/kind improvement
/milestone 2.16.x
#### What this PR does / why we need it:
优化菜单管理相关的 UI 代码。
1. 使用 vue-draggable-plus 库代替 vuedraggable 库实现拖拽排序。vue-draggable-plus 是在 https://github.com/halo-dev/halo/pull/5914 中引入,替换的原因是 vuedraggable 库已经不再积极维护。
2. 改进菜单和菜单项编辑表单的逻辑,清理无用代码。
#### Special notes for your reviewer:
需要测试:
1. 测试菜单项拖拽排序功能是否表现正常。
2. 测试新增菜单、菜单项和修改菜单、菜单项功能是否表现正常。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind feature
/area core
/area theme
/milestone 2.16.x
#### What this PR does / why we need it:
为主题管理增加在线清理缓存功能
#### Which issue(s) this PR fixes:
Fixes#5440
#### Does this PR introduce a user-facing change?
```release-note
为主题管理增加在线清理缓存功能
```
#### What type of PR is this?
/area core
/area ui
/kind feature
/kind api-change
#### What this PR does / why we need it:
为主题和插件的定义文件添加 issues 字段,用于填写问题反馈地址。方便使用者可以清楚的知道可以在哪里反馈问题。
<img width="767" alt="image" src="https://github.com/halo-dev/halo/assets/21301288/b7dfce3f-8362-4964-82b8-cc018b85bb82">
#### Which issue(s) this PR fixes:
Fixes#5715
#### Does this PR introduce a user-facing change?
```release-note
为主题和插件的定义文件添加问题反馈(issues)字段
```
#### What type of PR is this?
/area ui
/kind bug
/milestone 2.14.x
#### What this PR does / why we need it:
重构文章预览和主题预览的页面加载方式,尝试解决在某些情况下打开预览导致登录 session 失效的问题。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/4047
#### Special notes for your reviewer:
需要测试:
1. 主题预览中的各个功能是否正常。
2. 文章预览功能是否正常。
#### Does this PR introduce a user-facing change?
```release-note
修复在某些情况下,打开文章预览或主题预览之后导致登录失效的问题。
```