From 48bb74e5f8b439f640f795dcf6ccc6c66be2723f Mon Sep 17 00:00:00 2001 From: Jonasz Bigda Date: Mon, 10 Aug 2020 20:14:43 +0200 Subject: [PATCH] Analytics added / NewRestaurant.js added --- package-lock.json | 5 ++ package.json | 1 + src/App.js | 10 ++-- src/components/Dialogs.js | 2 + src/components/Dialogs/LoginDialog.js | 2 +- src/components/Dialogs/NewRestaurant.js | 60 +++++++++++++++++++ src/components/Dialogs/RegisterDialog.js | 2 +- src/components/{ => Input}/ButtonPrimary.js | 0 src/components/{ => Input}/ButtonSecondary.js | 0 src/components/{ => Input}/CustomTextInput.js | 0 src/components/{ => Input}/SearchPanel.js | 2 +- src/components/{ => Output}/CardDish.js | 2 +- src/components/{ => Output}/CardRestaurant.js | 2 +- src/components/{ => Output}/DishList.js | 0 src/components/{ => Output}/DishesCategory.js | 0 src/components/{ => Output}/Footer.js | 0 src/components/{ => Output}/Pictograms.js | 30 +++++----- .../{ => Output}/PictogramsSeparate.js | 30 +++++----- src/components/{ => Output}/Restaurant.js | 2 +- src/components/{ => Output}/SearchResults.js | 0 src/components/{ => Output}/Social.js | 0 src/components/{ => Output}/logoMain.js | 2 +- src/components/TopBar.js | 4 +- src/index.js | 3 + src/reducers/appMode.js | 6 +- src/reducers/data.js | 1 + 26 files changed, 118 insertions(+), 48 deletions(-) create mode 100644 src/components/Dialogs/NewRestaurant.js rename src/components/{ => Input}/ButtonPrimary.js (100%) rename src/components/{ => Input}/ButtonSecondary.js (100%) rename src/components/{ => Input}/CustomTextInput.js (100%) rename src/components/{ => Input}/SearchPanel.js (99%) rename src/components/{ => Output}/CardDish.js (94%) rename src/components/{ => Output}/CardRestaurant.js (95%) rename src/components/{ => Output}/DishList.js (100%) rename src/components/{ => Output}/DishesCategory.js (100%) rename src/components/{ => Output}/Footer.js (100%) rename src/components/{ => Output}/Pictograms.js (58%) rename src/components/{ => Output}/PictogramsSeparate.js (72%) rename src/components/{ => Output}/Restaurant.js (97%) rename src/components/{ => Output}/SearchResults.js (100%) rename src/components/{ => Output}/Social.js (100%) rename src/components/{ => Output}/logoMain.js (86%) 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 ( +
+ + Nowy Lokal + +
+ ); +} 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,