diff --git a/packages/client/src/store/index.js b/packages/client/src/store/index.js index f3e9ac7432..cfb0a92250 100644 --- a/packages/client/src/store/index.js +++ b/packages/client/src/store/index.js @@ -128,6 +128,8 @@ const profileActionsStore = new ProfileActionsStore( peopleStore ); +authStore.infoPanelStore.setSettingsStore(settingsStore); + const store = { auth: authStore, payments: paymentStore, diff --git a/packages/common/store/InfoPanelStore.js b/packages/common/store/InfoPanelStore.js index 94ecb08812..8558688d03 100644 --- a/packages/common/store/InfoPanelStore.js +++ b/packages/common/store/InfoPanelStore.js @@ -1,10 +1,18 @@ import { makeAutoObservable } from "mobx"; class InfoPanelStore { - selection = null; isVisible = false; - roomView = "members"; - itemView = "history"; + + selection = null; + + currentRoomTitle = null; + currentRoomMembers = null; + + roomsView = "members"; + personalView = "history"; + + settingsStore = null; + setSettingsStore = (settingsStore) => (this.settingsStore = settingsStore); constructor() { makeAutoObservable(this); @@ -14,6 +22,33 @@ class InfoPanelStore { this.selection = selection; }; + getItemIcon = (item, size) => { + return item.isRoom + ? item.logo && item.logo.big + ? item.logo.big + : item.icon + : item.isFolder + ? this.settingsStore.getFolderIcon(item.providerKey, size) + : this.settingsStore.getIcon(size, item.fileExst || ".file"); + }; + + normalizeSelection = (selection) => { + return { + ...selection, + icon: this.getItemIcon(selection, 32), + hasCustonThumbnail: !!selection.thumbnailUrl, + thumbnailUrl: selection.thumbnailUrl || this.getItemIcon(selection, 96), + }; + }; + + setCurrentRoomTitle = (currentRoomTitle) => { + this.currentRoomTitle = currentRoomTitle; + }; + + setCurrentRoomMembers = (currentRoomMembers) => { + this.currentRoomMembers = currentRoomMembers; + }; + toggleIsVisible = () => { this.isVisible = !this.isVisible; }; @@ -27,8 +62,8 @@ class InfoPanelStore { }; setView = (view) => { - this.roomView = view; - this.itemView = view === "members" ? "history" : view; + this.roomsView = view; + this.personalView = view === "members" ? "history" : view; }; }