Currency work and token validation
This commit is contained in:
parent
cbb799f879
commit
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",
|
0
frontend/currencies.txt
Normal file
0
frontend/currencies.txt
Normal file
@ -36,7 +36,7 @@
|
|||||||
"@radix-ui/react-tooltip": "^1.1.4",
|
"@radix-ui/react-tooltip": "^1.1.4",
|
||||||
"@radix-ui/react-visually-hidden": "^1.1.0",
|
"@radix-ui/react-visually-hidden": "^1.1.0",
|
||||||
"@tabler/icons-react": "^3.24.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-router": "^1.86.1",
|
||||||
"@tanstack/react-table": "^8.20.5",
|
"@tanstack/react-table": "^8.20.5",
|
||||||
"@vitejs/plugin-react": "^4.3.4",
|
"@vitejs/plugin-react": "^4.3.4",
|
||||||
@ -46,6 +46,7 @@
|
|||||||
"cmdk": "^1.0.4",
|
"cmdk": "^1.0.4",
|
||||||
"date-fns": "^3.6.0",
|
"date-fns": "^3.6.0",
|
||||||
"js-cookie": "^3.0.5",
|
"js-cookie": "^3.0.5",
|
||||||
|
"jwt-decode": "^4.0.0",
|
||||||
"lucide-react": "^0.475.0",
|
"lucide-react": "^0.475.0",
|
||||||
"react": "^19.0.0",
|
"react": "^19.0.0",
|
||||||
"react-day-picker": "^9.6.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 [loggedIn, setLoggedIn] = useState(isLoggedIn());
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const queryClient = useQueryClient();
|
const queryClient = useQueryClient();
|
||||||
|
|
||||||
const { data: user } = useQuery<UserPublic | null, Error>({
|
const { data: user } = useQuery<UserPublic | null, Error>({
|
||||||
queryKey: ["currentUser"],
|
queryKey: ["currentUser"],
|
||||||
queryFn: DashboardService.userGetUser,
|
queryFn: DashboardService.userGetUser,
|
||||||
@ -73,6 +74,17 @@ const useAuth = () => {
|
|||||||
onError: (err: ApiError) => handleServerError(err)
|
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(() => {
|
useEffect(() => {
|
||||||
const handleStorageChange = (event: StorageEvent) => {
|
const handleStorageChange = (event: StorageEvent) => {
|
||||||
if (event.key === "access_token") {
|
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