diff --git a/package-lock.json b/package-lock.json
index be6ab49..a7abe90 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "pezkuwi-telegram-miniapp",
- "version": "1.0.193",
+ "version": "1.0.221",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "pezkuwi-telegram-miniapp",
- "version": "1.0.193",
+ "version": "1.0.221",
"license": "MIT",
"dependencies": {
"@pezkuwi/api": "^16.5.36",
@@ -53,7 +53,7 @@
"prettier": "^3.8.1",
"tailwindcss": "^3.4.11",
"tronweb": "^6.2.0",
- "typescript": "^5.5.3",
+ "typescript": "^5.9.3",
"vite": "^5.4.1",
"vitest": "^4.0.18"
},
diff --git a/package.json b/package.json
index 07c964c..4102aeb 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "pezkuwi-telegram-miniapp",
- "version": "1.0.224",
+ "version": "1.0.225",
"type": "module",
"description": "Pezkuwichain Telegram Mini App - Forum, Announcements, Rewards",
"author": "Pezkuwichain Team",
@@ -81,7 +81,7 @@
"prettier": "^3.8.1",
"tailwindcss": "^3.4.11",
"tronweb": "^6.2.0",
- "typescript": "^5.5.3",
+ "typescript": "^5.9.3",
"vite": "^5.4.1",
"vitest": "^4.0.18"
},
diff --git a/src/components/p2p/BalanceCard.tsx b/src/components/p2p/BalanceCard.tsx
index e2e835c..633e059 100644
--- a/src/components/p2p/BalanceCard.tsx
+++ b/src/components/p2p/BalanceCard.tsx
@@ -1,4 +1,4 @@
-import { useState, useEffect } from 'react';
+import { useState, useEffect, useCallback } from 'react';
import { Wallet, Lock, RefreshCw } from 'lucide-react';
import { cn } from '@/lib/utils';
import { useAuth } from '@/contexts/AuthContext';
@@ -19,7 +19,7 @@ export function BalanceCard({ onRefresh }: BalanceCardProps) {
const [loading, setLoading] = useState(true);
const [refreshing, setRefreshing] = useState(false);
- const fetchBalances = async () => {
+ const fetchBalances = useCallback(async () => {
if (!sessionToken) return;
try {
const data = await getInternalBalance(sessionToken);
@@ -30,11 +30,11 @@ export function BalanceCard({ onRefresh }: BalanceCardProps) {
setLoading(false);
setRefreshing(false);
}
- };
+ }, [sessionToken]);
useEffect(() => {
fetchBalances();
- }, [sessionToken]);
+ }, [fetchBalances]);
const handleRefresh = () => {
hapticImpact('light');
@@ -65,7 +65,9 @@ export function BalanceCard({ onRefresh }: BalanceCardProps) {
disabled={refreshing}
className="p-1.5 rounded-full hover:bg-muted/50 transition-colors"
>
-
- {t('p2p.pricePerUnit')}: {pricePerUnit.toLocaleString(undefined, { maximumFractionDigits: 2 })} {fiatCurrency}/{token} + {t('p2p.pricePerUnit')}:{' '} + {pricePerUnit.toLocaleString(undefined, { maximumFractionDigits: 2 })}{' '} + {fiatCurrency}/{token}
)}