Commit Graph

5619 Commits (a7b37b0dc047bbd5baff7fb46b8324433cd6422f)

Author SHA1 Message Date
Ryan Wang a7b37b0dc0
chore: bump tailwindcss version to 3.4 (#7604)
#### What type of PR is this?

/area ui
/kind cleanup

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

Bump TailwindCSS version to 3.4

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

```release-note
None
```
2025-06-29 02:25:27 +00:00
John Niang b9806bbcb8
Upgrade dependencies (#7596) 2025-06-27 15:45:42 +08:00
Ryan Wang b0bae4996c
chore: bump pnpm version to 10 (#7597)
#### What type of PR is this?

/area ui
/kind cleanup

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

Bump pnpm version to 10

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

```release-note
None 
```
2025-06-27 07:29:24 +00:00
Ryan Wang 3ac09524e0
feat: add details extension for editor (#7594)
#### What type of PR is this?

/area ui
/area editor
/kind feature
/milestone 2.21.x

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

Add details supports for editor.

<img width="1021" alt="image" src="https://github.com/user-attachments/assets/63d61c49-e370-4a4a-ba14-865bce9afdbe" />

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

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

#### Special notes for your reviewer:

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

```release-note
为编辑器添加内容折叠功能
```
2025-06-26 13:59:23 +00:00
Ryan Wang 3b1200ff2e
chore: remove unused files (#7592)
#### What type of PR is this?

/area ui
/kind cleanup

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

Remove unused files.

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

```release-note
None
```
2025-06-25 09:51:20 +00:00
Ryan Wang 8e6ef30a0c
chore: bump autoprefixer to latest version (#7591)
#### What type of PR is this?

/area ui
/kind cleanup

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

Bump autoprefixer to latest version to resolve caniuse-lite outdated warn.

<img width="850" alt="image" src="https://github.com/user-attachments/assets/fdddd946-0009-46a1-889e-c5968dae3f9d" />

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

```release-note
None
```
2025-06-25 09:49:21 +00:00
Ryan Wang 5e28c6db0c
chore: update prettier and simplify config (#7589)
#### 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
```
2025-06-25 09:47:21 +00:00
Ryan Wang 1826c7dcbb
chore: migrate eslint 9 (#7588)
#### What type of PR is this?

/area ui
/kind cleanup

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

Migrate to ESLint 9, use flat config file, and simplify ESLint configuration.

Now, linting for all packages will be managed by the configuration in the project root directory.

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

```release-note
None
```
2025-06-25 00:37:20 +00:00
Ryan Wang 0addf79aec
fix: resolve comment content width issue (#7586)
#### What type of PR is this?

/area ui
/kind bug
/milestone 2.21.x

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

Fix the width issue of comment content, which was affected by https://github.com/halo-dev/halo/pull/7564 and is inconsistent with version 2.20.0

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

```release-note
修复 2.20.1 中评论管理中内容的宽度问题。
```
2025-06-24 15:23:15 +00:00
Ryan Wang 685e4645a9
chore: bump vite version to 7 (#7587)
#### What type of PR is this?

/area ui
/milestone 2.21.x

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

Bump vite version to [7.0.0](https://github.com/vitejs/rolldown-vite/blob/v7.0.0/packages/vite/CHANGELOG.md#700-2025-06-24)

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

```release-note
None
```
2025-06-24 14:01:14 +00:00
Ryan Wang 7b257917bc
chore: use rolldown-vite (#7489)
#### What type of PR is this?

/area ui
/kind improvement

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

Using rolldown-vite to improve the build speed of the UI project, but some features are still not supported and need to wait.

before:

<img width="953" alt="image" src="https://github.com/user-attachments/assets/551b202e-c486-44e9-9737-56de8e2a8ed2" />

after:

<img width="881" alt="image" src="https://github.com/user-attachments/assets/5750d242-27d6-43e6-ab82-0c11644d4b35" />

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

Fixes #

#### Special notes for your reviewer:

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

```release-note
None
```
2025-06-19 16:31:11 +00:00
Ryan Wang d90097a5f9
chore: bump @halo-dev/ui-plugin-bundler-kit version (#7573)
#### What type of PR is this?

/area ui
/milestone 2.21.x

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

Bump @halo-dev/ui-plugin-bundler-kit version to 2.21.1

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

```release-note
None
```
2025-06-19 08:21:00 +00:00
Ryan Wang b602195b11
feat(ui-plugin-bundler-kit): support function-based configuration for env-aware builds (#7572)
#### What type of PR is this?

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

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

rsbuild example:

```ts
export default rsbuildConfig({
  rsbuild: ({ env, envMode }) => {
    console.log(env,envMode);

    return {
      resolve: {
        alias: {
          "@": "./src",
        },
      },
      plugins: [pluginSass()],
    };
  },
});
```

```ts
export default viteConfig({
  vite: ({ mode }) => {
    const env = loadEnv(mode, process.cwd(), '');
    console.log(env);
    return {
      resolve: {
        alias: {
          "@": fileURLToPath(new URL("./src", import.meta.url)),
        },
      },
    };
  },
});
```

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

```release-note
None
```
2025-06-19 08:05:01 +00:00
Ryan Wang 4ca0a09281
refactor: adjust max width of post title field (#7564)
#### 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="552" alt="image" src="https://github.com/user-attachments/assets/679a0b38-e215-4fb8-bee6-737504e03a7f" />

after:

<img width="696" alt="image" src="https://github.com/user-attachments/assets/7106c351-97ab-4a3c-978d-cfd9f8c20392" />

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

Fixes #7561 

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

```release-note
调整 Console 文章列表的标题区域最大宽度
```
2025-06-19 08:03:00 +00:00
Ryan Wang 1e5958dd5c
chore: refactor ui plugin bundler kit and support rsbuild (#7568)
#### What type of PR is this?

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

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

This PR adds Rsbuild preset configuration support and refactors the Vite preset configuration approach for `@halo-dev/ui-plugin-bundler-kit`.

- **Added Rsbuild support** - New `rsbuildConfig` function with pre-configured settings for Halo plugin development
- **Refactored Vite configuration** - Improved `viteConfig` function with better preset handling
- **Updated documentation** - Comprehensive README with usage examples and build tool comparison

example:

```typescript
// Vite
import { viteConfig } from "@halo-dev/ui-plugin-bundler-kit";
export default viteConfig({ vite: { /* custom config */ } });

// Rsbuild
import { rsbuildConfig } from "@halo-dev/ui-plugin-bundler-kit";
export default rsbuildConfig({ rsbuild: { /* custom config */ } });
```

real-world example: https://github.com/guqing/plugin-metrics-graph/pull/5

For detailed configuration options and examples, please refer to the updated README.md

⚠️ `HaloUIPluginBundlerKit` function is now deprecated (still functional but marked for removal)

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

Fixes #

#### Special notes for your reviewer:

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

```release-note
重构 `@halo-dev/ui-plugin-bundler-kit`,以预配置的方式为插件提供 Vite 和 Rsbuild 的构建配置。
```
2025-06-18 10:38:57 +00:00
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