mirror of
https://github.com/DorkSquadRR/DorkNet.git
synced 2026-10-27 16:08:47 -07:00
feat: Refactor admin UI pages to support embedded mode and improve navigation
- Updated PlayerLogs, Players, Reports, Rooms, Settings, SignupCodes, and other pages to accept an optional `embedded` prop for better integration in various contexts. - Introduced a new Activity page consolidating audit logs and player request logs with tab navigation. - Added Content page for community board and loading tips with tab navigation. - Created Moderation page to unify player directory, bans, and reports under a single interface. - Implemented SettingsHome page to manage server settings and signup codes with tab navigation. - Enhanced the Join page to include password creation for new accounts. - Added global friends feature in Settings to allow all accounts to be friends without database entries. - Introduced RelationshipQueries service to manage effective friend resolution based on global friends toggle. - Added WireDates for consistent date handling in serialized data. - Created reusable Tabs component for consistent tab navigation across various pages.
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import { Players } from './Players';
|
||||
import { Bans } from './Bans';
|
||||
import { Reports } from './Reports';
|
||||
import { PageHeader } from '../components/PageHeader';
|
||||
import { Tabs, useTabParam } from '../components/Tabs';
|
||||
|
||||
// Unified moderation hub. The account directory (with its per-player
|
||||
// detail / ban / grant / gift / password modal), the active-ban list,
|
||||
// and the open-report queue were three separate sidebar entries — they
|
||||
// describe one workflow, so they're tabs of one page now. The old
|
||||
// /bans and /reports routes redirect here with ?tab= preselected.
|
||||
export function Moderation() {
|
||||
const [tab, setTab] = useTabParam<'directory' | 'bans' | 'reports'>('directory', ['directory', 'bans', 'reports']);
|
||||
return (
|
||||
<div>
|
||||
<PageHeader title="Players" blurb="Search and moderate accounts, review active bans, and triage open reports." />
|
||||
<Tabs
|
||||
tabs={[
|
||||
{ key: 'directory', label: 'Directory' },
|
||||
{ key: 'bans', label: 'Bans' },
|
||||
{ key: 'reports', label: 'Reports' },
|
||||
]}
|
||||
active={tab}
|
||||
onChange={setTab}
|
||||
/>
|
||||
{tab === 'directory' && <Players embedded />}
|
||||
{tab === 'bans' && <Bans embedded />}
|
||||
{tab === 'reports' && <Reports embedded />}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user