Аватары: общий компонент, кэш txId и avatar.ar в графе связей

This commit is contained in:
AidarKC
2026-04-26 02:27:41 +03:00
parent 667c5310bf
commit 4c1aeeeac8
13 changed files with 392 additions and 103 deletions
+3 -13
View File
@@ -1,5 +1,6 @@
import { authService, state } from '../state.js';
import { loadProfileSnapshot } from './user-profile-params.js';
import { buildAvatarInitials as buildAvatarInitialsFromComponent } from '../components/avatar-image.js';
function normalizeLogin(value) {
return String(value || '').trim();
@@ -132,19 +133,7 @@ export function buildIdentityLines({ login, firstName, lastName }) {
return lines;
}
export function buildAvatarInitials({ login, firstName, lastName }) {
const first = String(firstName || '').trim();
const last = String(lastName || '').trim();
if (first || last) {
const a = (first[0] || '').toUpperCase();
const b = (last[0] || '').toUpperCase();
const initials = `${a}${b}`.trim();
if (initials) return initials;
}
const cleanLogin = normalizeLogin(login);
return (cleanLogin[0] || '?').toUpperCase();
}
export const buildAvatarInitials = buildAvatarInitialsFromComponent;
export async function loadCurrentRelations() {
const login = normalizeLogin(state.session.login);
@@ -210,6 +199,7 @@ export async function loadUserProfileCard(login) {
gender: String(snapshot?.gender || 'unknown').trim().toLowerCase() || 'unknown',
official: Boolean(toggles.official),
shine: Boolean(toggles.shine),
avatar: snapshot?.avatar?.txId ? { ar: String(snapshot.avatar.txId).trim() } : null,
};
}