Add recent opened room in search

Signed-off-by: Ajay Bura <ajbura@gmail.com>
This commit is contained in:
Ajay Bura 2021-12-11 09:55:38 +05:30
parent 77818f9342
commit 413188c995
2 changed files with 60 additions and 20 deletions

View file

@ -11,6 +11,7 @@ class Navigation extends EventEmitter {
this.selectedSpacePath = [cons.tabs.HOME];
this.selectedRoomId = null;
this.recentRooms = [];
}
_setSpacePath(roomId) {
@ -26,6 +27,24 @@ class Navigation extends EventEmitter {
this.selectedSpacePath.push(roomId);
}
removeRecentRoom(roomId) {
if (typeof roomId !== 'string') return;
const roomIdIndex = this.recentRooms.indexOf(roomId);
if (roomIdIndex >= 0) {
this.recentRooms.splice(roomIdIndex, 1);
}
}
addRecentRoom(roomId) {
if (typeof roomId !== 'string') return;
this.removeRecentRoom(roomId);
this.recentRooms.push(roomId);
if (this.recentRooms.length > 10) {
this.recentRooms.splice(0, 1);
}
}
navigate(action) {
const actions = {
[cons.actions.navigation.SELECT_TAB]: () => {
@ -50,6 +69,8 @@ class Navigation extends EventEmitter {
[cons.actions.navigation.SELECT_ROOM]: () => {
const prevSelectedRoomId = this.selectedRoomId;
this.selectedRoomId = action.roomId;
this.addRecentRoom(prevSelectedRoomId);
this.removeRecentRoom(this.selectedRoomId);
this.emit(
cons.events.navigation.ROOM_SELECTED,
this.selectedRoomId,