Commit Graph

5604 Commits (d5a411eb1f1e7a44eb6ec6d7093f46656fdb6aab)

Author SHA1 Message Date
Ryan Wang d5a411eb1f
feat: add cover for deleted post list in console (#7565)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.21.x

#### What this PR does / why we need it:

Add cover field for deleted post list in console.

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-17 15:06:55 +00:00
John Niang 7d560186e8
Add support for rewriting URL with trailing slash (#7559) 2025-06-17 11:29:54 +08:00
Ryan Wang 8fd23e2c68
fix: display settings button in Stack widgets (#7563)
#### What type of PR is this?

/area ui
/kind bug
/milestone 2.21.x

#### What this PR does / why we need it:

Fix the issue where widgets in Stack Widgets cannot display the settings button

<img width="813" alt="image" src="https://github.com/user-attachments/assets/15a13703-99f2-49af-aa3e-831f8271c3a2" />

#### Which issue(s) this PR fixes:

Fixes #7562 

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
修复堆叠部件中的部件可能无法显示设置按钮的问题。
```
2025-06-17 03:22:53 +00:00
Ryan Wang b3ccb4812b
chore: fix incorrect imports (#7558)
#### What type of PR is this?

/area ui
/kind cleanup

#### What this PR does / why we need it:

None

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-16 14:26:52 +00:00
Ryan Wang 12ed2d5653
chore: bump preset plugins and themes version (#7555)
Signed-off-by: Ryan Wang <i@ryanc.cc>
2025-06-15 12:03:27 +08:00
Ryan Wang a91d072cdf
feat: make field items of singlePage data list extendable (#7553)
Signed-off-by: Ryan Wang <i@ryanc.cc>
2025-06-15 12:03:07 +08:00
Ryan Wang 1bd6b5530e
feat: add custom file paths options for ui-plugin-bundler-kit (#7552)
#### What type of PR is this?

/area ui
/kind improvement
/area plugin
/milestone 2.21.x

#### What this PR does / why we need it:

Added support for customization options to the HaloUIPluginBundlerKit.

example:

```ts
import { HaloUIPluginBundlerKit } from '@halo-dev/ui-plugin-bundler-kit';

export default {
  plugins: [
    HaloUIPluginBundlerKit({
      outDir: {
        dev: "../custom/dev/path",
        prod: "../custom/prod/path"
      },
      manifestPath: "../custom/plugin.yaml"
    })
  ]
}
```

#### Does this PR introduce a user-facing change?

```release-note
`@halo-dev/ui-plugin-bundler-kit` 支持自定义 `outDir` 和 `manifestPath`。
```
2025-06-15 02:00:47 +00:00
Ryan Wang 5ec975e75b
fix: user avatar shadow display issue in Safari browser (#7551)
#### What type of PR is this?

/kind bug
/area ui
/milestone 2.21.x

#### What this PR does / why we need it:

Fix user avatar shadow display issue in Safari browser

before:

<img width="281" alt="image" src="https://github.com/user-attachments/assets/72165f9d-b3c4-4d98-902d-b7558fea8c76" />

after:

<img width="388" alt="image" src="https://github.com/user-attachments/assets/12b4b160-53aa-4f19-a335-1f0a53ae9111" />


#### Does this PR introduce a user-facing change?

```release-note
修复用户资料页面头像在 Safari 浏览器下的阴影问题。
```

<!-- Fuck Safari -->
2025-06-13 15:22:44 +00:00
Ryan Wang 15b029af56
feat: add support for copying full path in attachment details (#7550)
#### What type of PR is this?

/area ui
/kind feature
/milestone 2.21.x

#### What this PR does / why we need it:

Add support for copying full path ina attachment details modal.

<img width="1023" alt="image" src="https://github.com/user-attachments/assets/1b337655-e774-4c8a-8a32-3dac83cb77b2" />

#### Does this PR introduce a user-facing change?

```release-note
支持在附件详情弹窗中复制完整的附件地址。
```
2025-06-13 15:20:44 +00:00
John Niang 21e115165f
Reduce application size by removing unused JPA dependency (#7549)
#### What type of PR is this?

/kind cleanup
/area core
/milestone 2.21.x

#### What this PR does / why we need it:

This PR removes unused JPA dependency to reduce application size about 14.6% off.

```bash
# Before
❯ ll application/build/libs
total 123M
-rw-r--r--. 1 johnniang johnniang 123M Jun 13 15:37 halo-2.21.0-SNAPSHOT.jar
-rw-r--r--. 1 johnniang johnniang   64 Jun 13 15:37 halo-2.21.0-SNAPSHOT.jar.sha256
```

```bash
# After
❯ ll application/build/libs
total 105M
-rw-r--r--. 1 johnniang johnniang 105M Jun 13 15:36 halo-2.21.0-SNAPSHOT.jar
-rw-r--r--. 1 johnniang johnniang   64 Jun 13 15:36 halo-2.21.0-SNAPSHOT.jar.sha256
```

#### Does this PR introduce a user-facing change?

```release-note
移除无用的依赖,软件包的体积减少近 15%
```
2025-06-13 11:44:43 +00:00
Ryan Wang 3551e6cba7
chore: remove unnecessary ts checks and enable parallel build (#7548)
#### What type of PR is this?

/area ui
/kind cleanup
/milestone 2.21.x

#### What this PR does / why we need it:

Remove unnecessary TS checks, and support parallel building of console and uc

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-13 07:54:42 +00:00
Ryan Wang 8525f19a16
chore: remove vite build warnings about external libs (#7547)
#### What type of PR is this?

/area ui
/kind cleanup
/milestone 2.21.x

#### What this PR does / why we need it:

Remove vite build warnings about external libs.

<img width="1051" alt="image" src="https://github.com/user-attachments/assets/ae3e2471-37d5-481b-9a5f-281a6bfc3094" />

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-13 07:48:43 +00:00
Ryan Wang 13e0d34ed9
fix: prevent title text overflow in modal component (#7546)
#### What type of PR is this?

/area ui
/kind bug
/milestone 2.21.x

#### What this PR does / why we need it:

Fix text overflow issue in modal component.

before:

<img width="454" alt="image" src="https://github.com/user-attachments/assets/7e79f3b4-1f4a-4cbc-aae9-86efa098528d" />

after:

<img width="437" alt="image" src="https://github.com/user-attachments/assets/4d5c4a21-eff0-4121-8aee-d317f12a83c4" />

#### Does this PR introduce a user-facing change?

```release-note
修复模态框标题文字溢出的问题。
```
2025-06-13 07:38:42 +00:00
Ryan Wang f59e3a2909
refactor: remove unused width prop for post title field (#7545)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.21.x

#### What this PR does / why we need it:

Remove unused width prop for post title field

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-13 06:50:42 +00:00
Ryan Wang d39a571e46
refactor: adapt page header styles for responsive design (#7544)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.21.x

#### What this PR does / why we need it:

Adapt page header styles for responsive design

before:

<img width="415" alt="image" src="https://github.com/user-attachments/assets/feee6f09-9a77-4bbf-94c2-77725c9ce76b" />

after:

<img width="416" alt="image" src="https://github.com/user-attachments/assets/60bb07a3-5d34-4cf6-b103-5d1f2206d62d" />

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/6425

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
优化移动端下文章编辑页面的样式
```
2025-06-13 06:06:42 +00:00
Ryan Wang 016d4cd94b
fix: resolve text wrapping issue in entity field component (#7543)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.21.x

#### What this PR does / why we need it:

before:

<img width="759" alt="image" src="https://github.com/user-attachments/assets/13d6ec8c-b0ca-4b49-8589-504a7d506be4" />

after:

<img width="796" alt="image" src="https://github.com/user-attachments/assets/83a41ccb-28b0-4161-bf3f-0ec7a15bda66" />

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-13 05:30:43 +00:00
Ryan Wang 663ee22147
feat: improve menu bar in mobile devices (#7542)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.21.x

#### What this PR does / why we need it:

<img width="408" alt="image" src="https://github.com/user-attachments/assets/296c631f-59e2-4aaa-9c0b-cabb0f8ee2d9" />

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/7410
Fixes https://github.com/halo-dev/halo/issues/2885

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
优化移动端的菜单,支持切换 Console / UC,支持退出登录和返回到首页。
```
2025-06-13 05:28:42 +00:00
John Niang 4a3d35a900
Remove deprecated migrations (#7535)
#### What type of PR is this?

/kind cleanup
/area core
/milestone 2.21.x

#### What this PR does / why we need it:

This PR removes deprecated Subscritpion and Thumbnail migrations.

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-12 16:24:40 +00:00
Ryan Wang 2cba28d21d
feat: add cover for post list in uc (#7534)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.21.x

#### What this PR does / why we need it:

Add cover image display for the post list in the uc.

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-10 15:16:36 +00:00
Ryan Wang 6f769b0c59
fix: encode post cover image URLs to prevent loading issue (#7533)
#### What type of PR is this?

/area ui
/kind bug
/milestone 2.21.x

#### What this PR does / why we need it:

Encode post cover image URLs to prevent loading issue

<img width="736" alt="image" src="https://github.com/user-attachments/assets/0f298c64-37b3-4692-bdfa-922fd0e37dd9" />

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-10 15:14:36 +00:00
John Niang 86d5cd24e1
Upgrade SpringDoc to 2.8.9 (#7532) 2025-06-10 22:08:30 +08:00
Ryan Wang bfbca99f1b
refactor: update attachment policy form using new configMap API (#7531)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.21.x

#### What this PR does / why we need it:

Update attachment policy form using new configMap API

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-10 09:58:35 +00:00
Ryan Wang 2469043248
refactor: optimize global libs filenames for better cache hit rates (#7530)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.21.x

#### What this PR does / why we need it:

Optimize the file suffixes of global dependencies by using content hashes instead of random strings. This ensures that when dependencies do not change, the output filenames remain the same after building, resulting in better cache utilization.

#### Does this PR introduce a user-facing change?

```release-note
优化 Console 的全局依赖文件名,以获得更好的缓存利用率。
```
2025-06-10 04:00:34 +00:00
Ryan Wang 2332e09ead
feat: add iframe widget for dashboard (#7516)
#### What type of PR is this?

/area ui
/kind feature
/milestone 2.21.x

#### What this PR does / why we need it:

Add iframe widget for dashboard

<img width="1212" alt="image" src="https://github.com/user-attachments/assets/e31bb9f2-5120-4565-ad2d-cf878b4c9d53" />

#### Does this PR introduce a user-facing change?

```release-note
为仪表盘添加网页嵌入小部件
```
2025-06-09 16:46:34 +00:00
Ryan Wang c50099e491
refactor: update extension points settings using new configMap API (#7529)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.21.x

#### What this PR does / why we need it:

Update extension points settings using new configMap API

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-09 16:34:34 +00:00
Ryan Wang 8dfae708ff
feat: add empty state for some widgets (#7522)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.21.x

#### What this PR does / why we need it:

Add empty state for some dashboard widgets

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-09 16:24:35 +00:00
Ryan Wang 392d851353
feat: improve permission control for comment management (#7521)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.21.x

#### What this PR does / why we need it:

Improve permission control for comment management.

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-09 16:22:34 +00:00
Ryan Wang 4093435b0e
feat: refine i18n for dashboard widgets config form (#7511)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.21.x

#### What this PR does / why we need it:

Refine i18n for dashboard widgets config form.

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/7508

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-09 16:20:33 +00:00
Ryan Wang c604952914
feat: add success notification for dashboard layout save (#7510)
Signed-off-by: Ryan Wang <i@ryanc.cc>
2025-06-10 00:08:38 +08:00
Ryan Wang 9a52de0f4e
refactor: update external URL using new configMap API (#7528)
#### What type of PR is this?

/kind improvement
/area ui
/milestone 2.21.x

#### What this PR does / why we need it:

Update external URL using new configMap API.

#### Does this PR introduce a user-facing change?

```release-note
None 
```
2025-06-09 15:44:33 +00:00
Ryan Wang 2f1bf93b2b
refactor: improve dialog styles in mobile devices (#7512)
#### What type of PR is this?

/kind improvement
/area ui
/milestone 2.21.x

#### What this PR does / why we need it:

before:

<img width="476" alt="image" src="https://github.com/user-attachments/assets/2bed7f23-1d5f-4ea3-9692-512e7eea966a" />

after:

<img width="448" alt="image" src="https://github.com/user-attachments/assets/85bcaba3-792e-45da-ad02-fc267c363e85" />

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-09 15:42:33 +00:00
Ryan Wang 204113bd87
refactor: improve button component styles (#7517)
#### 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
```
2025-06-09 15:38:34 +00:00
Ryan Wang 63d40d4d40
refactor: enable dashboard widgets query cache (#7520)
#### What type of PR is this?

/kind improvement
/area ui
/milestone 2.21.x

#### What this PR does / why we need it:

Enable query cache for dashboard widgets.

#### Does this PR introduce a user-facing change?

```release-note
None 
```
2025-06-09 15:36:34 +00:00
Ryan Wang 65d4751509
feat: add cover for post list (#7519)
#### What type of PR is this?

/kind feature
/area ui
/milestone 2.21.x

#### What this PR does / why we need it:

<img width="508" alt="image" src="https://github.com/user-attachments/assets/3d7a9ac0-1e0a-4a4f-a658-03af7ff89904" />

#### Which issue(s) this PR fixes:

Fixes #7437 

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
文章管理列表支持显示封面图
```
2025-06-09 15:34:34 +00:00
John Niang aeea3a5488
Provide storage policy config APIs to make it easy to use (#7527)
* Provide storage policy config APIs to make it easy to use

* Update api client

Signed-off-by: Ryan Wang <i@ryanc.cc>

---------

Signed-off-by: Ryan Wang <i@ryanc.cc>
Co-authored-by: Ryan Wang <i@ryanc.cc>
2025-06-09 23:24:30 +08:00
Ryan Wang 315073406f
feat: add stack widget for dashboard (#7525)
#### What type of PR is this?

/area ui
/kind feautre
/milestone 2.21.x

#### What this PR does / why we need it:

This PR adds a core Dashboard Widget called Stack Widget, which is used to stack a batch of components in the same location and supports manual or automatic switching.

<img width="737" alt="image" src="https://github.com/user-attachments/assets/de448cd8-cf62-4608-8523-88395298e734" />
<img width="827" alt="image" src="https://github.com/user-attachments/assets/fecaf637-9cb8-444a-888b-0ee2a9700bc7" />

#### Which issue(s) this PR fixes:

Fixes #

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
为仪表盘添加堆叠小部件
```
2025-06-09 15:08:34 +00:00
Ryan Wang 3fa6532d9b
refactor: convert post publish dates to human-readable format (#7526)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.21.x

#### What this PR does / why we need it:

<img width="1202" alt="image" src="https://github.com/user-attachments/assets/cac050d2-b984-4b48-afe0-e18db220ec19" />

#### Does this PR introduce a user-facing change?

```release-note
将 Console 端文章列表的发布时间改为语义化时间
```
2025-06-09 15:02:34 +00:00
Ryan Wang 224d78079d
refactor: migrate system settings to new configmap API (#7524)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.21.x

#### What this PR does / why we need it:

Migrate system settings to new configmap API

#### Which issue(s) this PR fixes:

Fixes #7515 

#### Special notes for your reviewer:

Need to test whether the system setting is working properly

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-09 15:00:33 +00:00
Ryan Wang 677caca403
chore: bump vue-related dependencies (#7523)
Signed-off-by: Ryan Wang <i@ryanc.cc>
2025-06-09 15:34:14 +08:00
Ryan Wang 28a4a13e0e
refactor: redesign ui of comment management page (#7481)
* refactor: redesign ui of comment management page

Signed-off-by: Ryan Wang <i@ryanc.cc>

* Add comment detail modal

Signed-off-by: Ryan Wang <i@ryanc.cc>

* Add reply detail modal

Signed-off-by: Ryan Wang <i@ryanc.cc>

* Improve ui

Signed-off-by: Ryan Wang <i@ryanc.cc>

* Add pending comments widget

Signed-off-by: Ryan Wang <i@ryanc.cc>

* Improve ui

Signed-off-by: Ryan Wang <i@ryanc.cc>

* Improve ui

Signed-off-by: Ryan Wang <i@ryanc.cc>

---------

Signed-off-by: Ryan Wang <i@ryanc.cc>
2025-06-06 22:59:43 +08:00
Ryan Wang 47e517d9bf
fix: correct package import paths (#7506)
#### What type of PR is this?

/kind cleanup
/area ui

#### What this PR does / why we need it:

Fix correct package import paths

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-06-06 09:06:56 +00:00
Ryan Wang 6d3c2494f6
feat: full-features of dashboard widgets (#7496)
#### What type of PR is this?

/area ui
/kind feature
/milestone 2.21.x

#### What this PR does / why we need it:

Previously, although the Console dashboard was designed from the beginning to support extensions and persistent configuration, this had not yet been implemented. This PR implements a more powerful dashboard configuration, including features:

1. Support for persisting configuration data to the currently logged-in user.
2. Support for configuring different dashboards for different device sizes (responsive support).
3. Support for extending dashboard widgets through plugins.
4. More UX/UI optimizations

docs: https://github.com/halo-dev/docs/pull/500

Test plugin: [plugin-widgets-test-1.0.11.jar.zip](https://github.com/user-attachments/files/20623916/plugin-widgets-test-1.0.11.jar.zip)

<img width="1663" alt="image" src="https://github.com/user-attachments/assets/cc4d78f2-25ab-4772-b43f-b16a813bcdc0" />
<img width="1662" alt="image" src="https://github.com/user-attachments/assets/e8ba8ca8-2ae9-4736-800f-6c0f062434a3" />



#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/6358
Fixes https://github.com/halo-dev/halo/issues/6666
Fixes https://github.com/halo-dev/halo/issues/2883

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
重构 Console 端仪表盘,支持响应式布局、持久化配置,支持通过插件扩展小部件。
```
2025-06-06 08:30:56 +00:00
John Niang 54fad8d59a
Add a system config changed event (#7502) 2025-06-05 17:43:24 +08:00
John Niang f3023e6ec9
Add a system config changed event 2025-06-04 23:47:41 +08:00
John Niang fb62c1acff
Add support for configuring my preferences (#7495)
* Add support for configuring my preferences

* Update api client

Signed-off-by: Ryan Wang <i@ryanc.cc>

* Update api client

Signed-off-by: Ryan Wang <i@ryanc.cc>

---------

Signed-off-by: Ryan Wang <i@ryanc.cc>
Co-authored-by: Ryan Wang <i@ryanc.cc>
2025-06-04 11:55:03 +08:00
Ryan Wang ebbe6a91e9
refactor: remove time field from plugin list (#7494)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.21.x

#### What this PR does / why we need it:

As per the title, the time shown in the plugin list is the installation time of the plugin. For usage purposes, this time seems to have no meaning or reference value.

#### Which issue(s) this PR fixes:

Fixes #7493 

#### Does this PR introduce a user-facing change?

```release-note
移除插件列表的时间字段,并在插件详情中显示安装时间。
```
2025-06-02 16:18:38 +00:00
Ryan Wang c6f19a233f
fix: exclude reserved users from global search results (#7486)
* fix: exclude reserved users from global search results

Signed-off-by: Ryan Wang <i@ryanc.cc>

* Use labelSelector

Signed-off-by: Ryan Wang <i@ryanc.cc>

---------

Signed-off-by: Ryan Wang <i@ryanc.cc>
2025-05-31 22:49:03 +08:00
John Niang f80487b1d5
Add support for setting external URL at setup page (#7488)
#### What type of PR is this?

/kind improvement
/area core
/milestone 2.21.x

#### What this PR does / why we need it:

This PR allows users to set external URL at setup page without performing a restart.

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/7479

#### Special notes for your reviewer:

1. Try to start Halo instance with a fresh environment.
2. Request index page and you will be redirected to setup page.
3. Check if the external URL is equal to the base URL in your browser.
4. Try to change external URL and finish the setup process.
5. Login to console and check the external URL in overview page.

#### Does this PR introduce a user-facing change?

```release-note
支持在初始化页面设置外部访问地址
```
2025-05-31 10:10:31 +00:00
Ryan Wang 7162b8da92
fix: correct attachment selection state after new upload (#7487)
#### What type of PR is this?

/area ui
/kind bug
/milestone 2.21.x

#### What this PR does / why we need it:

Fix correct attachment selection state after new upload.

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/7472

#### Does this PR introduce a user-facing change?

```release-note
修复当有已选择附件时,上传新附件导致所选附件状态异常的问题。
```
2025-05-30 10:10:28 +00:00
Ryan Wang 9d16388379
fix: external URL prompt in overview page always displays with priority (#7484)
#### What type of PR is this?

/area ui
/kind bug
/milestone 2.21.x

#### What this PR does / why we need it:

See https://github.com/halo-dev/halo/issues/7480

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/7480

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?

```release-note
None
```
2025-05-30 10:00:28 +00:00