axyenniu daily reward page

This commit is contained in:
aurinex
2025-12-13 16:18:47 +05:00
parent 226f5c1393
commit 712ae70e2a
13 changed files with 835 additions and 49 deletions

View File

@ -10,6 +10,7 @@ import {
} from '@mui/material';
import { claimDaily, fetchDailyStatus, DailyStatusResponse } from '../../api';
import CoinsDisplay from '../CoinsDisplay';
import { useNavigate } from 'react-router-dom';
function formatHHMMSS(totalSeconds: number) {
const s = Math.max(0, Math.floor(totalSeconds));
@ -37,6 +38,7 @@ type DailyStatusCompat = DailyStatusResponse & {
};
export default function DailyRewards({ onClaimed, onOpenGame }: Props) {
const navigate = useNavigate();
const [status, setStatus] = useState<DailyStatusCompat | null>(null);
const [loading, setLoading] = useState(false);
const [tick, setTick] = useState(0);
@ -129,11 +131,14 @@ export default function DailyRewards({ onClaimed, onOpenGame }: Props) {
return `До следующей награды: ${formatHHMMSS(clientSecondsLeft)}`;
}, [status, wasOnlineToday, canClaim, clientSecondsLeft]);
const navigateDaily = () => {
navigate('/daily');
};
return (
<Card
sx={{
width: '90%',
maxWidth: 520,
width: '100%',
background: 'rgba(20,20,20,0.9)',
borderRadius: '2vw',
border: '1px solid rgba(255,255,255,0.08)',
@ -227,6 +232,22 @@ export default function DailyRewards({ onClaimed, onOpenGame }: Props) {
>
{loading ? 'Забираем...' : 'Забрать награду'}
</Button>
<Button
variant="contained"
fullWidth
onClick={navigateDaily}
sx={{
mt: 1,
transition: 'transform 0.3s ease',
background:
'linear-gradient(71deg, #F27121 0%, #E940CD 70%, #8A2387 100%)',
fontFamily: 'Benzin-Bold',
borderRadius: '2.5vw',
'&:hover': { transform: 'scale(1.03)' },
}}
>
Ежедневные награды
</Button>
</>
)}
</CardContent>