diff --git a/ui/console-src/modules/contents/pages/components/SinglePageListItem.vue b/ui/console-src/modules/contents/pages/components/SinglePageListItem.vue index 0ef9daa7e..3180db352 100644 --- a/ui/console-src/modules/contents/pages/components/SinglePageListItem.vue +++ b/ui/console-src/modules/contents/pages/components/SinglePageListItem.vue @@ -1,33 +1,36 @@ @@ -132,137 +199,19 @@ const handleDelete = async () => { /> - - - - - - - - - - - - - - - - - - - - - - - {{ - $t("core.page.list.fields.visits", { - visits: singlePage.stats.visit || 0, - }) - }} - - - {{ - $t("core.page.list.fields.comments", { - comments: singlePage.stats.totalComment || 0, - }) - }} - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - + - - {{ $t("core.common.buttons.edit") }} - - - {{ $t("core.common.buttons.setting") }} - - - - {{ $t("core.common.buttons.delete") }} - + diff --git a/ui/console-src/modules/contents/pages/components/entity-fields/ContributorsField.vue b/ui/console-src/modules/contents/pages/components/entity-fields/ContributorsField.vue new file mode 100644 index 000000000..1aaf9d707 --- /dev/null +++ b/ui/console-src/modules/contents/pages/components/entity-fields/ContributorsField.vue @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/ui/console-src/modules/contents/pages/components/entity-fields/CoverField.vue b/ui/console-src/modules/contents/pages/components/entity-fields/CoverField.vue new file mode 100644 index 000000000..6e5846644 --- /dev/null +++ b/ui/console-src/modules/contents/pages/components/entity-fields/CoverField.vue @@ -0,0 +1,25 @@ + + + + + + + + + + + diff --git a/ui/console-src/modules/contents/pages/components/entity-fields/PublishStatusField.vue b/ui/console-src/modules/contents/pages/components/entity-fields/PublishStatusField.vue new file mode 100644 index 000000000..b0c98dbf1 --- /dev/null +++ b/ui/console-src/modules/contents/pages/components/entity-fields/PublishStatusField.vue @@ -0,0 +1,40 @@ + + + + + + + + + diff --git a/ui/console-src/modules/contents/pages/components/entity-fields/PublishTimeField.vue b/ui/console-src/modules/contents/pages/components/entity-fields/PublishTimeField.vue new file mode 100644 index 000000000..9580e97ae --- /dev/null +++ b/ui/console-src/modules/contents/pages/components/entity-fields/PublishTimeField.vue @@ -0,0 +1,21 @@ + + + + + + diff --git a/ui/console-src/modules/contents/pages/components/entity-fields/TitleField.vue b/ui/console-src/modules/contents/pages/components/entity-fields/TitleField.vue new file mode 100644 index 000000000..c5e71e43b --- /dev/null +++ b/ui/console-src/modules/contents/pages/components/entity-fields/TitleField.vue @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + {{ + $t("core.page.list.fields.visits", { + visits: singlePage.stats.visit || 0, + }) + }} + + + {{ + $t("core.page.list.fields.comments", { + comments: singlePage.stats.totalComment || 0, + }) + }} + + + + + + diff --git a/ui/console-src/modules/contents/pages/components/entity-fields/VisibleField.vue b/ui/console-src/modules/contents/pages/components/entity-fields/VisibleField.vue new file mode 100644 index 000000000..56e25bffd --- /dev/null +++ b/ui/console-src/modules/contents/pages/components/entity-fields/VisibleField.vue @@ -0,0 +1,59 @@ + + + + + + + + + + diff --git a/ui/packages/shared/src/types/plugin.ts b/ui/packages/shared/src/types/plugin.ts index 36e419a19..355dd0456 100644 --- a/ui/packages/shared/src/types/plugin.ts +++ b/ui/packages/shared/src/types/plugin.ts @@ -13,6 +13,7 @@ import type { Theme, ListedComment, ListedReply, + ListedSinglePage, } from "@halo-dev/api-client"; import type { AnyExtension } from "@halo-dev/richtext-editor"; import type { Component, Ref } from "vue"; @@ -59,6 +60,10 @@ export interface ExtensionPoint { post: Ref ) => OperationItem[]; + "single-page:list-item:operation:create"?: ( + singlePage: Ref + ) => OperationItem[]; + "comment:list-item:operation:create"?: ( comment: Ref ) => OperationItem[]; @@ -83,6 +88,10 @@ export interface ExtensionPoint { "post:list-item:field:create"?: (post: Ref) => EntityFieldItem[]; + "single-page:list-item:field:create"?: ( + singlePage: Ref + ) => EntityFieldItem[]; + "theme:list:tabs:create"?: () => ThemeListTab[] | Promise; "theme:list-item:operation:create"?: (