8
创建了一个Telegram Rhex交流群 @Rhexim
回复讨论
1
登录后可参与回复讨论。
首页“最新”列表按照帖子的最后活跃时间排序,但列表中展示的却是帖子发布时间。
因此,旧帖子被编辑或回复后会重新排到顶部,但仍显示原发布时间,导致出现“4 小时前”的帖子排在“3 小时前”帖子上方的情况。
帖子 A 排在帖子 B 上方,但显示的时间仍是帖子 A 的原发布时间。
例如:
页面中 A 却排在 B 上方,视觉上像是排序错误。
排序依据和页面显示的时间应保持一致,可选择以下一种方案:
activityAt DESC 排序,同时显示最后活跃时间。publishedAt/createdAt DESC 排序。建议首页“最新”采用方案 1,而“新帖”页面继续严格按照发布时间排序。
src/db/forum-feed-queries.ts
latest 使用 activityAt DESC 排序。new 使用 createdAt DESC 排序。src/lib/forum-feed.ts
publishedAt。src/app/page.tsx
sort="latest"。问题本质是首页的排序字段与展示字段不一致。
用户会误以为时间排序出现错误,尤其是在旧帖被编辑、回复或重新活跃后较为明显。
我已经提交了fork,检验一下