feat(settings/announcements): sort by publishDate desc

Add reverse-chronological sorting for the announcements list so that the newest
items appear first in the dashboard.

No API changes; this only affects front-end display and user notifications.
This commit is contained in:
t0ng7u
2025-06-21 06:15:26 +08:00
parent 83a3872b97
commit d487be0029
2 changed files with 13 additions and 7 deletions

View File

@@ -121,16 +121,16 @@ const DashboardSetting = () => {
<SettingsDataDashboard options={inputs} refresh={onRefresh} />
</Card>
{/* API信息管理 */}
<Card style={{ marginTop: '10px' }}>
<SettingsAPIInfo options={inputs} refresh={onRefresh} />
</Card>
{/* 系统公告管理 */}
<Card style={{ marginTop: '10px' }}>
<SettingsAnnouncements options={inputs} refresh={onRefresh} />
</Card>
{/* API信息管理 */}
<Card style={{ marginTop: '10px' }}>
<SettingsAPIInfo options={inputs} refresh={onRefresh} />
</Card>
{/* 常见问答管理 */}
<Card style={{ marginTop: '10px' }}>
<SettingsFAQ options={inputs} refresh={onRefresh} />

View File

@@ -388,11 +388,17 @@ const SettingsAnnouncements = ({ options, refresh }) => {
</div>
);
// 计算当前页显示的数据
// 计算当前页显示的数据(按发布时间倒序排序,最新优先显示)
const getCurrentPageData = () => {
const sortedList = [...announcementsList].sort((a, b) => {
const dateA = new Date(a.publishDate).getTime();
const dateB = new Date(b.publishDate).getTime();
return dateB - dateA; // 倒序,最新的排在前面
});
const startIndex = (currentPage - 1) * pageSize;
const endIndex = startIndex + pageSize;
return announcementsList.slice(startIndex, endIndex);
return sortedList.slice(startIndex, endIndex);
};
const rowSelection = {