Merge pull request #4262 from matrix-org/dbkr/priority_toasts
Always display verification request toasts on top
This commit is contained in:
commit
99f12a695d
2 changed files with 12 additions and 1 deletions
|
@ -1524,6 +1524,7 @@ export default createReactClass({
|
||||||
icon: "verification",
|
icon: "verification",
|
||||||
props: {request},
|
props: {request},
|
||||||
component: sdk.getComponent("toasts.VerificationRequestToast"),
|
component: sdk.getComponent("toasts.VerificationRequestToast"),
|
||||||
|
priority: ToastStore.PRIORITY_REALTIME,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -20,6 +20,9 @@ import EventEmitter from 'events';
|
||||||
* Holds the active toasts
|
* Holds the active toasts
|
||||||
*/
|
*/
|
||||||
export default class ToastStore extends EventEmitter {
|
export default class ToastStore extends EventEmitter {
|
||||||
|
static PRIORITY_REALTIME = 1;
|
||||||
|
static PRIORITY_DEFAULT = 0;
|
||||||
|
|
||||||
static sharedInstance() {
|
static sharedInstance() {
|
||||||
if (!global.mx_ToastStore) global.mx_ToastStore = new ToastStore();
|
if (!global.mx_ToastStore) global.mx_ToastStore = new ToastStore();
|
||||||
return global.mx_ToastStore;
|
return global.mx_ToastStore;
|
||||||
|
@ -36,9 +39,16 @@ export default class ToastStore extends EventEmitter {
|
||||||
}
|
}
|
||||||
|
|
||||||
addOrReplaceToast(newToast) {
|
addOrReplaceToast(newToast) {
|
||||||
|
if (newToast.priority === undefined) newToast.priority = ToastStore.PRIORITY_DEFAULT;
|
||||||
|
|
||||||
const oldIndex = this._toasts.findIndex(t => t.key === newToast.key);
|
const oldIndex = this._toasts.findIndex(t => t.key === newToast.key);
|
||||||
if (oldIndex === -1) {
|
if (oldIndex === -1) {
|
||||||
this._toasts.push(newToast);
|
// we only have two priorities so just push realtime ones onto the front
|
||||||
|
if (newToast.priority) {
|
||||||
|
this._toasts.unshift(newToast);
|
||||||
|
} else {
|
||||||
|
this._toasts.push(newToast);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
this._toasts[oldIndex] = newToast;
|
this._toasts[oldIndex] = newToast;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue