ваше сообщение коммита
This commit is contained in:
@@ -85,6 +85,13 @@ provide('identities', computed(() => props.identities));
|
||||
provide('tokenBalances', computed(() => props.tokenBalances));
|
||||
provide('isLoadingTokens', computed(() => props.isLoadingTokens));
|
||||
|
||||
// Отладочная информация
|
||||
console.log('[BaseLayout] Props received:', {
|
||||
isAuthenticated: props.isAuthenticated,
|
||||
tokenBalances: props.tokenBalances,
|
||||
isLoadingTokens: props.isLoadingTokens
|
||||
});
|
||||
|
||||
// Callback после успешной аутентификации/привязки через Email/Telegram
|
||||
const handleAuthFlowSuccess = (authType) => {
|
||||
// console.log(`[BaseLayout] Auth flow success: ${authType}`);
|
||||
@@ -151,7 +158,21 @@ const handleWalletAuth = async () => {
|
||||
}
|
||||
} catch (error) {
|
||||
// console.error('[BaseLayout] Ошибка при подключении кошелька:', error);
|
||||
showErrorMessage('Произошла ошибка при подключении кошелька');
|
||||
|
||||
// Улучшенная обработка ошибок MetaMask
|
||||
let errorMessage = 'Произошла ошибка при подключении кошелька';
|
||||
|
||||
if (error.message && error.message.includes('MetaMask extension not found')) {
|
||||
errorMessage = 'Расширение MetaMask не найдено. Пожалуйста, установите MetaMask и обновите страницу.';
|
||||
} else if (error.message && error.message.includes('Failed to connect to MetaMask')) {
|
||||
errorMessage = 'Не удалось подключиться к MetaMask. Проверьте, что расширение установлено и активно.';
|
||||
} else if (error.message && error.message.includes('Браузерный кошелек не установлен')) {
|
||||
errorMessage = 'Браузерный кошелек не установлен. Пожалуйста, установите MetaMask.';
|
||||
} else if (error.message) {
|
||||
errorMessage = error.message;
|
||||
}
|
||||
|
||||
showErrorMessage(errorMessage);
|
||||
} finally {
|
||||
isConnectingWallet.value = false;
|
||||
}
|
||||
|
||||
@@ -117,12 +117,14 @@
|
||||
Загрузка балансов...
|
||||
</div>
|
||||
<div v-else-if="!tokenBalances || tokenBalances.length === 0" class="token-no-data">
|
||||
Баланс не доступен
|
||||
Баланс не доступен (tokenBalances: {{ tokenBalances }}, length: {{ tokenBalances?.length }})
|
||||
</div>
|
||||
<div v-else>
|
||||
<div class="token-balance-header">
|
||||
<small class="last-update">Обновлено: {{ formattedLastUpdate }}</small>
|
||||
<small class="debug-info">Debug: {{ tokenBalances.length }} токенов</small>
|
||||
</div>
|
||||
<div v-for="(token, index) in tokenBalances.data || []" :key="token.tokenAddress ? token.tokenAddress : 'token-' + index" class="token-balance-row">
|
||||
<div v-for="(token, index) in tokenBalances" :key="token.tokenAddress ? token.tokenAddress : 'token-' + index" class="token-balance-row">
|
||||
<span class="token-name">{{ token.tokenName }}</span>
|
||||
<span class="token-network">{{ token.network }}</span>
|
||||
<span class="token-amount">{{ isNaN(Number(token.balance)) ? '—' : Number(token.balance).toLocaleString() }}</span>
|
||||
@@ -172,9 +174,10 @@ const props = defineProps({
|
||||
isAuthenticated: Boolean,
|
||||
telegramAuth: Object,
|
||||
emailAuth: Object,
|
||||
tokenBalances: Object,
|
||||
tokenBalances: Array,
|
||||
identities: Array,
|
||||
isLoadingTokens: Boolean
|
||||
isLoadingTokens: Boolean,
|
||||
formattedLastUpdate: String
|
||||
});
|
||||
|
||||
const emit = defineEmits(['update:modelValue', 'wallet-auth', 'disconnect-wallet', 'telegram-auth', 'email-auth', 'cancel-email-auth']);
|
||||
@@ -239,11 +242,20 @@ const handleDeleteIdentity = async (provider, providerId) => {
|
||||
|
||||
// Добавляем watch для отслеживания props
|
||||
watch(() => props.tokenBalances, (newVal, oldVal) => {
|
||||
// console.log('[Sidebar] tokenBalances prop changed:', JSON.stringify(newVal));
|
||||
console.log('[Sidebar] tokenBalances prop changed:', JSON.stringify(newVal));
|
||||
}, { deep: true });
|
||||
|
||||
watch(() => props.isLoadingTokens, (newVal, oldVal) => {
|
||||
// console.log(`[Sidebar] isLoadingTokens prop changed: ${newVal}`);
|
||||
console.log(`[Sidebar] isLoadingTokens prop changed: ${newVal}`);
|
||||
});
|
||||
|
||||
// Добавляем отладочную информацию при монтировании
|
||||
onMounted(() => {
|
||||
console.log('[Sidebar] Mounted with props:', {
|
||||
isAuthenticated: props.isAuthenticated,
|
||||
tokenBalances: props.tokenBalances,
|
||||
isLoadingTokens: props.isLoadingTokens
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
@@ -67,7 +67,21 @@
|
||||
}
|
||||
} catch (err) {
|
||||
// console.error('Error connecting wallet:', err);
|
||||
error.value = err.message || 'Произошла ошибка при подключении кошелька';
|
||||
|
||||
// Улучшенная обработка ошибок MetaMask
|
||||
let errorMessage = 'Произошла ошибка при подключении кошелька';
|
||||
|
||||
if (err.message && err.message.includes('MetaMask extension not found')) {
|
||||
errorMessage = 'Расширение MetaMask не найдено. Пожалуйста, установите MetaMask и обновите страницу.';
|
||||
} else if (err.message && err.message.includes('Failed to connect to MetaMask')) {
|
||||
errorMessage = 'Не удалось подключиться к MetaMask. Проверьте, что расширение установлено и активно.';
|
||||
} else if (err.message && err.message.includes('Браузерный кошелек не установлен')) {
|
||||
errorMessage = 'Браузерный кошелек не установлен. Пожалуйста, установите MetaMask.';
|
||||
} else if (err.message) {
|
||||
errorMessage = err.message;
|
||||
}
|
||||
|
||||
error.value = errorMessage;
|
||||
} finally {
|
||||
isLoading.value = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user