diff --git a/package-lock.json b/package-lock.json
index 4fcbc75..032692a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11312,6 +11312,11 @@
"resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.7.tgz",
"integrity": "sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA=="
},
+ "react-ga": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/react-ga/-/react-ga-3.1.2.tgz",
+ "integrity": "sha512-OJrMqaHEHbodm+XsnjA6ISBEHTwvpFrxco65mctzl/v3CASMSLSyUkFqz9yYrPDKGBUfNQzKCjuMJwctjlWBbw=="
+ },
"react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
diff --git a/package.json b/package.json
index c1c8c08..287a38c 100644
--- a/package.json
+++ b/package.json
@@ -13,6 +13,7 @@
"node-sass": "^4.14.1",
"react": "^16.13.1",
"react-dom": "^16.13.1",
+ "react-ga": "^3.1.2",
"react-redux": "^7.2.0",
"react-scripts": "3.4.1",
"redux": "^4.0.5",
diff --git a/src/App.js b/src/App.js
index 5d3ff54..73ded5a 100644
--- a/src/App.js
+++ b/src/App.js
@@ -1,11 +1,11 @@
import React from "react";
import "./App.scss";
import TopBar from "./components/TopBar";
-import LogoMain from "./components/logoMain";
-import Footer from "./components/Footer";
-import SearchPanel from "./components/SearchPanel";
-import SearchResults from "./components/SearchResults";
-import Restaurant from "./components/Restaurant";
+import LogoMain from "./components/Output/logoMain";
+import Footer from "./components/Output/Footer";
+import SearchPanel from "./components/Input/SearchPanel";
+import SearchResults from "./components/Output/SearchResults";
+import Restaurant from "./components/Output/Restaurant";
import Dialogs from "./components/Dialogs";
import { createMuiTheme, ThemeProvider } from "@material-ui/core/styles";
import { useSelector } from "react-redux";
diff --git a/src/components/Dialogs.js b/src/components/Dialogs.js
index f4fea98..5ca21b1 100644
--- a/src/components/Dialogs.js
+++ b/src/components/Dialogs.js
@@ -2,6 +2,7 @@ import React from "react";
import LoginDialog from "./Dialogs/LoginDialog";
import RegisterDialog from "./Dialogs/RegisterDialog";
import RegulaminDialog from "./Dialogs/RegulaminDialog";
+import NewRestaurant from "./Dialogs/NewRestaurant";
export default function (props) {
return (
@@ -9,6 +10,7 @@ export default function (props) {
+
);
}
diff --git a/src/components/Dialogs/LoginDialog.js b/src/components/Dialogs/LoginDialog.js
index 166fa53..da90838 100644
--- a/src/components/Dialogs/LoginDialog.js
+++ b/src/components/Dialogs/LoginDialog.js
@@ -4,7 +4,7 @@ import DialogTitle from "@material-ui/core/DialogTitle";
import DialogContent from "@material-ui/core/DialogContent";
import Dialog from "@material-ui/core/Dialog";
import Divider from "@material-ui/core/Divider";
-import ButtonSecondary from ".././ButtonSecondary";
+import ButtonSecondary from "../Input/ButtonSecondary";
import IconButton from "@material-ui/core/IconButton";
import TextField from "@material-ui/core/TextField";
import CloseIcon from "@material-ui/icons/Close";
diff --git a/src/components/Dialogs/NewRestaurant.js b/src/components/Dialogs/NewRestaurant.js
new file mode 100644
index 0000000..73fb864
--- /dev/null
+++ b/src/components/Dialogs/NewRestaurant.js
@@ -0,0 +1,60 @@
+import React, { useState } from "react";
+import { makeStyles } from "@material-ui/core/styles";
+import DialogTitle from "@material-ui/core/DialogTitle";
+import DialogContent from "@material-ui/core/DialogContent";
+import Dialog from "@material-ui/core/Dialog";
+import Divider from "@material-ui/core/Divider";
+import ButtonSecondary from "../Input/ButtonSecondary";
+import IconButton from "@material-ui/core/IconButton";
+import TextField from "@material-ui/core/TextField";
+import CloseIcon from "@material-ui/icons/Close";
+import { useSelector, useDispatch } from "react-redux";
+import validator from "validator";
+import InputAdornment from "@material-ui/core/InputAdornment";
+
+const useStyles = makeStyles((theme) => ({
+ root: {
+ textAlign: "center",
+ "& .MuiPaper-root": {
+ backgroundColor: "#262626",
+ color: "#bbbbbb",
+ },
+ },
+ closeButton: {
+ color: "#bbbbbb",
+ position: "absolute",
+ right: theme.spacing(1),
+ top: theme.spacing(1),
+ },
+ textInput: {
+ marginTop: "20px",
+ marginBottom: "10px",
+ width: "90%",
+ "& .MuiInputBase-root": {
+ color: "#01c3a9",
+ },
+ "& .MuiInputLabel-root": {
+ color: "#bbbbbb",
+ },
+ },
+ link: {
+ fontSize: "0.9rem",
+ },
+}));
+
+export default function NewRestaurant() {
+ const styles = useStyles();
+ const dialogOpen = useSelector((state) => state.data.dialogs.newRestaurant);
+
+ return (
+
+
+
+ );
+}
diff --git a/src/components/Dialogs/RegisterDialog.js b/src/components/Dialogs/RegisterDialog.js
index eb1c6ac..9d9926c 100644
--- a/src/components/Dialogs/RegisterDialog.js
+++ b/src/components/Dialogs/RegisterDialog.js
@@ -4,7 +4,7 @@ import DialogTitle from "@material-ui/core/DialogTitle";
import DialogContent from "@material-ui/core/DialogContent";
import Dialog from "@material-ui/core/Dialog";
import Divider from "@material-ui/core/Divider";
-import ButtonSecondary from ".././ButtonSecondary";
+import ButtonSecondary from "../Input/ButtonSecondary";
import IconButton from "@material-ui/core/IconButton";
import TextField from "@material-ui/core/TextField";
import CloseIcon from "@material-ui/icons/Close";
diff --git a/src/components/ButtonPrimary.js b/src/components/Input/ButtonPrimary.js
similarity index 100%
rename from src/components/ButtonPrimary.js
rename to src/components/Input/ButtonPrimary.js
diff --git a/src/components/ButtonSecondary.js b/src/components/Input/ButtonSecondary.js
similarity index 100%
rename from src/components/ButtonSecondary.js
rename to src/components/Input/ButtonSecondary.js
diff --git a/src/components/CustomTextInput.js b/src/components/Input/CustomTextInput.js
similarity index 100%
rename from src/components/CustomTextInput.js
rename to src/components/Input/CustomTextInput.js
diff --git a/src/components/SearchPanel.js b/src/components/Input/SearchPanel.js
similarity index 99%
rename from src/components/SearchPanel.js
rename to src/components/Input/SearchPanel.js
index 836939b..2fed447 100644
--- a/src/components/SearchPanel.js
+++ b/src/components/Input/SearchPanel.js
@@ -4,7 +4,7 @@ import ButtonSecondary from "./ButtonSecondary";
import TextField from "@material-ui/core/TextField";
import Autocomplete from "@material-ui/lab/Autocomplete";
import { useSelector, useDispatch } from "react-redux";
-import { fetchAutocomplete, setSearchQuery, fetchSearch } from "../actions";
+import { fetchAutocomplete, setSearchQuery, fetchSearch } from "../../actions";
const useStyles = makeStyles((theme) => ({
root: {
diff --git a/src/components/CardDish.js b/src/components/Output/CardDish.js
similarity index 94%
rename from src/components/CardDish.js
rename to src/components/Output/CardDish.js
index f8c35ab..2f829f6 100644
--- a/src/components/CardDish.js
+++ b/src/components/Output/CardDish.js
@@ -1,6 +1,6 @@
import React from "react";
import Pictograms from "./Pictograms";
-import { extractTags } from "../Services";
+import { extractTags } from "../../Services";
export default function CardDish(props) {
const {
diff --git a/src/components/CardRestaurant.js b/src/components/Output/CardRestaurant.js
similarity index 95%
rename from src/components/CardRestaurant.js
rename to src/components/Output/CardRestaurant.js
index 1621c30..be688b5 100644
--- a/src/components/CardRestaurant.js
+++ b/src/components/Output/CardRestaurant.js
@@ -1,6 +1,6 @@
import React from "react";
import Pictograms from "./Pictograms";
-import { fetchRestaurant } from "../actions";
+import { fetchRestaurant } from "../../actions";
import { useDispatch } from "react-redux";
function extractTags(tags) {
diff --git a/src/components/DishList.js b/src/components/Output/DishList.js
similarity index 100%
rename from src/components/DishList.js
rename to src/components/Output/DishList.js
diff --git a/src/components/DishesCategory.js b/src/components/Output/DishesCategory.js
similarity index 100%
rename from src/components/DishesCategory.js
rename to src/components/Output/DishesCategory.js
diff --git a/src/components/Footer.js b/src/components/Output/Footer.js
similarity index 100%
rename from src/components/Footer.js
rename to src/components/Output/Footer.js
diff --git a/src/components/Pictograms.js b/src/components/Output/Pictograms.js
similarity index 58%
rename from src/components/Pictograms.js
rename to src/components/Output/Pictograms.js
index cdffccd..f657519 100644
--- a/src/components/Pictograms.js
+++ b/src/components/Output/Pictograms.js
@@ -1,20 +1,20 @@
import React from "react";
// ICONS
-import alcohol from "../public/i_alcohol.svg";
-import card from "../public/i_card.svg";
-import delivery from "../public/i_delivery.svg";
-import eggs from "../public/i_eggs.svg";
-import gluten from "../public/i_gluten.svg";
-import glutenFree from "../public/i_glutenFree.svg";
-import lactose from "../public/i_lactose.svg";
-import lactoseFree from "../public/i_lactoseFree.svg";
-import peanuts from "../public/i_peanuts.svg";
-import pets from "../public/i_pets.svg";
-import seaFood from "../public/i_seaFood.svg";
-import sesame from "../public/i_sesame.svg";
-import soy from "../public/i_soy.svg";
-import vegan from "../public/i_vegan.svg";
-import vegetarian from "../public/i_vegetarian.svg";
+import alcohol from "../../public/i_alcohol.svg";
+import card from "../../public/i_card.svg";
+import delivery from "../../public/i_delivery.svg";
+import eggs from "../../public/i_eggs.svg";
+import gluten from "../../public/i_gluten.svg";
+import glutenFree from "../../public/i_glutenFree.svg";
+import lactose from "../../public/i_lactose.svg";
+import lactoseFree from "../../public/i_lactoseFree.svg";
+import peanuts from "../../public/i_peanuts.svg";
+import pets from "../../public/i_pets.svg";
+import seaFood from "../../public/i_seaFood.svg";
+import sesame from "../../public/i_sesame.svg";
+import soy from "../../public/i_soy.svg";
+import vegan from "../../public/i_vegan.svg";
+import vegetarian from "../../public/i_vegetarian.svg";
export default function (props) {
const pictograms = props.pictograms.map((pictogram, index) => (
diff --git a/src/components/PictogramsSeparate.js b/src/components/Output/PictogramsSeparate.js
similarity index 72%
rename from src/components/PictogramsSeparate.js
rename to src/components/Output/PictogramsSeparate.js
index fa05b41..0bbbd26 100644
--- a/src/components/PictogramsSeparate.js
+++ b/src/components/Output/PictogramsSeparate.js
@@ -1,20 +1,20 @@
import React from "react";
// ICONS
-import alcohol from "../public/i_alcohol.svg";
-import card from "../public/i_card.svg";
-import delivery from "../public/i_delivery.svg";
-import eggs from "../public/i_eggs.svg";
-import gluten from "../public/i_gluten.svg";
-import glutenFree from "../public/i_glutenFree.svg";
-import lactose from "../public/i_lactose.svg";
-import lactoseFree from "../public/i_lactoseFree.svg";
-import peanuts from "../public/i_peanuts.svg";
-import pets from "../public/i_pets.svg";
-import seaFood from "../public/i_seaFood.svg";
-import sesame from "../public/i_sesame.svg";
-import soy from "../public/i_soy.svg";
-import vegan from "../public/i_vegan.svg";
-import vegetarian from "../public/i_vegetarian.svg";
+import alcohol from "../../public/i_alcohol.svg";
+import card from "../../public/i_card.svg";
+import delivery from "../../public/i_delivery.svg";
+import eggs from "../../public/i_eggs.svg";
+import gluten from "../../public/i_gluten.svg";
+import glutenFree from "../../public/i_glutenFree.svg";
+import lactose from "../../public/i_lactose.svg";
+import lactoseFree from "../../public/i_lactoseFree.svg";
+import peanuts from "../../public/i_peanuts.svg";
+import pets from "../../public/i_pets.svg";
+import seaFood from "../../public/i_seaFood.svg";
+import sesame from "../../public/i_sesame.svg";
+import soy from "../../public/i_soy.svg";
+import vegan from "../../public/i_vegan.svg";
+import vegetarian from "../../public/i_vegetarian.svg";
export default function (props) {
const pictogramsSeparated = props.pictograms.map((pictogram, index) => (
diff --git a/src/components/Restaurant.js b/src/components/Output/Restaurant.js
similarity index 97%
rename from src/components/Restaurant.js
rename to src/components/Output/Restaurant.js
index 6df38b5..891fa1c 100644
--- a/src/components/Restaurant.js
+++ b/src/components/Output/Restaurant.js
@@ -2,7 +2,7 @@ import React from "react";
import PictogramsSeparate from "./PictogramsSeparate";
import DishList from "./DishList";
import CircularProgress from "@material-ui/core/CircularProgress";
-import { extractTags } from "../Services";
+import { extractTags } from "../../Services";
import { useSelector } from "react-redux";
export default function Restaurant(props) {
diff --git a/src/components/SearchResults.js b/src/components/Output/SearchResults.js
similarity index 100%
rename from src/components/SearchResults.js
rename to src/components/Output/SearchResults.js
diff --git a/src/components/Social.js b/src/components/Output/Social.js
similarity index 100%
rename from src/components/Social.js
rename to src/components/Output/Social.js
diff --git a/src/components/logoMain.js b/src/components/Output/logoMain.js
similarity index 86%
rename from src/components/logoMain.js
rename to src/components/Output/logoMain.js
index a2ec52f..4c1b778 100644
--- a/src/components/logoMain.js
+++ b/src/components/Output/logoMain.js
@@ -1,4 +1,4 @@
-import logo from "../public/logo_mint.svg";
+import logo from "../../public/logo_mint.svg";
import React from "react";
import { useSelector } from "react-redux";
diff --git a/src/components/TopBar.js b/src/components/TopBar.js
index cdbf970..e851246 100644
--- a/src/components/TopBar.js
+++ b/src/components/TopBar.js
@@ -1,6 +1,6 @@
import React from "react";
import UserMenu from "./UserMenu";
-import Social from "./Social";
+import Social from "./Output/Social";
import logo from "../public/logo_white.svg";
import IconButton from "@material-ui/core/IconButton";
import MenuIcon from "@material-ui/icons/Menu";
@@ -18,7 +18,7 @@ import PaymentIcon from "@material-ui/icons/Payment";
import { showLoginDialog, showRegisterDialog } from "../actions/toggles";
import { logout } from "../actions";
import { makeStyles } from "@material-ui/core/styles";
-import ButtonSecondary from "./ButtonSecondary";
+import ButtonSecondary from "./Input/ButtonSecondary";
import ListSubheader from "@material-ui/core/ListSubheader";
const useStyles = makeStyles((theme) => ({
diff --git a/src/index.js b/src/index.js
index 405b735..3c558ff 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,4 +1,5 @@
import React from "react";
+import ReactGA from "react-ga";
import ReactDOM from "react-dom";
import { Provider } from "react-redux";
import "./index.scss";
@@ -8,6 +9,8 @@ import rootReducer from "./reducers";
import thunk from "redux-thunk";
import { createStore, applyMiddleware, compose } from "redux";
+ReactGA.initialize("G-SHB9LXPWWM");
+ReactGA.pageview("/");
const store = createStore(
rootReducer,
compose(
diff --git a/src/reducers/appMode.js b/src/reducers/appMode.js
index 92c3050..fc7edc3 100644
--- a/src/reducers/appMode.js
+++ b/src/reducers/appMode.js
@@ -2,16 +2,14 @@ const appModeReducer = (state = "init", action) => {
switch (action.type) {
case "APP_INIT":
return (state = "init");
+ case "APP_EMPTY":
+ return (state = "empty");
case "APP_SEARCH_RESULTS":
return (state = "search results");
case "APP_RESTAURANT":
return (state = "restaurant");
case "APP_DISH":
return (state = "dish");
- case "APP_ADD_RESTAURANT":
- return (state = "add restaurant");
- case "APP_ADD_DISH":
- return (state = "add dish");
default:
return state;
}
diff --git a/src/reducers/data.js b/src/reducers/data.js
index 09c699d..fddbe4b 100644
--- a/src/reducers/data.js
+++ b/src/reducers/data.js
@@ -8,6 +8,7 @@ const initialState = {
dialogs: {
logIn: false,
register: false,
+ newRestaurant: true,
contact: false,
pricing: false,
regulamin: false,