Commit Graph

23 Commits

Author SHA1 Message Date
Ryan Wang
e446512565 Add route-based quick action support to dashboard (#7939)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.22.x

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

Introduces DashboardWidgetQuickActionRouteItem type to allow quick actions that navigate to routes instead of executing callbacks.

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

```release-note
None
```
2025-11-17 02:02:54 +00:00
Ryan Wang
ac88ee70cb Rename @halo-dev/console-shared to @halo-dev/ui-shared (#7926)
#### 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`
```
2025-11-10 16:20:41 +00:00
Ryan Wang
2d50736719 Expose dayjs in utils.date to allow users to call dayjs methods directly (#7906) 2025-11-06 12:24:20 +08:00
Ryan Wang
ad3b5c0680 Refactor UUID generation to shared utils.id.uuid (#7898) 2025-11-05 11:13:35 +08:00
Ryan Wang
fc475f6bf9 Add shared event bus for plugin config updates (#7895) 2025-11-04 22:08:45 +08:00
Ryan Wang
6d577f7c4c Improve structure and JSDoc of shared package (#7881)
#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.22.x

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

Improve structure and JSDoc of `@halo-dev/console-shared` package

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

```release-note
None
```
2025-10-29 04:00:17 +00:00
Ryan Wang
8075cec7ef Remove deprecated FunctionalPage interface and hooks (#7879)
* Remove deprecated FunctionalPage interface and hooks

* Remove pages state export from shared index

The export for './states/pages' was removed from the shared package index, likely because it is no longer needed or has been deprecated.
2025-10-28 21:48:54 +08:00
Ryan Wang
714cdddf61 Refactor attachment handling to use AttachmentSimple (#7865)
#### What type of PR is this?

/area ui
/kind api-change
/kind cleanup
/milestone 2.22.x

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

Unified attachment data structures by introducing AttachmentSimple and updating AttachmentLike to support it. Refactored utility functions and editor components to use new conversion and extraction methods, simplifying attachment processing and improving type safety. Removed legacy AttachmentAttr and related code, ensuring consistent handling of attachments across image, audio, video, and link features.

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

```release-note
None
```
2025-10-27 13:12:17 +00:00
Ryan Wang
e53bfd4edb Refactor user and global info stores to shared package (#7858)
#### What type of PR is this?

/area ui
/kind feature
/milestone 2.22.x

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

This PR moves the `currentUser` and `globalInfo` stores to the `@halo-dev/console-shared` package, making them easily accessible for plugins.

In addition, it’s now possible for plugins to define their own global stores using Pinia.

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

```release-note
- 在 `@halo-dev/console-shared` 包中提供 `stores` 对象,包含 currentUser 和 globalInfo。
- 支持在插件的 UI 中使用 Pinia 定义全局 Store
```
2025-10-23 10:32:14 +00:00
Ryan Wang
cc4ba4a361 Refactor permission checks to use shared utils (#7853)
#### 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 权限检查工具
```
2025-10-23 09:44:13 +00:00
Ryan Wang
0c2ccc7e00 Add JSDoc comments to attachment and date utils (#7850)
Added detailed JSDoc comments and usage examples to methods in AttachmentUtils and DateUtils. This improves code readability and provides better context and guidance for developers using these utility functions.
2025-10-23 11:26:22 +08:00
Ryan Wang
75ae6215a0 Refactor date and attachment utils to shared package (#7847)
#### 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 date and attachment utilities into the `@halo-dev/console-shared` package. This makes it convenient for plugins to share and reuse these common functions.

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

```release-note
在 `@halo-dev/console-shared` 包中提供统一的 date 和 attachment 工具
```
2025-10-22 10:02:14 +00:00
Ryan Wang
09cd1f7f74 Comments now support rich text formatting display (#7674)
#### What type of PR is this?

/area ui
/kind feature
/milestone 2.21.x

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

Comments now support rich text format display.

Still need to:

1. Test for XSS vulnerabilities
2. Optimize content styling
3. Editor

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

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

#### Special notes for your reviewer:

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

```release-note
评论内容支持以富文本格式显示
```
2025-08-12 06:26:47 +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
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
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
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
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
困困鱼
4a4f8b655d feat: make comment and reply list item operations extendable (#6438)
#### What type of PR is this?

/area console
/kind feature
/milestone 2.18.x

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

评论和回复管理列表项的操作按钮支持被插件扩展。
![image](https://github.com/user-attachments/assets/20174eda-ec46-4ab2-b1d9-c27e4aaa6cba)
![image](https://github.com/user-attachments/assets/ac44c221-71f5-4077-8116-a92245c22697)


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

Fixes #6392 

#### Special notes for your reviewer:

需要评论和回复的关于列表的已有功能是否正常。

如果需要测试扩展点是否有效,可以使用此插件测试:[plugin-starter-1.0.0-SNAPSHOT.jar.zip](https://github.com/user-attachments/files/16482348/plugin-starter-1.0.0-SNAPSHOT.jar.zip)

```
export default definePlugin({
  components: {},
  routes: [],
  extensionPoints: {
    "comment:list-item:operation:create": (comment: Ref<ListedComment>) => {
      return [
        {
          priority: 21,
          component: markRaw(VDropdownItem),
          label: "测试评论菜单",
          visible: true,
          permissions: [],
          action: () => {
            console.log(comment)
          },
        },
      ];
    },
    "reply:list-item:operation:create": (reply: Ref<ListedReply>) => {
      return [
        {
          priority: 11,
          component: markRaw(VDropdownItem),
          label: "测试回复菜单",
          visible: true,
          permissions: [],
          action: () => {
            console.log(reply)
          },
        },
      ];
    },
  },
});
```

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

```release-note
Console 评论和回复管理列表项的操作按钮支持被插件扩展。
```
2024-08-05 06:56:25 +00:00
Ryan Wang
a93479dc34 chore: organize and fix imports (#6152)
#### 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
```
2024-06-26 10:42:50 +00:00
Ryan Wang
4c6abdcaa1 feat: enable asynchronous resolving for UI extension points (#6018)
#### What type of PR is this?

/area ui
/kind feature
/milestone 2.16.x

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

优化 UI 部分的扩展点获取实现,让部分扩展点支持异步获取,之前的实现与文档不符。

比如:

```ts
import { definePlugin } from "@halo-dev/console-shared";
import axios from "axios";

export default definePlugin({
  components: {},
  routes: [],
  extensionPoints: {
    "attachment:selector:create": async () => {
      const { data } = await axios.get(
        "/apis/v1alpha1/fake.halo.run/attachments/selectors"
      );

      return data;
    },
  },
});
```

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

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

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

```release-note
优化 UI 部分的扩展点获取实现,让部分扩展点支持异步获取。
```
2024-05-30 07:01:15 +00:00
Ryan Wang
fbf2b06432 feat: add extension points for user detail tab (#5763)
#### What type of PR is this?

/area ui
/kind feature
/milestone 2.15.x

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

为 Console 的用户详情页面的选项卡和个人中心的个人资料页面选项卡添加扩展点,支持通过插件扩展选项卡。

todo:

- [x] 完善 docs.halo.run 的开发文档 https://github.com/halo-dev/docs/pull/340

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

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

#### Special notes for your reviewer:

可以使用 [plugin-starter-1.3.2-SNAPSHOT.jar.zip](https://github.com/halo-dev/halo/files/15059291/plugin-starter-1.3.2-SNAPSHOT.jar.zip) 进行测试。

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

```release-note
为 Console 的用户详情页面的选项卡和个人中心的个人资料页面选项卡添加扩展点
```
2024-04-25 00:33:09 +00:00
John Niang
15f7fe2d4f Move folder console to ui 2024-02-02 22:22:51 +08:00