mirror of
https://github.com/vector-im/element-web.git
synced 2024-11-16 13:14:58 +08:00
Apply 50% opacity to left breadcrumbs
Fixes https://github.com/vector-im/riot-web/issues/8564 We listen for membership changes to make sure the state is kept up to date.
This commit is contained in:
parent
57d72b4deb
commit
7e2291592c
@ -47,6 +47,9 @@ limitations under the License.
|
||||
transform: scale(0);
|
||||
}
|
||||
|
||||
.mx_RoomBreadcrumbs_left {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
// Note: we have to manually control the gradient and stuff, but the IndicatorScrollbar
|
||||
// will deal with left/right positioning for us. Normally we'd use position:sticky on
|
||||
|
@ -52,10 +52,15 @@ export default class RoomBreadcrumbs extends React.Component {
|
||||
console.error("Failed to parse breadcrumbs:", e);
|
||||
}
|
||||
}
|
||||
|
||||
MatrixClientPeg.get().on("Room.myMembership", this.onMyMembership);
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
dis.unregister(this._dispatcherRef);
|
||||
|
||||
const client = MatrixClientPeg.get();
|
||||
if (client) client.removeListener("Room.myMembership", this.onMyMembership);
|
||||
}
|
||||
|
||||
componentDidUpdate() {
|
||||
@ -81,6 +86,13 @@ export default class RoomBreadcrumbs extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
onMyMembership = (room, membership) => {
|
||||
if (membership === "leave" || membership === "ban") {
|
||||
// Force left rooms to render appropriately
|
||||
this.forceUpdate();
|
||||
}
|
||||
};
|
||||
|
||||
_appendRoomId(roomId) {
|
||||
const room = MatrixClientPeg.get().getRoom(roomId);
|
||||
if (!room) {
|
||||
@ -136,6 +148,7 @@ export default class RoomBreadcrumbs extends React.Component {
|
||||
"mx_RoomBreadcrumbs_crumb": true,
|
||||
"mx_RoomBreadcrumbs_preAnimate": isFirst && !animated,
|
||||
"mx_RoomBreadcrumbs_animate": isFirst,
|
||||
"mx_RoomBreadcrumbs_left": !['invite', 'join'].includes(room.getMyMembership()),
|
||||
});
|
||||
|
||||
let tooltip = null;
|
||||
|
Loading…
Reference in New Issue
Block a user