Currency work and token validation

This commit is contained in:
Thastertyn committed 2025-04-18 13:14:46 +02:00
1 parent cbb799f879
commit cd9f68dfc9
9 files changed
+6371 -1

No files matched your search

+157
View File
@@ -0,0 +1,157 @@
const currencies = [
"AED",
"AFN",
"ALL",
"AMD",
"ANG",
"AOA",
"ARS",
"AUD",
"AWG",
"AZN",
"BAM",
"BBD",
"BDT",
"BGN",
"BHD",
"BIF",
"BMD",
"BND",
"BOB",
"BRL",
"BSD",
"BTN",
"BWP",
"BYN",
"BZD",
"CAD",
"CDF",
"CLP",
"CNY",
"COP",
"CRC",
"CUP",
"CVE",
"CZK",
"DJF",
"DKK",
"DOP",
"DZD",
"EGP",
"ERN",
"ETB",
"EUR",
"FJD",
"FKP",
"GBP",
"GEL",
"GHS",
"GIP",
"GMD",
"GNF",
"GTQ",
"GYD",
"HKD",
"HNL",
"HTG",
"HUF",
"CHF",
"IDR",
"ILS",
"INR",
"IQD",
"IRR",
"ISK",
"JMD",
"JOD",
"JPY",
"KES",
"KGS",
"KHR",
"KMF",
"KPW",
"KRW",
"KWD",
"KYD",
"KZT",
"LAK",
"LBP",
"LKR",
"LRD",
"LSL",
"LYD",
"MAD",
"MDL",
"MGA",
"MKD",
"MMK",
"MNT",
"MOP",
"MRU",
"MUR",
"MVR",
"MWK",
"MXN",
"MYR",
"MZN",
"NAD",
"NGN",
"NIO",
"NOK",
"NPR",
"NZD",
"OMR",
"PAB",
"PEN",
"PGK",
"PHP",
"PKR",
"PLN",
"PYG",
"QAR",
"RON",
"RSD",
"RUB",
"RWF",
"SAR",
"SBD",
"SCR",
"SDG",
"SEK",
"SGD",
"SHP",
"SLE",
"SOS",
"SRD",
"SSP",
"STN",
"SYP",
"SZL",
"THB",
"TJS",
"TMT",
"TND",
"TOP",
"TRY",
"TTD",
"TWD",
"TZS",
"UAH",
"UGX",
"USD",
"UYU",
"UZS",
"VED",
"VES",
"VND",
"VUV",
"WST",
"XAF",
"XCD",
"XOF",
"XPF",
"YER",
"ZAR",
"ZMW",
"ZWG"
];
+12
View File
@@ -24,6 +24,7 @@ const useAuth = () => {
const [loggedIn, setLoggedIn] = useState(isLoggedIn());
const navigate = useNavigate();
const queryClient = useQueryClient();
const { data: user } = useQuery<UserPublic | null, Error>({
queryKey: ["currentUser"],
queryFn: DashboardService.userGetUser,
@@ -73,6 +74,17 @@ const useAuth = () => {
onError: (err: ApiError) => handleServerError(err)
});
useEffect(() => {
console.log("Checking whether the token is valid");
const userLoggedInAndNull = loggedIn && user === null;
const tokenExistsAndNull = Boolean(localStorage.getItem("access_token")) && user === null;
if (userLoggedInAndNull || tokenExistsAndNull) {
console.warn("User data is null while logged in, logging out.");
logout();
}
}, [loggedIn, user]);
useEffect(() => {
const handleStorageChange = (event: StorageEvent) => {
if (event.key === "access_token") {
Whitespace-only changes.
+13
View File
@@ -0,0 +1,13 @@
import jwt_decode from "jwt-decode";
export function isTokenValid(token: string | null): boolean {
if (!token) return false;
try {
const decoded: { exp: number } = jwt_decode(token);
const now = Date.now() / 1000;
return decoded.exp > now;
} catch (e) {
console.warn("Invalid token format:", e);
return false;
}
}