From a0dc5d2987266b4d2f7a4782cc2c5b0f2e287064 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Mon, 23 Aug 2021 20:39:46 -0600 Subject: [PATCH] Honour user-selected background image from settings Fixes https://github.com/vector-im/element-web/issues/18705 This is provided as an easter egg, but more importantly as an a11y workaround. --- src/components/structures/LoggedInView.tsx | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/components/structures/LoggedInView.tsx b/src/components/structures/LoggedInView.tsx index fda5b2a4cb..457000dbb8 100644 --- a/src/components/structures/LoggedInView.tsx +++ b/src/components/structures/LoggedInView.tsx @@ -1,7 +1,5 @@ /* -Copyright 2015, 2016 OpenMarket Ltd -Copyright 2017 Vector Creations Ltd -Copyright 2017, 2018, 2020 New Vector Ltd +Copyright 2015 - 2021 The Matrix.org Foundation C.I.C. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -70,6 +68,7 @@ import SpaceStore from "../../stores/SpaceStore"; import classNames from 'classnames'; import GroupFilterPanel from './GroupFilterPanel'; import CustomRoomTagPanel from './CustomRoomTagPanel'; +import { mediaFromMxc } from "../../customisations/Media"; // We need to fetch each pinned message individually (if we don't already have it) // so each pinned message may trigger a request. Limit the number per room for sanity. @@ -223,9 +222,14 @@ class LoggedInView extends React.Component { } private refreshBackgroundImage = async (): Promise => { - this.setState({ - backgroundImage: OwnProfileStore.instance.getHttpAvatarUrl(), - }); + let backgroundImage = SettingsStore.getValue("RoomList.backgroundImage"); + if (backgroundImage) { + // convert to http before going much further + backgroundImage = mediaFromMxc(backgroundImage).srcHttp; + } else { + backgroundImage = OwnProfileStore.instance.getHttpAvatarUrl(); + } + this.setState({ backgroundImage }); }; private onAction = (payload): void => {