feat(life): add game versions and 5-star ratings to posts

Support associating life posts with specific game versions
Allow 1-5 star ratings on posts in rateable categories
Add feed filters for game version, rateable status, and top-rated sorting
This commit is contained in:
2026-05-03 18:38:33 +08:00
parent 4ebb45aa94
commit 105274eec8
10 changed files with 856 additions and 58 deletions

View File

@@ -689,9 +689,22 @@ export const systemWordingMessages = {
bodyPlaceholder: 'Share a thought, tip, or discovery...',
newPost: 'New Post',
category: 'Category',
gameVersion: 'Game version',
versionPlaceholder: 'No version',
searchVersions: 'Search versions',
languages: 'Languages',
allLanguages: 'All languages',
allCategories: 'All',
allVersions: 'All versions',
versionFilter: 'Version',
ratingFilter: 'Rating',
allRatingModes: 'All posts',
rateableOnly: 'Rateable only',
notRateableOnly: 'Not rateable',
sort: 'Sort',
sortLatest: 'Latest',
sortOldest: 'Oldest',
sortTopRated: 'Top rated',
categoryPlaceholder: 'Select category',
searchCategories: 'Search categories',
search: 'Search Life',
@@ -715,6 +728,14 @@ export const systemWordingMessages = {
reactionMenu: 'Reaction menu',
removeReaction: 'Remove reaction',
reactionFailed: 'Reaction failed',
postMeta: 'Post details',
changeLog: 'ChangeLog',
rating: 'Rating',
setRating: 'Rate {count} stars',
removeRating: 'Remove rating',
ratingAverage: '{average} average from {count} ratings',
noRatings: 'No ratings yet',
ratingFailed: 'Rating failed',
commentPlaceholder: 'Write a comment...',
commentReplyPlaceholder: 'Write a reply...',
postComment: 'Post comment',
@@ -788,6 +809,8 @@ export const systemWordingMessages = {
newConfig: 'New {name}',
editConfig: 'Edit {name}',
hasItemDrop: 'Has item drop',
rateableCategory: 'Rateable',
changeLog: 'ChangeLog',
dragSort: 'Drag to reorder: {name}',
dragSortTitle: 'Drag to reorder',
languageCode: 'Code',
@@ -860,7 +883,8 @@ export const systemWordingMessages = {
itemUsages: 'Item usages',
acquisitionMethods: 'Acquisition methods',
maps: 'Maps',
lifeCategories: 'Life categories'
lifeCategories: 'Life categories',
gameVersions: 'Game versions'
},
appearance: {
time: 'Time',
@@ -1005,9 +1029,11 @@ export const systemWordingMessages = {
postTooLong: 'Post is too long',
lifeCategoryRequired: 'Please select a category',
lifeCategoryInvalid: 'Category is invalid',
gameVersionInvalid: 'Game version is invalid',
commentRequired: 'Please enter a comment',
commentTooLong: 'Comment is too long',
reactionInvalid: 'Reaction is invalid',
ratingInvalid: 'Rating is invalid',
cursorInvalid: 'Cursor is invalid',
tagInvalid: 'Tag is invalid',
entityTypeInvalid: 'Entity type is invalid',
@@ -1731,9 +1757,22 @@ export const systemWordingMessages = {
bodyPlaceholder: '分享一段想法、心得或发现……',
newPost: 'New Post',
category: 'Category',
gameVersion: '游戏版本',
versionPlaceholder: '不选择版本',
searchVersions: '搜索版本',
languages: '语言区',
allLanguages: '全部语言',
allCategories: '全部',
allVersions: '全部版本',
versionFilter: '版本',
ratingFilter: '评分',
allRatingModes: '全部动态',
rateableOnly: '仅可评分',
notRateableOnly: '不可评分',
sort: '排序',
sortLatest: '最新',
sortOldest: '最早',
sortTopRated: '评分最高',
categoryPlaceholder: '选择 Category',
searchCategories: '搜索 Category',
search: '搜索动态',
@@ -1757,6 +1796,14 @@ export const systemWordingMessages = {
reactionMenu: '互动菜单',
removeReaction: '取消互动',
reactionFailed: '互动失败',
postMeta: '动态信息',
changeLog: 'ChangeLog',
rating: '评分',
setRating: '评 {count} 星',
removeRating: '取消评分',
ratingAverage: '{average} 平均分,{count} 人评分',
noRatings: '暂无评分',
ratingFailed: '评分失败',
commentPlaceholder: '写下评论……',
commentReplyPlaceholder: '写下回复……',
postComment: '发表评论',
@@ -1830,6 +1877,8 @@ export const systemWordingMessages = {
newConfig: '新增{name}',
editConfig: '编辑{name}',
hasItemDrop: '有掉落物',
rateableCategory: '可评分',
changeLog: 'ChangeLog',
dragSort: '拖曳排序:{name}',
dragSortTitle: '拖曳排序',
languageCode: 'Code',
@@ -1902,7 +1951,8 @@ export const systemWordingMessages = {
itemUsages: '物品用途',
acquisitionMethods: '入手方式',
maps: '地图',
lifeCategories: 'Life Categories'
lifeCategories: 'Life Categories',
gameVersions: '游戏版本'
},
appearance: {
time: '时段',
@@ -2047,9 +2097,11 @@ export const systemWordingMessages = {
postTooLong: '动态内容过长',
lifeCategoryRequired: '请选择 Category',
lifeCategoryInvalid: 'Category 不合法',
gameVersionInvalid: '游戏版本不合法',
commentRequired: '请输入评论内容',
commentTooLong: '评论内容过长',
reactionInvalid: '互动类型不合法',
ratingInvalid: '评分不合法',
cursorInvalid: '分页位置不合法',
tagInvalid: '标签不合法',
entityTypeInvalid: '实体类型不合法',