Based on the assigned groups and start nodes, the user has access to the following nodes = [];
-
@query('#AvatarFileField')
_avatarFileField?: HTMLInputElement;
@@ -38,30 +35,11 @@ export class UmbUserAvatarElement extends UmbLitElement {
this.#userWorkspaceContext!.data,
async (user) => {
this._user = user;
- this.#setUserAvatarUrls(user);
},
'umbUserObserver',
);
};
- #setUserAvatarUrls = async (user: UmbUserDetailModel | undefined) => {
- if (!user || !user.avatarUrls || user.avatarUrls.length === 0) {
- this._userAvatarUrls = [];
- return;
- }
-
- this._userAvatarUrls = [
- {
- scale: '1x',
- url: user.avatarUrls?.[3],
- },
- {
- scale: '2x',
- url: user.avatarUrls?.[4],
- },
- ];
- };
-
#uploadAvatar = async () => {
try {
const selectedFile = await this.#selectAvatar();
@@ -95,35 +73,24 @@ export class UmbUserAvatarElement extends UmbLitElement {
#deleteAvatar = async () => {
if (!this.#userWorkspaceContext) return;
- const { error } = await this.#userWorkspaceContext.deleteAvatar();
-
- if (!error) {
- this._userAvatarUrls = [];
- }
+ this.#userWorkspaceContext.deleteAvatar();
};
- #getAvatarSrcset() {
- let string = '';
-
- this._userAvatarUrls?.forEach((url) => {
- string += `${url.url} ${url.scale},`;
- });
- return string;
- }
-
#hasAvatar() {
- return this._userAvatarUrls.length > 0;
+ if (!this._user) return false;
+ return this._user.avatarUrls.length > 0;
}
override render() {
+ if (!this._user) return nothing;
return html`