diff --git a/application/src/main/java/run/halo/app/infra/SchemeInitializer.java b/application/src/main/java/run/halo/app/infra/SchemeInitializer.java index f606b3518..2667b058f 100644 --- a/application/src/main/java/run/halo/app/infra/SchemeInitializer.java +++ b/application/src/main/java/run/halo/app/infra/SchemeInitializer.java @@ -172,7 +172,12 @@ public class SchemeInitializer implements ApplicationListener post.getStatusOrDefault().getExcerpt()))); - + indexSpecs.add(new IndexSpec() + .setName("status.lastModifyTime") + .setIndexFunc(simpleAttribute(Post.class, post -> { + var lastModifyTime = post.getStatus().getLastModifyTime(); + return lastModifyTime == null ? null : lastModifyTime.toString(); + }))); indexSpecs.add(new IndexSpec() .setName(Post.REQUIRE_SYNC_ON_STARTUP_INDEX_NAME) .setIndexFunc(simpleAttribute(Post.class, post -> { diff --git a/ui/console-src/modules/contents/posts/PostList.vue b/ui/console-src/modules/contents/posts/PostList.vue index 094584613..89ea903af 100644 --- a/ui/console-src/modules/contents/posts/PostList.vue +++ b/ui/console-src/modules/contents/posts/PostList.vue @@ -420,6 +420,18 @@ watch(selectedPostNames, (newValue) => { label: t('core.post.filters.sort.items.create_time_asc'), value: 'metadata.creationTimestamp,asc', }, + { + label: t( + 'core.post.filters.sort.items.last_modify_time_desc' + ), + value: 'status.lastModifyTime,desc', + }, + { + label: t( + 'core.post.filters.sort.items.last_modify_time_asc' + ), + value: 'status.lastModifyTime,asc', + }, { label: t('core.post.filters.sort.items.visit_desc'), value: 'stats.visit,desc', diff --git a/ui/src/locales/en.yaml b/ui/src/locales/en.yaml index c68420eac..d6501d223 100644 --- a/ui/src/locales/en.yaml +++ b/ui/src/locales/en.yaml @@ -219,6 +219,8 @@ core: create_time_asc: Earliest Created visit_desc: Most Visits comment_desc: Most Comments + last_modify_time_desc: Recently Updated + last_modify_time_asc: Earliest Updated list: fields: categories: "Categories:" diff --git a/ui/src/locales/zh-CN.yaml b/ui/src/locales/zh-CN.yaml index 730e3853a..6ee3275ef 100644 --- a/ui/src/locales/zh-CN.yaml +++ b/ui/src/locales/zh-CN.yaml @@ -211,6 +211,8 @@ core: create_time_asc: 较早创建 visit_desc: 最多访问量 comment_desc: 最多评论量 + last_modify_time_desc: 最近更新 + last_modify_time_asc: 较早更新 list: fields: categories: 分类: diff --git a/ui/src/locales/zh-TW.yaml b/ui/src/locales/zh-TW.yaml index ae7bd893d..910b144d2 100644 --- a/ui/src/locales/zh-TW.yaml +++ b/ui/src/locales/zh-TW.yaml @@ -211,6 +211,8 @@ core: create_time_asc: 較早創建 visit_desc: 最多訪問量 comment_desc: 最多評論量 + last_modify_time_asc: 較早更新 + last_modify_time_desc: 最近更新 list: fields: categories: 分類: