feat(dashboard): browse every client system info report, per account and across accounts

The account page lists the account's reports as a table and the Client System Info page lists every report (or each account's newest), sortable and searchable by account name or video card; a row opens every field. Values that say little about the real system are marked, and every caveat is a tooltip on the value and column.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-30 08:06:02 -05:00
parent bd13297947
commit d94d84b5cb
16 changed files with 363 additions and 40 deletions

View File

@@ -384,6 +384,8 @@ class TestSQLDatabase : public GameDatabase {
void RecordClientSysInfo(const SysInfoRow& info) override {}
std::vector<SysInfoRow> GetClientSysInfo(uint32_t accountId, uint32_t limit) override { return {}; }
std::vector<SysInfoRow> GetLatestClientSysInfo(uint32_t limit) override { return {}; }
std::vector<SysInfoRow> ListClientSysInfo(const SysInfoQuery& query) override { return {}; }
uint64_t CountClientSysInfo(const SysInfoQuery& query) override { return 0; }
void InsertModerationDecision(const std::string& kind, int64_t subjectId, const std::string& subject, bool approved, const std::string& reason, int64_t time) override {}
nlohmann::json GetModerationDecisions(const std::string& kind, int64_t subjectId, uint32_t limit) override { return nlohmann::json::array(); }
Totp GetTotp(uint32_t accountId) override { return {}; }