diff --git a/index.html b/index.html
index e6b04b2..976b83e 100644
--- a/index.html
+++ b/index.html
@@ -2,7 +2,7 @@
-
+
Okiba
diff --git a/package.json b/package.json
index e9c6fa2..3ae0755 100644
--- a/package.json
+++ b/package.json
@@ -14,8 +14,8 @@
},
"devDependencies": {
"@types/react": "^18.0.0",
- "@types/react-router-dom": "^5.3.3",
"@types/react-dom": "^18.0.0",
+ "@types/react-router-dom": "^5.3.3",
"@vitejs/plugin-react": "^1.3.0",
"typescript": "^4.6.3",
"vite": "^2.9.9"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 57f11fd..a61fe41 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -5,14 +5,18 @@ specifiers:
'@types/react-dom': ^18.0.0
'@types/react-router-dom': ^5.3.3
'@vitejs/plugin-react': ^1.3.0
+ codemirror: ^6.0.1
react: ^18.0.0
+ react-codemirror2: ^7.2.1
react-dom: ^18.0.0
react-router-dom: ^6.3.0
typescript: ^4.6.3
vite: ^2.9.9
dependencies:
+ codemirror: 6.0.1
react: 18.2.0
+ react-codemirror2: 7.2.1_zuovgz2ulb34y4plqf6p2rpz4q
react-dom: 18.2.0_react@18.2.0
react-router-dom: 6.3.0_biqbaboplfbrettd7655fr4n2y
@@ -294,6 +298,63 @@ packages:
to-fast-properties: 2.0.0
dev: true
+ /@codemirror/autocomplete/6.0.4:
+ resolution: {integrity: sha512-uP7UodCRykPNwSAN+wYa/AS9gJI/V47echCAXUYgCgBXy3l19nwO7W/d29COtG/dfAsjBOhMDeh3Ms8Y5VZbrA==}
+ dependencies:
+ '@codemirror/language': 6.2.0
+ '@codemirror/state': 6.1.0
+ '@codemirror/view': 6.0.3
+ '@lezer/common': 1.0.0
+ dev: false
+
+ /@codemirror/commands/6.0.1:
+ resolution: {integrity: sha512-iNHDByicYqQjs0Wo1MKGfqNbMYMyhS9WV6EwMVwsHXImlFemgEUC+c5X22bXKBStN3qnwg4fArNZM+gkv22baQ==}
+ dependencies:
+ '@codemirror/language': 6.2.0
+ '@codemirror/state': 6.1.0
+ '@codemirror/view': 6.0.3
+ '@lezer/common': 1.0.0
+ dev: false
+
+ /@codemirror/language/6.2.0:
+ resolution: {integrity: sha512-tabB0Ef/BflwoEmTB4a//WZ9P90UQyne9qWB9YFsmeS4bnEqSys7UpGk/da1URMXhyfuzWCwp+AQNMhvu8SfnA==}
+ dependencies:
+ '@codemirror/state': 6.1.0
+ '@codemirror/view': 6.0.3
+ '@lezer/common': 1.0.0
+ '@lezer/highlight': 1.0.0
+ '@lezer/lr': 1.2.0
+ style-mod: 4.0.0
+ dev: false
+
+ /@codemirror/lint/6.0.0:
+ resolution: {integrity: sha512-nUUXcJW1Xp54kNs+a1ToPLK8MadO0rMTnJB8Zk4Z8gBdrN0kqV7uvUraU/T2yqg+grDNR38Vmy/MrhQN/RgwiA==}
+ dependencies:
+ '@codemirror/state': 6.1.0
+ '@codemirror/view': 6.0.3
+ crelt: 1.0.5
+ dev: false
+
+ /@codemirror/search/6.0.0:
+ resolution: {integrity: sha512-rL0rd3AhI0TAsaJPUaEwC63KHLO7KL0Z/dYozXj6E7L3wNHRyx7RfE0/j5HsIf912EE5n2PCb4Vg0rGYmDv4UQ==}
+ dependencies:
+ '@codemirror/state': 6.1.0
+ '@codemirror/view': 6.0.3
+ crelt: 1.0.5
+ dev: false
+
+ /@codemirror/state/6.1.0:
+ resolution: {integrity: sha512-qbUr94DZTe6/V1VS7LDLz11rM/1t/nJxR1El4I6UaxDEdc0aZZvq6JCLJWiRmUf95NRAnDH6fhXn+PWp9wGCIg==}
+ dev: false
+
+ /@codemirror/view/6.0.3:
+ resolution: {integrity: sha512-1gDBymhbx2DZzwnR/rNUu1LiQqjxBJtFiB+4uLR6tHQ6vKhTIwUsP5uZUQ7SM7JxVx3UihMynnTqjcsC+mczZg==}
+ dependencies:
+ '@codemirror/state': 6.1.0
+ style-mod: 4.0.0
+ w3c-keyname: 2.2.4
+ dev: false
+
/@jridgewell/gen-mapping/0.1.1:
resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==}
engines: {node: '>=6.0.0'}
@@ -332,6 +393,22 @@ packages:
'@jridgewell/sourcemap-codec': 1.4.14
dev: true
+ /@lezer/common/1.0.0:
+ resolution: {integrity: sha512-ohydQe+Hb+w4oMDvXzs8uuJd2NoA3D8YDcLiuDsLqH+yflDTPEpgCsWI3/6rH5C3BAedtH1/R51dxENldQceEA==}
+ dev: false
+
+ /@lezer/highlight/1.0.0:
+ resolution: {integrity: sha512-nsCnNtim90UKsB5YxoX65v3GEIw3iCHw9RM2DtdgkiqAbKh9pCdvi8AWNwkYf10Lu6fxNhXPpkpHbW6mihhvJA==}
+ dependencies:
+ '@lezer/common': 1.0.0
+ dev: false
+
+ /@lezer/lr/1.2.0:
+ resolution: {integrity: sha512-TgEpfm9br2SX8JwtwKT8HsQZKuFkLRg6g+IRxObk9nVKQLKnkP3oMh+QGcTBL9GQsfQ2ADtKPbj2iGSMf3ytiA==}
+ dependencies:
+ '@lezer/common': 1.0.0
+ dev: false
+
/@rollup/pluginutils/4.2.1:
resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
engines: {node: '>= 8.0.0'}
@@ -428,6 +505,18 @@ packages:
supports-color: 5.5.0
dev: true
+ /codemirror/6.0.1:
+ resolution: {integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==}
+ dependencies:
+ '@codemirror/autocomplete': 6.0.4
+ '@codemirror/commands': 6.0.1
+ '@codemirror/language': 6.2.0
+ '@codemirror/lint': 6.0.0
+ '@codemirror/search': 6.0.0
+ '@codemirror/state': 6.1.0
+ '@codemirror/view': 6.0.3
+ dev: false
+
/color-convert/1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
dependencies:
@@ -444,6 +533,10 @@ packages:
safe-buffer: 5.1.2
dev: true
+ /crelt/1.0.5:
+ resolution: {integrity: sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==}
+ dev: false
+
/csstype/3.1.0:
resolution: {integrity: sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==}
dev: true
@@ -790,6 +883,16 @@ packages:
source-map-js: 1.0.2
dev: true
+ /react-codemirror2/7.2.1_zuovgz2ulb34y4plqf6p2rpz4q:
+ resolution: {integrity: sha512-t7YFmz1AXdlImgHXA9Ja0T6AWuopilub24jRaQdPVbzUJVNKIYuy3uCFZYa7CE5S3UW6SrSa5nAqVQvtzRF9gw==}
+ peerDependencies:
+ codemirror: 5.x
+ react: '>=15.5 <=16.x'
+ dependencies:
+ codemirror: 6.0.1
+ react: 18.2.0
+ dev: false
+
/react-dom/18.2.0_react@18.2.0:
resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
peerDependencies:
@@ -874,6 +977,10 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /style-mod/4.0.0:
+ resolution: {integrity: sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==}
+ dev: false
+
/supports-color/5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
@@ -931,3 +1038,7 @@ packages:
optionalDependencies:
fsevents: 2.3.2
dev: true
+
+ /w3c-keyname/2.2.4:
+ resolution: {integrity: sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==}
+ dev: false
diff --git a/src/App.tsx b/src/App.tsx
index fbb6363..f5d373f 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,17 +1,19 @@
-import {BrowserRouter as Router, Routes, Route} from 'react-router-dom';
-import Home from './pages/Home';
-import Paste from './pages/Paste';
+import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
+import Home from "./pages/Home";
+import Paste from "./pages/Paste";
function App() {
return (
-
-
-
- }/>
- }/>
-
-
-
+
+
+
+ } />
+ } />
+
+
+
);
}
diff --git a/src/components/BottomBar.tsx b/src/components/BottomBar.tsx
new file mode 100644
index 0000000..c05c2eb
--- /dev/null
+++ b/src/components/BottomBar.tsx
@@ -0,0 +1,76 @@
+const BottomBar = () => {
+ return (
+
+ );
+};
+
+const ButtonControl = (props: tControlProps) => {
+ return (
+
+
+ {props.text}
+
+
+ );
+};
+
+const Separator = () => (
+
+ •
+
+);
+
+interface tControlProps {
+ text: string;
+ link: string;
+}
+
+export default BottomBar;
diff --git a/src/components/Editor.tsx b/src/components/Editor.tsx
new file mode 100644
index 0000000..2ac754e
--- /dev/null
+++ b/src/components/Editor.tsx
@@ -0,0 +1,21 @@
+const Editor = () => {
+ return (
+
+ );
+};
+
+export default Editor;
diff --git a/src/index.css b/src/index.css
index 561c3f9..33b8017 100644
--- a/src/index.css
+++ b/src/index.css
@@ -1,13 +1,14 @@
-body {
- margin: 0;
- font-family: sans-serif;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- background: black;
- color: white;
+@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;700&display=swap');
+
+* {
+ padding: 0%;
+ margin: 0%;
}
-code {
- font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
- monospace;
-}
+body{
+ font-family: "IBM Plex Mono", monospace;
+ background: black;
+ color: white;
+ /* min-height: 100%; */
+ height: 100vh;
+}
\ No newline at end of file
diff --git a/src/main.tsx b/src/main.tsx
index 4a1b150..abaa67c 100644
--- a/src/main.tsx
+++ b/src/main.tsx
@@ -1,10 +1,10 @@
-import React from 'react'
-import ReactDOM from 'react-dom/client'
-import App from './App'
-import './index.css'
+import React from "react";
+import ReactDOM from "react-dom/client";
+import App from "./App";
+import "./index.css";
-ReactDOM.createRoot(document.getElementById('root')!).render(
-
-
-
-)
+ReactDOM.createRoot(document.getElementById("root")!).render(
+
+
+ ,
+);
diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx
index 2daa8de..5832c9b 100644
--- a/src/pages/Home.tsx
+++ b/src/pages/Home.tsx
@@ -1,9 +1,13 @@
+import BottomBar from "../components/BottomBar";
+import Editor from "../components/Editor";
+
function Home() {
- return (
-
-
Home Page
-
- )
+ return (
+ <>
+
+
+ >
+ );
}
-export default Home;
\ No newline at end of file
+export default Home;
diff --git a/src/pages/Paste.tsx b/src/pages/Paste.tsx
index 5ebcee4..2b69f50 100644
--- a/src/pages/Paste.tsx
+++ b/src/pages/Paste.tsx
@@ -1,9 +1,9 @@
function Paste() {
- return (
-
-
Paste Page
-
- )
+ return (
+
+
Paste Page
+
+ );
}
-export default Paste;
\ No newline at end of file
+export default Paste;