From eae00a6ccda904655fc2981ccef88edc14897a51 Mon Sep 17 00:00:00 2001 From: Aine Date: Thu, 21 Nov 2024 22:34:44 +0200 Subject: [PATCH] use first letter of display name / name / id as default avatar --- src/components/AvatarField.tsx | 18 +++++++++++++++++- src/synapse/authProvider.ts | 1 - 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/components/AvatarField.tsx b/src/components/AvatarField.tsx index 7ec8aff..880c84f 100644 --- a/src/components/AvatarField.tsx +++ b/src/components/AvatarField.tsx @@ -31,7 +31,23 @@ const AvatarField = ({ source, ...rest }: AvatarProps & FieldProps) => { }; }, [mxcURL, fetchAvatar]); - return ; + // a hacky way to handle both users and rooms, + // where users have an ID, may have a name, and may have a displayname + // and rooms have an ID and may have a name + let letter = ""; + if (record?.id) { + letter = record.id[0].toUpperCase(); + } + if (record?.name) { + letter = record.name[0].toUpperCase(); + } + if (record?.displayname) { + letter = record.displayname[0].toUpperCase(); + } + + return ( + {letter} + ); }; export default AvatarField; diff --git a/src/synapse/authProvider.ts b/src/synapse/authProvider.ts index e9e12f6..4417ebc 100644 --- a/src/synapse/authProvider.ts +++ b/src/synapse/authProvider.ts @@ -172,7 +172,6 @@ const authProvider: AuthProvider = { // called when the user navigates to a new location, to check for authentication checkAuth: () => { const access_token = storage.getItem("access_token"); - console.log("checkAuth " + access_token); return typeof access_token === "string" ? Promise.resolve() : Promise.reject(); }, // called when the user navigates to a new location, to check for permissions / roles