summaryrefslogtreecommitdiffstats
path: root/client/src/admin/jsx
diff options
context:
space:
mode:
authorGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
committerGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
commite06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch)
tree55713f725f77b44ebfec86e4eec3ce33e71458ca /client/src/admin/jsx
downloadwebsite_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip
api, login, auth
Diffstat (limited to 'client/src/admin/jsx')
-rw-r--r--client/src/admin/jsx/App.jsx36
-rw-r--r--client/src/admin/jsx/MainScreen.jsx25
2 files changed, 61 insertions, 0 deletions
diff --git a/client/src/admin/jsx/App.jsx b/client/src/admin/jsx/App.jsx
new file mode 100644
index 0000000..c5be77c
--- /dev/null
+++ b/client/src/admin/jsx/App.jsx
@@ -0,0 +1,36 @@
+import React, { useState, useEffect } from 'react';
+import ReactDOM from 'react-dom';
+
+import "../scss/index.scss";
+
+import texts from '../../common/data/texts.js';
+import TopBar from '../../common/jsx/TopBar.jsx';
+import Info from '../../common/jsx/Info.jsx';
+import MainScreen from './MainScreen.jsx';
+
+const App = () => {
+ const [adminLang, setAdminLang] = useState('en');
+ const [projects, setProjects] = useState([]);
+ const [info, setInfo] = useState('');
+ const [hover, setHover] = useState('');
+ const [view, setView] = useState('main');
+ const [user, setUser] = useState(null);
+ const t = (key) => texts[adminLang][key] || texts['en'][key];
+
+ // useEffect(() => {
+ // setInfo('no-saved-websites')
+ // setHover('');
+ // }, [user]);
+
+ return (
+ <div className="main">
+ <TopBar lang={adminLang} setLang={setAdminLang} setHover={setHover} user={user} setUser={setUser} t={t} />
+ <div className="main__content">
+ { view === 'main' && <MainScreen projects={projects} t={t} setHover={setHover} /> }
+ </div>
+ <Info info={info} hover={hover} t={t} />
+ </div>
+ )
+};
+
+ReactDOM.render(<App />, document.getElementById('app'));
diff --git a/client/src/admin/jsx/MainScreen.jsx b/client/src/admin/jsx/MainScreen.jsx
new file mode 100644
index 0000000..ff28256
--- /dev/null
+++ b/client/src/admin/jsx/MainScreen.jsx
@@ -0,0 +1,25 @@
+import React, { Fragment } from 'react';
+import WithHover from '../../common/jsx/WithHover.jsx';
+
+const MainScreen = ({ projects, t, setHover }) => (
+ <div className="main-screen">
+ <h1 className="main-screen__header">{ t('main-title') }</h1>
+ <div className="main-screen__list">
+ { !projects.length && (
+ <WithHover setHover={setHover} message="edit-current-project-hover">
+ <p className="main-screen__item">{ t('edit-current-project') }</p>
+ </WithHover>
+ )}
+ { !projects.length && (
+ <WithHover setHover={setHover} message="show-saved-projects-hover">
+ <p className="main-screen__item">{ t('show-saved-projects') }</p>
+ </WithHover>
+ )}
+ <WithHover setHover={setHover} message="create-new-project-hover">
+ <p className="main-screen__item">{ t('create-new-project') }</p>
+ </WithHover>
+ </div>
+ </div>
+);
+
+export default MainScreen;