Analytics added / NewRestaurant.js added

This commit is contained in:
2020-08-10 20:14:43 +02:00
parent 769be397e5
commit 48bb74e5f8
26 changed files with 118 additions and 48 deletions

5
package-lock.json generated
View File

@@ -11312,6 +11312,11 @@
"resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.7.tgz", "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.7.tgz",
"integrity": "sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA==" "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": { "react-is": {
"version": "16.13.1", "version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",

View File

@@ -13,6 +13,7 @@
"node-sass": "^4.14.1", "node-sass": "^4.14.1",
"react": "^16.13.1", "react": "^16.13.1",
"react-dom": "^16.13.1", "react-dom": "^16.13.1",
"react-ga": "^3.1.2",
"react-redux": "^7.2.0", "react-redux": "^7.2.0",
"react-scripts": "3.4.1", "react-scripts": "3.4.1",
"redux": "^4.0.5", "redux": "^4.0.5",

View File

@@ -1,11 +1,11 @@
import React from "react"; import React from "react";
import "./App.scss"; import "./App.scss";
import TopBar from "./components/TopBar"; import TopBar from "./components/TopBar";
import LogoMain from "./components/logoMain"; import LogoMain from "./components/Output/logoMain";
import Footer from "./components/Footer"; import Footer from "./components/Output/Footer";
import SearchPanel from "./components/SearchPanel"; import SearchPanel from "./components/Input/SearchPanel";
import SearchResults from "./components/SearchResults"; import SearchResults from "./components/Output/SearchResults";
import Restaurant from "./components/Restaurant"; import Restaurant from "./components/Output/Restaurant";
import Dialogs from "./components/Dialogs"; import Dialogs from "./components/Dialogs";
import { createMuiTheme, ThemeProvider } from "@material-ui/core/styles"; import { createMuiTheme, ThemeProvider } from "@material-ui/core/styles";
import { useSelector } from "react-redux"; import { useSelector } from "react-redux";

View File

@@ -2,6 +2,7 @@ import React from "react";
import LoginDialog from "./Dialogs/LoginDialog"; import LoginDialog from "./Dialogs/LoginDialog";
import RegisterDialog from "./Dialogs/RegisterDialog"; import RegisterDialog from "./Dialogs/RegisterDialog";
import RegulaminDialog from "./Dialogs/RegulaminDialog"; import RegulaminDialog from "./Dialogs/RegulaminDialog";
import NewRestaurant from "./Dialogs/NewRestaurant";
export default function (props) { export default function (props) {
return ( return (
@@ -9,6 +10,7 @@ export default function (props) {
<LoginDialog /> <LoginDialog />
<RegisterDialog /> <RegisterDialog />
<RegulaminDialog /> <RegulaminDialog />
<NewRestaurant />
</div> </div>
); );
} }

View File

@@ -4,7 +4,7 @@ import DialogTitle from "@material-ui/core/DialogTitle";
import DialogContent from "@material-ui/core/DialogContent"; import DialogContent from "@material-ui/core/DialogContent";
import Dialog from "@material-ui/core/Dialog"; import Dialog from "@material-ui/core/Dialog";
import Divider from "@material-ui/core/Divider"; import Divider from "@material-ui/core/Divider";
import ButtonSecondary from ".././ButtonSecondary"; import ButtonSecondary from "../Input/ButtonSecondary";
import IconButton from "@material-ui/core/IconButton"; import IconButton from "@material-ui/core/IconButton";
import TextField from "@material-ui/core/TextField"; import TextField from "@material-ui/core/TextField";
import CloseIcon from "@material-ui/icons/Close"; import CloseIcon from "@material-ui/icons/Close";

View File

@@ -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 (
<div>
<Dialog
className={styles.root}
open={dialogOpen}
aria-labelledby="newRestaurant-title"
>
<DialogTitle id="newRestaurant-title">Nowy Lokal</DialogTitle>
</Dialog>
</div>
);
}

View File

@@ -4,7 +4,7 @@ import DialogTitle from "@material-ui/core/DialogTitle";
import DialogContent from "@material-ui/core/DialogContent"; import DialogContent from "@material-ui/core/DialogContent";
import Dialog from "@material-ui/core/Dialog"; import Dialog from "@material-ui/core/Dialog";
import Divider from "@material-ui/core/Divider"; import Divider from "@material-ui/core/Divider";
import ButtonSecondary from ".././ButtonSecondary"; import ButtonSecondary from "../Input/ButtonSecondary";
import IconButton from "@material-ui/core/IconButton"; import IconButton from "@material-ui/core/IconButton";
import TextField from "@material-ui/core/TextField"; import TextField from "@material-ui/core/TextField";
import CloseIcon from "@material-ui/icons/Close"; import CloseIcon from "@material-ui/icons/Close";

View File

@@ -4,7 +4,7 @@ import ButtonSecondary from "./ButtonSecondary";
import TextField from "@material-ui/core/TextField"; import TextField from "@material-ui/core/TextField";
import Autocomplete from "@material-ui/lab/Autocomplete"; import Autocomplete from "@material-ui/lab/Autocomplete";
import { useSelector, useDispatch } from "react-redux"; import { useSelector, useDispatch } from "react-redux";
import { fetchAutocomplete, setSearchQuery, fetchSearch } from "../actions"; import { fetchAutocomplete, setSearchQuery, fetchSearch } from "../../actions";
const useStyles = makeStyles((theme) => ({ const useStyles = makeStyles((theme) => ({
root: { root: {

View File

@@ -1,6 +1,6 @@
import React from "react"; import React from "react";
import Pictograms from "./Pictograms"; import Pictograms from "./Pictograms";
import { extractTags } from "../Services"; import { extractTags } from "../../Services";
export default function CardDish(props) { export default function CardDish(props) {
const { const {

View File

@@ -1,6 +1,6 @@
import React from "react"; import React from "react";
import Pictograms from "./Pictograms"; import Pictograms from "./Pictograms";
import { fetchRestaurant } from "../actions"; import { fetchRestaurant } from "../../actions";
import { useDispatch } from "react-redux"; import { useDispatch } from "react-redux";
function extractTags(tags) { function extractTags(tags) {

View File

@@ -1,20 +1,20 @@
import React from "react"; import React from "react";
// ICONS // ICONS
import alcohol from "../public/i_alcohol.svg"; import alcohol from "../../public/i_alcohol.svg";
import card from "../public/i_card.svg"; import card from "../../public/i_card.svg";
import delivery from "../public/i_delivery.svg"; import delivery from "../../public/i_delivery.svg";
import eggs from "../public/i_eggs.svg"; import eggs from "../../public/i_eggs.svg";
import gluten from "../public/i_gluten.svg"; import gluten from "../../public/i_gluten.svg";
import glutenFree from "../public/i_glutenFree.svg"; import glutenFree from "../../public/i_glutenFree.svg";
import lactose from "../public/i_lactose.svg"; import lactose from "../../public/i_lactose.svg";
import lactoseFree from "../public/i_lactoseFree.svg"; import lactoseFree from "../../public/i_lactoseFree.svg";
import peanuts from "../public/i_peanuts.svg"; import peanuts from "../../public/i_peanuts.svg";
import pets from "../public/i_pets.svg"; import pets from "../../public/i_pets.svg";
import seaFood from "../public/i_seaFood.svg"; import seaFood from "../../public/i_seaFood.svg";
import sesame from "../public/i_sesame.svg"; import sesame from "../../public/i_sesame.svg";
import soy from "../public/i_soy.svg"; import soy from "../../public/i_soy.svg";
import vegan from "../public/i_vegan.svg"; import vegan from "../../public/i_vegan.svg";
import vegetarian from "../public/i_vegetarian.svg"; import vegetarian from "../../public/i_vegetarian.svg";
export default function (props) { export default function (props) {
const pictograms = props.pictograms.map((pictogram, index) => ( const pictograms = props.pictograms.map((pictogram, index) => (

View File

@@ -1,20 +1,20 @@
import React from "react"; import React from "react";
// ICONS // ICONS
import alcohol from "../public/i_alcohol.svg"; import alcohol from "../../public/i_alcohol.svg";
import card from "../public/i_card.svg"; import card from "../../public/i_card.svg";
import delivery from "../public/i_delivery.svg"; import delivery from "../../public/i_delivery.svg";
import eggs from "../public/i_eggs.svg"; import eggs from "../../public/i_eggs.svg";
import gluten from "../public/i_gluten.svg"; import gluten from "../../public/i_gluten.svg";
import glutenFree from "../public/i_glutenFree.svg"; import glutenFree from "../../public/i_glutenFree.svg";
import lactose from "../public/i_lactose.svg"; import lactose from "../../public/i_lactose.svg";
import lactoseFree from "../public/i_lactoseFree.svg"; import lactoseFree from "../../public/i_lactoseFree.svg";
import peanuts from "../public/i_peanuts.svg"; import peanuts from "../../public/i_peanuts.svg";
import pets from "../public/i_pets.svg"; import pets from "../../public/i_pets.svg";
import seaFood from "../public/i_seaFood.svg"; import seaFood from "../../public/i_seaFood.svg";
import sesame from "../public/i_sesame.svg"; import sesame from "../../public/i_sesame.svg";
import soy from "../public/i_soy.svg"; import soy from "../../public/i_soy.svg";
import vegan from "../public/i_vegan.svg"; import vegan from "../../public/i_vegan.svg";
import vegetarian from "../public/i_vegetarian.svg"; import vegetarian from "../../public/i_vegetarian.svg";
export default function (props) { export default function (props) {
const pictogramsSeparated = props.pictograms.map((pictogram, index) => ( const pictogramsSeparated = props.pictograms.map((pictogram, index) => (

View File

@@ -2,7 +2,7 @@ import React from "react";
import PictogramsSeparate from "./PictogramsSeparate"; import PictogramsSeparate from "./PictogramsSeparate";
import DishList from "./DishList"; import DishList from "./DishList";
import CircularProgress from "@material-ui/core/CircularProgress"; import CircularProgress from "@material-ui/core/CircularProgress";
import { extractTags } from "../Services"; import { extractTags } from "../../Services";
import { useSelector } from "react-redux"; import { useSelector } from "react-redux";
export default function Restaurant(props) { export default function Restaurant(props) {

View File

@@ -1,4 +1,4 @@
import logo from "../public/logo_mint.svg"; import logo from "../../public/logo_mint.svg";
import React from "react"; import React from "react";
import { useSelector } from "react-redux"; import { useSelector } from "react-redux";

View File

@@ -1,6 +1,6 @@
import React from "react"; import React from "react";
import UserMenu from "./UserMenu"; import UserMenu from "./UserMenu";
import Social from "./Social"; import Social from "./Output/Social";
import logo from "../public/logo_white.svg"; import logo from "../public/logo_white.svg";
import IconButton from "@material-ui/core/IconButton"; import IconButton from "@material-ui/core/IconButton";
import MenuIcon from "@material-ui/icons/Menu"; 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 { showLoginDialog, showRegisterDialog } from "../actions/toggles";
import { logout } from "../actions"; import { logout } from "../actions";
import { makeStyles } from "@material-ui/core/styles"; import { makeStyles } from "@material-ui/core/styles";
import ButtonSecondary from "./ButtonSecondary"; import ButtonSecondary from "./Input/ButtonSecondary";
import ListSubheader from "@material-ui/core/ListSubheader"; import ListSubheader from "@material-ui/core/ListSubheader";
const useStyles = makeStyles((theme) => ({ const useStyles = makeStyles((theme) => ({

View File

@@ -1,4 +1,5 @@
import React from "react"; import React from "react";
import ReactGA from "react-ga";
import ReactDOM from "react-dom"; import ReactDOM from "react-dom";
import { Provider } from "react-redux"; import { Provider } from "react-redux";
import "./index.scss"; import "./index.scss";
@@ -8,6 +9,8 @@ import rootReducer from "./reducers";
import thunk from "redux-thunk"; import thunk from "redux-thunk";
import { createStore, applyMiddleware, compose } from "redux"; import { createStore, applyMiddleware, compose } from "redux";
ReactGA.initialize("G-SHB9LXPWWM");
ReactGA.pageview("/");
const store = createStore( const store = createStore(
rootReducer, rootReducer,
compose( compose(

View File

@@ -2,16 +2,14 @@ const appModeReducer = (state = "init", action) => {
switch (action.type) { switch (action.type) {
case "APP_INIT": case "APP_INIT":
return (state = "init"); return (state = "init");
case "APP_EMPTY":
return (state = "empty");
case "APP_SEARCH_RESULTS": case "APP_SEARCH_RESULTS":
return (state = "search results"); return (state = "search results");
case "APP_RESTAURANT": case "APP_RESTAURANT":
return (state = "restaurant"); return (state = "restaurant");
case "APP_DISH": case "APP_DISH":
return (state = "dish"); return (state = "dish");
case "APP_ADD_RESTAURANT":
return (state = "add restaurant");
case "APP_ADD_DISH":
return (state = "add dish");
default: default:
return state; return state;
} }

View File

@@ -8,6 +8,7 @@ const initialState = {
dialogs: { dialogs: {
logIn: false, logIn: false,
register: false, register: false,
newRestaurant: true,
contact: false, contact: false,
pricing: false, pricing: false,
regulamin: false, regulamin: false,