Initial database structure and migrations, login flow, refactor main page.

This commit is contained in:
Patrick Fic
2020-10-13 17:45:36 -07:00
parent abfb91d55f
commit 030f0b7a90
71 changed files with 5331 additions and 387 deletions

View File

@@ -1,55 +1,41 @@
import { Button, Layout } from "antd";
import { ApolloProvider } from "@apollo/client";
import { ConfigProvider, Spin } from "antd";
import enLocale from "antd/es/locale/en_US";
import React, { useEffect } from "react";
import { connect } from "react-redux";
import { createStructuredSelector } from "reselect";
import ipcTypes from "../ipc.types";
import RoutesPage from "../components/pages/routes/routes.page";
import SignInPage from "../components/pages/sign-in/sign-in.page";
import client from "../graphql/GraphQLClient";
import { checkUserSession } from "../redux/user/user.actions";
import { selectCurrentUser } from "../redux/user/user.selectors";
const { ipcRenderer } = window.require("electron");
const settings = window.require("electron-settings");
const mapStateToProps = createStructuredSelector({
currentUser: selectCurrentUser,
});
const mapDispatchToProps = (dispatch) => ({
checkUserSession: () => dispatch(checkUserSession()),
});
const mapStateToProps = createStructuredSelector({});
const mapDispatchToProps = (dispatch) => ({});
export function App() {
export function App({ currentUser, checkUserSession }) {
useEffect(() => {
ipcRenderer.on("test-success", (event, obj) => {
console.log("Test Success", obj);
});
ipcRenderer.on(ipcTypes.default.filewatcher.startSuccess, (event, obj) => {
console.log(ipcTypes.default.filewatcher.startSuccess, obj);
});
// Cleanup the listener events so that memory leaks are avoided.
return function cleanup() {
ipcRenderer.removeAllListeners(
"test-success",
ipcTypes.default.filewatcher.startSuccess
);
};
}, []);
checkUserSession();
}, [checkUserSession]);
if (currentUser.authorized === null) {
return <Spin />;
}
return (
<Layout>
<Layout.Header>
<div> Header</div>
</Layout.Header>
<Layout.Content>
<div>Welcome to your new react app. asdas sd</div>
<Button
onClick={() => {
ipcRenderer.send("test", { test: true });
}}
>
TEST Generic IPC
</Button>
<Button
onClick={() => {
ipcRenderer.send(ipcTypes.default.filewatcher.start);
}}
>
Start Watcher
</Button>
</Layout.Content>
</Layout>
<ApolloProvider client={client}>
<ConfigProvider
componentSize="small"
input={{ autoComplete: "new-password" }}
locale={enLocale}
>
<div>{currentUser.authorized ? <RoutesPage /> : <SignInPage />}</div>
</ConfigProvider>
</ApolloProvider>
);
}
export default connect(mapStateToProps, mapDispatchToProps)(App);