feat(themes): Theme Store install counts, downloads & sort (#1036)

* feat(themes): install counts, downloads, popularity & sort in the Theme Store

Each registry theme now carries an install count and a last-changed date. Store
rows show them in a dedicated meta panel (author, popularity bar, total
downloads, last changed), plus a sort dropdown (most popular / newest / name),
zebra-striped rows, a numbered pager, and a note that the stats refresh daily.
Adds a shared formatRelativeTime helper (formatLastSeen now delegates to it).

* test(themes): cover sort modes, pager jump and relative-time formatting

* fix(build): gate nvidia_quirk_active to Linux

Its only caller is the Linux branch of theme_animation_risk, so on Windows and
macOS the function was dead code and tripped clippy's -D warnings.

* docs: CHANGELOG + credits for theme store download stats & sort (#1036)
This commit is contained in:
Psychotoxical
2026-06-08 22:05:41 +02:00
committed by GitHub
parent 68f0f09aae
commit 0878cbf308
19 changed files with 346 additions and 48 deletions
+8 -1
View File
@@ -324,6 +324,7 @@ export const settings = {
themeStoreSubmitText: '做了自己的主题?与社区分享——更多信息见主题仓库。',
themeStoreSubmitLink: '打开主题仓库',
themeStoreNetworkNotice: '主题商店从外部服务(jsDelivr CDN 和 GitHub)加载目录和预览。不会发送任何个人数据。',
themeStoreStatsNotice: '下载量和最后更新时间等统计数据每天更新一次(约 04:17 UTC)。',
themeStoreSearchPlaceholder: '搜索主题…',
themeStoreFilterMode: '按模式筛选',
themeStoreModeAll: '全部',
@@ -337,7 +338,13 @@ export const settings = {
themeStoreEmpty: '没有符合筛选条件的主题。',
themeStoreActive: '使用中',
themeStoreEnlarge: '放大预览',
themeStoreByAuthor: '作者:{{author}}',
themeStoreSortPopular: '最受欢迎',
themeStoreSortNewest: '最新',
themeStoreSortName: '按字母',
themeStoreAuthor: '作者',
themeStorePopularity: '热门度',
themeStoreDownloads: '总下载量',
themeStoreLastChanged: '最后更新',
themeMigrationNoticeTitle: '主题已移至商店',
themeMigrationNoticeBody: '{{themes}} 不再内置于应用中。你可以在主题商店(设置 → 主题)重新安装,或选择其他主题。',
themeMigrationNoticeOpen: '打开主题商店',