From 61cbf775dc7c39528dbc2d535f1fe81dad446d8d Mon Sep 17 00:00:00 2001 From: Albin Henriksson <albhe428@student.liu.se> Date: Mon, 19 Apr 2021 15:59:56 +0200 Subject: [PATCH] Fix aspect ratio in editor --- .../components/SlideEditor.tsx | 32 +++++++++++-------- .../presentationEditor/components/styled.tsx | 18 +++++++++++ 2 files changed, 36 insertions(+), 14 deletions(-) diff --git a/client/src/pages/presentationEditor/components/SlideEditor.tsx b/client/src/pages/presentationEditor/components/SlideEditor.tsx index 9baa9791..a71b9262 100644 --- a/client/src/pages/presentationEditor/components/SlideEditor.tsx +++ b/client/src/pages/presentationEditor/components/SlideEditor.tsx @@ -4,7 +4,7 @@ import { useAppSelector } from '../../../hooks' import { ImageComponent, TextComponent } from '../../../interfaces/ApiModels' import CheckboxComponent from './CheckboxComponent' import ImageComponentDisplay from './ImageComponentDisplay' -import { SlideEditorContainer } from './styled' +import { SlideEditorContainer, SlideEditorContainerRatio, SlideEditorPaper } from './styled' import TextComponentDisplay from './TextComponentDisplay' const SlideEditor: React.FC = () => { @@ -14,19 +14,23 @@ const SlideEditor: React.FC = () => { ) return ( <SlideEditorContainer> - {components && - components.map((component) => { - switch (component.type_id) { - case ComponentTypes.Checkbox: - return <CheckboxComponent key={component.id} component={component} /> - case ComponentTypes.Text: - return <TextComponentDisplay key={component.id} component={component as TextComponent} /> - case ComponentTypes.Image: - return <ImageComponentDisplay key={component.id} component={component as ImageComponent} /> - default: - break - } - })} + <SlideEditorContainerRatio> + <SlideEditorPaper> + {components && + components.map((component) => { + switch (component.type_id) { + case ComponentTypes.Checkbox: + return <CheckboxComponent key={component.id} component={component} /> + case ComponentTypes.Text: + return <TextComponentDisplay key={component.id} component={component as TextComponent} /> + case ComponentTypes.Image: + return <ImageComponentDisplay key={component.id} component={component as ImageComponent} /> + default: + break + } + })} + </SlideEditorPaper> + </SlideEditorContainerRatio> </SlideEditorContainer> ) } diff --git a/client/src/pages/presentationEditor/components/styled.tsx b/client/src/pages/presentationEditor/components/styled.tsx index c4584f87..d91e1db6 100644 --- a/client/src/pages/presentationEditor/components/styled.tsx +++ b/client/src/pages/presentationEditor/components/styled.tsx @@ -7,11 +7,29 @@ export const SettingsTab = styled(Tab)` ` export const SlideEditorContainer = styled.div` + height: 100%; display: flex; align-items: center; justify-content: center; + background-color: rgba(0, 0, 0, 0.08); +` + +export const SlideEditorContainerRatio = styled.div` + padding-top: 56.25%; + width: 100%; + height: 0; + overflow: hidden; + padding-top: 56.25%; + position: relative; +` + +export const SlideEditorPaper = styled.div` + position: absolute; + top: 0; + left: 0; width: 100%; height: 100%; + background: white; ` export const HiddenInput = styled.input` -- GitLab