/* * Wire * Copyright (C) 2022 Wire Swiss GmbH * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see http://www.gnu.org/licenses/. * */ import {useEffect} from 'react'; import {amplify} from 'amplify'; import cx from 'classnames'; import {WebAppEvents} from '@wireapp/webapp-events'; import {Conversations} from './panels/Conversations'; import {TemporaryGuestConversations} from './panels/TemporatyGuestConversations'; import {User} from '../../entity/User'; import {ListViewModel} from '../../view_model/ListViewModel'; import {useAppState, ListState} from '../useAppState'; type LeftSidebarProps = { listViewModel: ListViewModel; selfUser: User; isActivatedAccount: boolean; }; const LeftSidebar = ({listViewModel, selfUser, isActivatedAccount}: LeftSidebarProps) => { const {conversationRepository, propertiesRepository} = listViewModel; const repositories = listViewModel.contentViewModel.repositories; const listState = useAppState(state => state.listState); useEffect(() => { function openCreateGroupModal() { amplify.publish(WebAppEvents.CONVERSATION.CREATE_GROUP, 'conversation_details'); } amplify.subscribe(WebAppEvents.SHORTCUT.START, openCreateGroupModal); return () => { amplify.unsubscribe(WebAppEvents.SHORTCUT.START, openCreateGroupModal); }; }, []); return ( ); }; export {LeftSidebar};