diff --git a/packages/client/src/components/dialogs/CreateEditRoomDialog/CreateRoomDialog.js b/packages/client/src/components/dialogs/CreateEditRoomDialog/CreateRoomDialog.js index 852a8949dc..158bd0af5b 100644 --- a/packages/client/src/components/dialogs/CreateEditRoomDialog/CreateRoomDialog.js +++ b/packages/client/src/components/dialogs/CreateEditRoomDialog/CreateRoomDialog.js @@ -34,6 +34,8 @@ import TagHandler from "./handlers/TagHandler"; import SetRoomParams from "./sub-components/SetRoomParams"; import RoomTypeList from "./sub-components/RoomTypeList"; import DialogHeader from "./sub-components/DialogHeader"; +import TemplateBody from "./sub-components/TemplateBody"; +import { RoomsType } from "@docspace/shared/enums"; const StyledModalDialog = styled(ModalDialog)` .header-with-button { @@ -55,6 +57,19 @@ const StyledModalDialog = styled(ModalDialog)` display: none; } `} + + ${({ isTemplate }) => + isTemplate && + css` + .selector_body, + .modal-body { + padding: 0; + } + + .selector_body { + height: 100%; + } + `} `; const CreateRoomDialog = ({ @@ -106,6 +121,7 @@ const CreateRoomDialog = ({ const [roomParams, setRoomParams] = useState({ ...startRoomParams }); const [isValidTitle, setIsValidTitle] = useState(true); + const [isTemplateSelected, setIsTemplateSelected] = useState(false); const setRoomTags = (newTags) => setRoomParams({ ...roomParams, tags: newTags }); @@ -143,6 +159,15 @@ const CreateRoomDialog = ({ const goBack = () => { if (isLoading) return; + if (isTemplateSelected) { + setIsTemplateSelected(false); + setRoomParams((prev) => ({ + ...prev, + title: "", + type: RoomsType.TemplateRoom, + })); + return; + } setRoomParams({ ...startRoomParams }); }; @@ -160,29 +185,42 @@ const CreateRoomDialog = ({ onClose(); }; + const isTemplate = + roomParams.type === RoomsType.TemplateRoom && !isTemplateSelected; + return ( {!roomParams.type ? ( + ) : isTemplate ? ( + ) : ( - {!!roomParams.type && ( + {!!roomParams.type && !isTemplate && (