Compare commits
2 Commits
d2101247d1
...
0986336aea
Author | SHA1 | Date | |
---|---|---|---|
0986336aea | |||
cd9f68dfc9 |
261
currency_names.txt
Normal file
261
currency_names.txt
Normal file
@ -0,0 +1,261 @@
|
||||
"Abkhazian apsar[E]",
|
||||
"₽",
|
||||
"Afghan afghani",
|
||||
"Euro",
|
||||
"Albanian lek",
|
||||
"Algerian dinar",
|
||||
"Euro",
|
||||
"Angolan kwanza",
|
||||
"Eastern Caribbean dollar",
|
||||
"Eastern Caribbean dollar",
|
||||
"Argentine peso",
|
||||
"Armenian dram",
|
||||
"Aruban florin",
|
||||
"Saint Helena pound",
|
||||
"Australian dollar",
|
||||
"Euro",
|
||||
"Azerbaijani manat",
|
||||
"Bahamian dollar",
|
||||
"Bahraini dinar",
|
||||
"Bangladeshi taka",
|
||||
"Barbadian dollar",
|
||||
"Belarusian ruble",
|
||||
"Euro",
|
||||
"Belize dollar",
|
||||
"West African CFA franc",
|
||||
"Bermudian dollar",
|
||||
"Bhutanese ngultrum[F]",
|
||||
"₹",
|
||||
"Bolivian boliviano",
|
||||
"United States dollar[G]",
|
||||
"Bosnia and Herzegovina convertible mark",
|
||||
"Botswana pula",
|
||||
"Brazilian real",
|
||||
"Sterling",
|
||||
"United States dollar",
|
||||
"Brunei dollar",
|
||||
"$",
|
||||
"Bulgarian lev",
|
||||
"West African CFA franc",
|
||||
"Burundian franc",
|
||||
"Cambodian riel",
|
||||
"Central African CFA franc",
|
||||
"Canadian dollar",
|
||||
"Cape Verdean escudo",
|
||||
"Cayman Islands dollar",
|
||||
"Central African CFA franc",
|
||||
"Central African CFA franc",
|
||||
"Chilean peso",
|
||||
"Renminbi",
|
||||
"Colombian peso",
|
||||
"Comorian franc",
|
||||
"Congolese franc",
|
||||
"Central African CFA franc",
|
||||
"Cook Islands dollar",
|
||||
"$",
|
||||
"Costa Rican colón",
|
||||
"West African CFA franc",
|
||||
"Euro",
|
||||
"Cuban peso",
|
||||
"Netherlands Antillean guilder",
|
||||
"Euro",
|
||||
"Czech koruna",
|
||||
"Danish krone",
|
||||
"Djiboutian franc",
|
||||
"Eastern Caribbean dollar",
|
||||
"Dominican peso",
|
||||
"United States dollar",
|
||||
"Egyptian pound",
|
||||
"United States dollar",
|
||||
"Central African CFA franc",
|
||||
"Eritrean nakfa",
|
||||
"Euro",
|
||||
"Swazi lilangeni",
|
||||
"R",
|
||||
"Ethiopian birr",
|
||||
"Falkland Islands pound",
|
||||
"£",
|
||||
"Danish krone",
|
||||
"kr",
|
||||
"Fijian dollar",
|
||||
"Euro",
|
||||
"Euro",
|
||||
"CFP franc",
|
||||
"Central African CFA franc",
|
||||
"Gambian dalasi",
|
||||
"Georgian lari",
|
||||
"Euro",
|
||||
"Ghanaian cedi",
|
||||
"Gibraltar pound",
|
||||
"£",
|
||||
"Euro",
|
||||
"Danish krone",
|
||||
"Eastern Caribbean dollar",
|
||||
"Guatemalan quetzal",
|
||||
"Guernsey pound",
|
||||
"£",
|
||||
"Guinean franc",
|
||||
"West African CFA franc",
|
||||
"Guyanese dollar",
|
||||
"Haitian gourde",
|
||||
"Honduran lempira",
|
||||
"Hong Kong dollar",
|
||||
"Hungarian forint",
|
||||
"Icelandic króna",
|
||||
"Indian rupee",
|
||||
"Indonesian rupiah",
|
||||
"Iranian rial",
|
||||
"Iraqi dinar",
|
||||
"Euro",
|
||||
"Manx pound",
|
||||
"£",
|
||||
"Israeli new shekel",
|
||||
"Euro",
|
||||
"Jamaican dollar",
|
||||
"Japanese yen",
|
||||
"Jersey pound",
|
||||
"£",
|
||||
"Jordanian dinar",
|
||||
"Kazakhstani tenge",
|
||||
"Kenyan shilling",
|
||||
"Kiribati dollar[E]",
|
||||
"$",
|
||||
"North Korean won",
|
||||
"South Korean won",
|
||||
"Euro",
|
||||
"Kuwaiti dinar",
|
||||
"Kyrgyz som",
|
||||
"Lao kip",
|
||||
"Euro",
|
||||
"Lebanese pound",
|
||||
"Lesotho loti",
|
||||
"R",
|
||||
"Falkland Islands pound",
|
||||
"£",
|
||||
"Liberian dollar",
|
||||
"$",
|
||||
"Libyan dinar",
|
||||
"Swiss franc",
|
||||
"Euro",
|
||||
"Euro",
|
||||
"Macanese pataca",
|
||||
"Malagasy ariary",
|
||||
"Malawian kwacha",
|
||||
"Malaysian ringgit",
|
||||
"Maldivian rufiyaa",
|
||||
"West African CFA franc",
|
||||
"Euro",
|
||||
"United States dollar",
|
||||
"Mauritanian ouguiya",
|
||||
"Mauritian rupee",
|
||||
"Mexican peso",
|
||||
"United States dollar",
|
||||
"Moldovan leu",
|
||||
"Euro",
|
||||
"Mongolian tögrög",
|
||||
"Euro",
|
||||
"Eastern Caribbean dollar",
|
||||
"Moroccan dirham",
|
||||
"Mozambican metical",
|
||||
"Burmese kyat",
|
||||
"Namibian dollar",
|
||||
"R",
|
||||
"Australian dollar",
|
||||
"Nepalese rupee",
|
||||
"Euro",
|
||||
"CFP franc",
|
||||
"New Zealand dollar",
|
||||
"Nicaraguan córdoba",
|
||||
"West African CFA franc",
|
||||
"Nigerian naira",
|
||||
"New Zealand dollar",
|
||||
"$",
|
||||
"Macedonian denar",
|
||||
"Turkish lira",
|
||||
"Norwegian krone",
|
||||
"Omani rial",
|
||||
"Pakistani rupee",
|
||||
"United States dollar",
|
||||
"Israeli new shekel",
|
||||
"LE",
|
||||
"JD",
|
||||
"Panamanian balboa",
|
||||
"$",
|
||||
"Papua New Guinean kina",
|
||||
"Paraguayan guaraní",
|
||||
"Peruvian sol",
|
||||
"Philippine peso",
|
||||
"New Zealand dollar",
|
||||
"$",
|
||||
"Polish złoty",
|
||||
"Euro",
|
||||
"Qatari riyal",
|
||||
"Romanian leu",
|
||||
"Russian ruble",
|
||||
"Rwandan franc",
|
||||
"United States dollar[G]",
|
||||
"Moroccan dirham",
|
||||
"Pta or Pts (pl.)",
|
||||
"Saint Helena pound",
|
||||
"£",
|
||||
"Eastern Caribbean dollar",
|
||||
"Eastern Caribbean dollar",
|
||||
"Eastern Caribbean dollar",
|
||||
"Samoan tālā",
|
||||
"Euro",
|
||||
"São Tomé and Príncipe dobra",
|
||||
"Saudi riyal",
|
||||
"West African CFA franc",
|
||||
"Serbian dinar",
|
||||
"Seychellois rupee",
|
||||
"Sierra Leonean leone",
|
||||
"Singapore dollar",
|
||||
"$",
|
||||
"United States dollar[G]",
|
||||
"Netherlands Antillean guilder",
|
||||
"Euro",
|
||||
"Euro",
|
||||
"Solomon Islands dollar",
|
||||
"Somali shilling",
|
||||
"Somaliland shilling",
|
||||
"South African rand",
|
||||
"Russian ruble",
|
||||
"South Sudanese pound",
|
||||
"Euro",
|
||||
"Sri Lankan rupee",
|
||||
"Sudanese pound",
|
||||
"Surinamese dollar",
|
||||
"Swedish krona",
|
||||
"Swiss franc",
|
||||
"Syrian pound",
|
||||
"New Taiwan dollar",
|
||||
"Tajikistani somoni",
|
||||
"Tanzanian shilling",
|
||||
"Thai baht",
|
||||
"United States dollar",
|
||||
"West African CFA franc",
|
||||
"Tongan paʻanga[O]",
|
||||
"Transnistrian ruble",
|
||||
"Trinidad and Tobago dollar",
|
||||
"Tunisian dinar",
|
||||
"Turkish lira",
|
||||
"Turkmenistani manat",
|
||||
"United States dollar",
|
||||
"Tuvaluan dollar",
|
||||
"$",
|
||||
"Ugandan shilling",
|
||||
"Ukrainian hryvnia",
|
||||
"United Arab Emirates dirham",
|
||||
"Sterling",
|
||||
"United States dollar",
|
||||
"Uruguayan peso",
|
||||
"Uzbekistani sum",
|
||||
"Vanuatu vatu",
|
||||
"Euro",
|
||||
"Venezuelan sovereign bolívar",
|
||||
"Bs.D",
|
||||
"Vietnamese đồng",
|
||||
"CFP franc",
|
||||
"Yemeni rial",
|
||||
"Zambian kwacha",
|
||||
"Zimbabwe gold",
|
156
currency_names_new.txt
Normal file
156
currency_names_new.txt
Normal file
@ -0,0 +1,156 @@
|
||||
"Afghan afghani",
|
||||
"Albanian lek",
|
||||
"Algerian dinar",
|
||||
"Angolan kwanza",
|
||||
"Argentine peso",
|
||||
"Armenian dram",
|
||||
"Aruban florin",
|
||||
"Australian dollar",
|
||||
"Azerbaijani manat",
|
||||
"Bahamian dollar",
|
||||
"Bahraini dinar",
|
||||
"Bangladeshi taka",
|
||||
"Barbadian dollar",
|
||||
"Belarusian ruble",
|
||||
"Belize dollar",
|
||||
"Bermudian dollar",
|
||||
"Bhutanese ngultrum[F]",
|
||||
"Bolivian boliviano",
|
||||
"Bosnia and Herzegovina convertible mark",
|
||||
"Botswana pula",
|
||||
"Brazilian real",
|
||||
"Brunei dollar",
|
||||
"Bulgarian lev",
|
||||
"Burmese kyat",
|
||||
"Burundian franc",
|
||||
"Cambodian riel",
|
||||
"Canadian dollar",
|
||||
"Cape Verdean escudo",
|
||||
"Cayman Islands dollar",
|
||||
"Central African CFA franc",
|
||||
"CFP franc",
|
||||
"Colombian peso",
|
||||
"Comorian franc",
|
||||
"Congolese franc",
|
||||
"Costa Rican colón",
|
||||
"Cuban peso",
|
||||
"Czech koruna",
|
||||
"Danish krone",
|
||||
"Djiboutian franc",
|
||||
"Dominican peso",
|
||||
"Eastern Caribbean dollar",
|
||||
"Egyptian pound",
|
||||
"Eritrean nakfa",
|
||||
"Ethiopian birr",
|
||||
"Euro",
|
||||
"Falkland Islands pound",
|
||||
"Fijian dollar",
|
||||
"Gambian dalasi",
|
||||
"Georgian lari",
|
||||
"Ghanaian cedi",
|
||||
"Gibraltar pound",
|
||||
"Guatemalan quetzal",
|
||||
"Guinean franc",
|
||||
"Guyanese dollar",
|
||||
"Haitian gourde",
|
||||
"Honduran lempira",
|
||||
"Hong Kong dollar",
|
||||
"Hungarian forint",
|
||||
"Chilean peso",
|
||||
"Icelandic króna",
|
||||
"Indian rupee",
|
||||
"Indonesian rupiah",
|
||||
"Iranian rial",
|
||||
"Iraqi dinar",
|
||||
"Israeli new shekel",
|
||||
"Jamaican dollar",
|
||||
"Japanese yen",
|
||||
"Jordanian dinar",
|
||||
"Kazakhstani tenge",
|
||||
"Kenyan shilling",
|
||||
"Kuwaiti dinar",
|
||||
"Kyrgyz som",
|
||||
"Lao kip",
|
||||
"Lebanese pound",
|
||||
"Lesotho loti",
|
||||
"Liberian dollar",
|
||||
"Libyan dinar",
|
||||
"Macanese pataca",
|
||||
"Macedonian denar",
|
||||
"Malagasy ariary",
|
||||
"Malawian kwacha",
|
||||
"Malaysian ringgit",
|
||||
"Maldivian rufiyaa",
|
||||
"Mauritanian ouguiya",
|
||||
"Mauritian rupee",
|
||||
"Mexican peso",
|
||||
"Moldovan leu",
|
||||
"Mongolian tögrög",
|
||||
"Moroccan dirham",
|
||||
"Mozambican metical",
|
||||
"Namibian dollar",
|
||||
"Nepalese rupee",
|
||||
"Netherlands Antillean guilder",
|
||||
"New Taiwan dollar",
|
||||
"New Zealand dollar",
|
||||
"Nicaraguan córdoba",
|
||||
"Nigerian naira",
|
||||
"North Korean won",
|
||||
"Norwegian krone",
|
||||
"Omani rial",
|
||||
"Pakistani rupee",
|
||||
"Panamanian balboa",
|
||||
"Papua New Guinean kina",
|
||||
"Paraguayan guaraní",
|
||||
"Peruvian sol",
|
||||
"Philippine peso",
|
||||
"Polish złoty",
|
||||
"Qatari riyal",
|
||||
"Renminbi",
|
||||
"Romanian leu",
|
||||
"Russian ruble",
|
||||
"Rwandan franc",
|
||||
"Saint Helena pound",
|
||||
"Samoan tālā",
|
||||
"São Tomé and Príncipe dobra",
|
||||
"Saudi riyal",
|
||||
"Serbian dinar",
|
||||
"Seychellois rupee",
|
||||
"Sierra Leonean leone",
|
||||
"Singapore dollar",
|
||||
"Solomon Islands dollar",
|
||||
"Somali shilling",
|
||||
"South African rand",
|
||||
"South Korean won",
|
||||
"South Sudanese pound",
|
||||
"Sri Lankan rupee",
|
||||
"Sterling",
|
||||
"Sudanese pound",
|
||||
"Surinamese dollar",
|
||||
"Swazi lilangeni",
|
||||
"Swedish krona",
|
||||
"Swiss franc",
|
||||
"Syrian pound",
|
||||
"Tajikistani somoni",
|
||||
"Tanzanian shilling",
|
||||
"Thai baht",
|
||||
"Tongan paʻanga[O]",
|
||||
"Trinidad and Tobago dollar",
|
||||
"Tunisian dinar",
|
||||
"Turkish lira",
|
||||
"Turkmenistani manat",
|
||||
"Tuvaluan dollar",
|
||||
"Ugandan shilling",
|
||||
"Ukrainian hryvnia",
|
||||
"United Arab Emirates dirham",
|
||||
"United States dollar",
|
||||
"United States dollar[G]",
|
||||
"Uruguayan peso",
|
||||
"Uzbekistani sum",
|
||||
"Vanuatu vatu",
|
||||
"Venezuelan sovereign bolívar",
|
||||
"Vietnamese đồng",
|
||||
"West African CFA franc",
|
||||
"Yemeni rial",
|
||||
"Zambian kwacha",
|
||||
"Zimbabwe gold",
|
@ -36,7 +36,7 @@
|
||||
"@radix-ui/react-tooltip": "^1.1.4",
|
||||
"@radix-ui/react-visually-hidden": "^1.1.0",
|
||||
"@tabler/icons-react": "^3.24.0",
|
||||
"@tanstack/react-query": "^5.62.3",
|
||||
"@tanstack/react-query": "^5.72.2",
|
||||
"@tanstack/react-router": "^1.86.1",
|
||||
"@tanstack/react-table": "^8.20.5",
|
||||
"@vitejs/plugin-react": "^4.3.4",
|
||||
@ -46,6 +46,7 @@
|
||||
"cmdk": "^1.0.4",
|
||||
"date-fns": "^3.6.0",
|
||||
"js-cookie": "^3.0.5",
|
||||
"jwt-decode": "^4.0.0",
|
||||
"lucide-react": "^0.475.0",
|
||||
"react": "^19.0.0",
|
||||
"react-day-picker": "^9.6.0",
|
||||
|
5770
frontend/pnpm-lock.yaml
generated
Normal file
5770
frontend/pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load Diff
157
frontend/src/components/currency-input.tsx
Normal file
157
frontend/src/components/currency-input.tsx
Normal 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"
|
||||
];
|
@ -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") {
|
||||
|
0
frontend/src/utils/handle-query-error.ts
Normal file
0
frontend/src/utils/handle-query-error.ts
Normal file
13
frontend/src/utils/token-validation.ts
Normal file
13
frontend/src/utils/token-validation.ts
Normal 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;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user