002296daf7
- Add --primary-rgb, --transition-fast, --transition-normal CSS tokens to :root - Add --primary-rgb override in [data-theme="light"] section - Fix TS error: remove unused devUser prop from Route elements in App.tsx (API patching via window._devUser makes props redundant) - Fix TS error: remove unused 'api' import from DevPanel.tsx Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
25 lines
966 B
JavaScript
25 lines
966 B
JavaScript
import { useState, useEffect } from 'react';
|
|
import { api } from '../api/client';
|
|
const RANK_KEY = 'tippspiel_last_rank';
|
|
export function useRankChange() {
|
|
const [message, setMessage] = useState(null);
|
|
useEffect(() => {
|
|
api.getMyStats().then(stats => {
|
|
if (!stats.rank)
|
|
return;
|
|
const lastRank = parseInt(localStorage.getItem(RANK_KEY) || '0');
|
|
if (lastRank > 0 && lastRank !== stats.rank) {
|
|
if (stats.rank < lastRank) {
|
|
setMessage(`⬆️ Du bist auf Platz ${stats.rank} aufgestiegen!`);
|
|
}
|
|
else {
|
|
setMessage(`⬇️ Du bist auf Platz ${stats.rank} gerutscht — hol dir die Punkte zurück!`);
|
|
}
|
|
}
|
|
localStorage.setItem(RANK_KEY, String(stats.rank));
|
|
}).catch(() => { });
|
|
}, []);
|
|
function dismiss() { setMessage(null); }
|
|
return { message, dismiss };
|
|
}
|