feat: новая функция

This commit is contained in:
2025-11-06 16:24:50 +03:00
parent b3620b264b
commit 714a3f55c7
34 changed files with 5436 additions and 2433 deletions

View File

@@ -169,9 +169,11 @@ import { useAuthContext } from '@/composables/useAuth';
import { usePermissions } from '@/composables/usePermissions';
import { PERMISSIONS } from './permissions.js';
import { useContactsAndMessagesWebSocket } from '@/composables/useContactsWebSocket';
import websocketServiceModule from '@/services/websocketService';
const { canEditContacts, canDeleteData, canManageTags, canBlockUsers, canSendToUsers, canGenerateAI, canViewContacts, hasPermission } = usePermissions();
const { address, userId: currentUserId } = useAuthContext();
const { markContactAsRead } = useContactsAndMessagesWebSocket();
const { websocketService } = websocketServiceModule;
// Подписываемся на централизованные события очистки и обновления данных
onMounted(() => {
@@ -220,6 +222,13 @@ const tagsTableId = ref(null);
const { onTagsUpdate } = useTagsWebSocket();
let unsubscribeFromTags = null;
// Обработчик обновления контактов через WebSocket
const handleContactsUpdate = async () => {
console.log('[ContactDetailsView] Получено обновление контакта, перезагружаем данные');
await reloadContact();
await loadUserTags();
};
// Функция маскировки персональных данных для читателей
function maskPersonalData(data) {
if (!data || data === '-') return '-';
@@ -725,6 +734,9 @@ onMounted(async () => {
await loadAllTags();
await loadUserTags();
});
// Подписываемся на обновления контактов (для обновления имени)
websocketService.on('contacts-updated', handleContactsUpdate);
});
onUnmounted(() => {
@@ -732,6 +744,7 @@ onUnmounted(() => {
if (unsubscribeFromTags) {
unsubscribeFromTags();
}
websocketService.off('contacts-updated', handleContactsUpdate);
});
watch(userId, async () => {
await reloadContact();