refactor(stats): co-locate statistics feature into features/stats

This commit is contained in:
Psychotoxical
2026-06-29 22:51:54 +02:00
parent 431d65b587
commit 236acc33dd
19 changed files with 54 additions and 47 deletions
@@ -0,0 +1,38 @@
import { useTranslation } from 'react-i18next';
import { useLocation, useNavigate } from 'react-router-dom';
import { useOfflineBrowseContext } from '@/hooks/useOfflineBrowseContext';
import { usePlayerStatsRecordingEnabled } from '@/features/stats/hooks/usePlayerStatsRecordingEnabled';
export default function StatisticsTabBar() {
const { t } = useTranslation();
const navigate = useNavigate();
const location = useLocation();
const offlineBrowseActive = useOfflineBrowseContext().active;
const playerStatsEnabled = usePlayerStatsRecordingEnabled();
const isPlayer = location.pathname === '/player-stats';
const showServerTab = !offlineBrowseActive;
return (
<div style={{ display: 'flex', gap: '0.5rem', marginBottom: '1.25rem', flexWrap: 'wrap' }}>
{showServerTab && (
<button
type="button"
className={`btn btn-sm ${!isPlayer ? 'btn-primary' : 'btn-surface'}`}
onClick={() => navigate('/statistics')}
>
{t('statistics.tabServer')}
</button>
)}
{playerStatsEnabled && (
<button
type="button"
className={`btn btn-sm ${isPlayer || offlineBrowseActive ? 'btn-primary' : 'btn-surface'}`}
onClick={() => navigate('/player-stats')}
>
{t('statistics.tabPlayer')}
</button>
)}
</div>
);
}