Analytics added / NewRestaurant.js added
This commit is contained in:
5
package-lock.json
generated
5
package-lock.json
generated
@@ -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",
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
10
src/App.js
10
src/App.js
@@ -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";
|
||||||
|
|||||||
@@ -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>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
60
src/components/Dialogs/NewRestaurant.js
Normal file
60
src/components/Dialogs/NewRestaurant.js
Normal 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>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -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";
|
||||||
|
|||||||
@@ -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: {
|
||||||
@@ -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 {
|
||||||
@@ -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) {
|
||||||
@@ -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) => (
|
||||||
@@ -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) => (
|
||||||
@@ -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) {
|
||||||
@@ -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";
|
||||||
|
|
||||||
@@ -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) => ({
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user