From cc6c8e9109f1807ce48b061fa497535ab9f674e8 Mon Sep 17 00:00:00 2001
From: Eug-VS <eug-vs@keemail.me>
Date: Mon, 3 Feb 2020 16:37:43 +0300
Subject: feat: change src structure

---
 src/lib/Window/Window.tsx | 61 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)
 create mode 100644 src/lib/Window/Window.tsx

(limited to 'src/lib/Window/Window.tsx')

diff --git a/src/lib/Window/Window.tsx b/src/lib/Window/Window.tsx
new file mode 100644
index 0000000..ea8e264
--- /dev/null
+++ b/src/lib/Window/Window.tsx
@@ -0,0 +1,61 @@
+import React from 'react';
+
+import { Typography, Divider, makeStyles } from '@material-ui/core';
+
+import WindowSurface from './WindowSurface';
+import { SurfaceSize, SurfacePosition } from './types';
+
+
+interface PropTypes {
+  type: 'primary' | 'secondary' | 'mono';
+  name?: string;
+}
+
+
+const useStyles = makeStyles((theme: any) => ({
+  header: {
+    padding: theme.spacing(1, 0, 1, 2),
+    background: theme.palette.background.elevation2,
+  },
+}));
+
+
+const Window: React.FC<PropTypes> = ({ type, name, children }) => {
+  const classes = useStyles();
+
+  const size: SurfaceSize = {
+    height: '85vh',
+  };
+
+  const position: SurfacePosition = {
+    bottom: '3vh',
+  };
+
+  if (type === 'primary') {
+    size.width = '63vw';
+    position.left = '2vw';
+  } else if (type === 'secondary') {
+    size.width = '31vw';
+    position.right = '2vw';
+  } else if (type === 'mono') {
+    position.left = '2vw';
+    position.right = '2vw';
+  }
+
+  return (
+    <WindowSurface
+      size={size}
+      position={position}
+    >
+      {name &&
+      <div>
+        <Typography variant="h5" className={classes.header}>{name}</Typography>
+        <Divider />
+      </div>
+      }
+      {children}
+    </WindowSurface>
+  );
+};
+
+export default Window;
-- 
cgit v1.2.3

