Spaces:
Sleeping
Sleeping
File size: 1,622 Bytes
4bae792 aa61a49 4bae792 91939c2 4bae792 aa61a49 4bae792 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | import { useSelector, useDispatch } from "react-redux";
import CreateSpaceGuide from "./createspace/CreateSpaceGuide";
import SettingsMenu from "./settings/SettingsMenu";
import DMList from "./roomlist/DMList";
import SpaceRoomList from "./roomlist/SpaceRoomList";
import { setActiveRoom, setSearchQuery } from "../store/slices/appSlice";
function RoomList({ activeView, activeSpace, activeRoom, searchQuery, createTab, onCreateTabChange, onCreateRoomClick }) {
const dispatch = useDispatch();
const appState = useSelector((state) => state.app);
const view = activeView || appState.activeView;
const space = activeSpace || appState.activeSpace;
const room = activeRoom || appState.activeRoom;
const query = searchQuery !== undefined ? searchQuery : appState.searchQuery;
const handleSetActiveRoom = (roomId) => {
dispatch(setActiveRoom(roomId));
};
const handleSetSearchQuery = (query) => {
dispatch(setSearchQuery(query));
};
if (view === "createSpace") {
return <CreateSpaceGuide onTabChange={onCreateTabChange} />;
}
if (view === "settings") {
return <SettingsMenu />;
}
if (view === "messages") {
return (
<DMList
activeRoom={room}
setActiveRoom={handleSetActiveRoom}
searchQuery={query}
setSearchQuery={handleSetSearchQuery}
/>
);
}
return (
<SpaceRoomList
activeSpace={space}
activeRoom={room}
setActiveRoom={handleSetActiveRoom}
searchQuery={query}
setSearchQuery={handleSetSearchQuery}
onCreateRoomClick={onCreateRoomClick}
/>
);
}
export default RoomList;
|