{"version":3,"sources":["config/axiosConfig.jsx","components/MessageDialog.jsx","components/QueueTableToolbar.jsx","components/EventItem.jsx","components/EventsDialog.jsx","components/QueueTable.jsx","components/ManualEnqueueDialog/CustomerForm.jsx","components/ManualEnqueueDialog/EnqueueForm.jsx","components/ManualEnqueueDialog/CreateOrVerifyForm.jsx","components/ManualEnqueueDialog/AddUserDialog.jsx","Services/httpService.js","config/axiosConfigAuth.jsx","Services/authService.js","components/UserMenu.jsx","components/MenuPopper.jsx","components/NotificationsPopper.jsx","components/Common/Clock.jsx","components/QueueControl.jsx","components/Common/ProtectedRoute.jsx","components/Login/Login.jsx","components/PrivacyPolicy.jsx","components/Router.jsx","themes/darkTheme.jsx","themes/lightTheme.jsx","static/styles/footerStyle.js","components/Footer.jsx","App.js","reportWebVitals.js","index.js"],"names":["axios","create","baseURL","timeout","headers","MessageDialog","open","setOpen","userToSend","messages","refresh","handleClose","sendNotification","message","a","axiosInstance","post","customerID","messageID","ID","token","deviceToken","requestID","queueID","then","res","console","log","data","toast","success","catch","err","error","response","Dialog","onClose","aria-labelledby","DialogTitle","id","DialogContent","DialogContentText","List","component","map","ListItem","button","onClick","ListItemIcon","ListItemText","primary","Title","secondary","Body","DialogActions","Button","color","useToolbarStyles","makeStyles","theme","root","backgroundColor","width","zIndex","title","flex","QueueTableToolbar","props","classes","handleEnqueue","handleClearQueue","undoClearQueue","history","empty","Grid","container","Toolbar","className","style","Tooltip","IconButton","aria-label","useStyles","paper","padding","EventItem","eventID","eventTimestamp","eventsLength","eventColor","eventActionID","eventDescription","eventBody","row","getIconByAction","TimelineItem","TimelineOppositeContent","Typography","variant","noWrap","TimelineSeparator","TimelineDot","TimelineConnector","TimelineContent","Paper","elevation","EventsDialog","events","actionID","fullWidth","maxWidth","Timeline","align","event","Fragment","ResponseTimestamp","ResponseColor","ResponseID","length","ResponseDescription","Timestamp","Color","ActionID","Description","overflowX","overflowY","height","window","innerHeight","minWidth","table","border","userGrid","display","flexDirection","justifyContent","flexRowGrid","flexColumnGrid","hcells","alignItems","QueueTable","queue","setUserToSend","setOpenMessage","dequeue","range","useTheme","useState","openEvents","setOpenEvents","setEvents","edit","setEdit","people","setPeople","vaccinated","setVaccinated","process","REACT_APP_QMS_DOMAIN","getBadge","key","rowColor","palette","text","confirm","get","parameters","TableContainer","Table","stickyHeader","size","TableHead","TableRow","TableCell","TableBody","item","hover","onDoubleClick","params","RowColor","cells","Position","FirstName","CellPhone","Comments","paddingRight","DateCreated","ElapsedTime","e","stopPropagation","TextField","defaultValue","People","type","onBlur","target","value","Status","TimeSinceFirstNotification","Checkbox","checked","onChange","preventDefault","prev","Vaccinated","justify","xs","wrap","firstName","Result","status","rangeID","customerObject","CustomerID","DeviceToken","editPeople","textField","margin","CustomerForm","helperText","cellPhone","setCellPhone","handleChange","setActiveStep","handleCustomerSearch","getCustomerByCellPhone","addCustomer","direction","autoFocus","required","label","onKeyPress","comments","setComments","vaccination","setVaccination","FormControlLabel","control","setFirstName","lastName","setLastName","email","setEmail","noSuchUser","disabled","FormDialog","setError","setHelperText","React","setNoSuchUser","activeStep","setter","handleClear","LastName","Email","addUserToQ","parseInt","Stepper","alternativeLabel","Step","StepLabel","0","1","CreateOrVerifyForm","2","EnqueueForm","http","axiosConfig","put","delete","setToken","defaults","setUserId","userId","setSessionGuid","sessionGuid","tokenKey","userKey","sessionKey","username","password","axiosConfigAuth","loginWithJwt","jwt","localStorage","setItem","getJwt","getItem","sessionStorage","auth","login","logout","removeItem","getCurrentUser","jwtDecode","ex","marginRight","spacing","UserMenu","anchorRef","useHistory","current","contains","handleListKeyDown","prevOpen","useRef","useEffect","focus","Popper","anchorEl","role","undefined","transition","disablePortal","TransitionProps","placement","Grow","transformOrigin","ClickAwayListener","onClickAway","MenuList","autoFocusItem","onKeyDown","MenuItem","push","MenuPopper","list","marginLeft","edge","NotificationsPopper","Answer","months","days","Clock","Date","date","setDate","timerID","setInterval","clearInterval","getDay","getDate","getMonth","getHours","getMinutes","StyledBadge","withStyles","badge","right","top","background","Badge","flexGrow","overflow","queueItem","buttonsGrid","marginBottom","QueueControl","lightTheme","setLightTheme","setQueue","setRange","setMessages","openMessage","setHistory","openUser","setOpenUser","openNavMenu","setOpenNavMenu","openUserList","setOpenUserList","openNotifications","setOpenNotifications","notifications","setNotifications","connection","setConnection","notificationsAnchorRef","ulAnchorRef","navAnchorRef","handleToggle","getQueue","getMessages","storeID","getHistory","historyType","newConnection","HubConnectionBuilder","withUrl","withAutomaticReconnect","build","savedNotifications","JSON","parse","onbeforeunload","stringify","start","result","on","stringData","Customer","info","ref","aria-controls","aria-haspopup","badgeContent","Divider","ToggleButtonGroup","orientation","exclusive","nextRange","ToggleButton","nextHistory","ProtectedRoute","path","Component","render","rest","to","pathname","state","from","location","Copyright","rel","href","textDecoration","getFullYear","minHeight","image","backgroundRepeat","grey","backgroundPosition","logo","gridItemPaper","breakpoints","down","avatar","form","marginTop","submit","LoginForm","userName","validateΕrr","setData","loading","setLoading","input","newData","name","doSubmit","CssBaseline","LinearProgress","Avatar","onSubmit","autoComplete","Box","mt","src","alt","PrivacyPolicy","fontSize","lineHeight","listStyleType","fontFamily","Router","exact","Login","darkTheme","createMuiTheme","typography","fontWeightLight","fontWeightRegular","fontWeightMedium","footerStyle","footContainer","alignContent","footer","textAlign","position","clock","alignSelf","paddingLeft","fontWeight","textTransform","borderRadius","spacer","inlineBlock","block","whiteSpace","styles","Footer","whiteFont","classNames","footerWhiteFont","getYear","App","isLightTheme","setIsLightTheme","ThemeProvider","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","autoClose","hideProgressBar","newestOnTop","pauseOnFocusLoss","closeOnClick","rtl","draggable","pauseOnHover","document","getElementById"],"mappings":"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","file":"static/js/main.ef70b349.chunk.js","sourcesContent":["import axios from 'axios';\r\n\r\nexport default axios.create({\r\n baseURL: 'https://qmsrv.qubiteq.gr/QMS',\r\n timeout: 5000,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json',\r\n }\r\n});\r\n","import React, { useState, useEffect } from 'react';\r\nimport axiosInstance from '../config/axiosConfig'\r\nimport Button from '@material-ui/core/Button';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport List from '@material-ui/core/List';\r\nimport ListItem from '@material-ui/core/ListItem';\r\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\r\nimport ListItemText from '@material-ui/core/ListItemText';\r\nimport SendIcon from '@material-ui/icons/Send';\r\nimport { IconButton } from '@material-ui/core';\r\nimport {toast} from 'react-toastify';\r\n\r\nexport default function MessageDialog({open, setOpen, userToSend, messages, refresh}) {\r\n // const [messages, setMessages] = useState([])\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n refresh();\r\n };\r\n\r\n const sendNotification = async (message) => {\r\n return await axiosInstance.post('/notifications', {\r\n customerID: userToSend.customerID,\r\n messageID: message.ID,\r\n token: userToSend.deviceToken,\r\n requestID: userToSend.requestID,\r\n queueID: 1\r\n })\r\n .then(res => {\r\n console.log(res.data)\r\n toast.success('Successfully sent notification')\r\n \r\n })\r\n .catch(err => {\r\n toast.error(err.response.data.message)\r\n })\r\n }\r\n\r\n\r\n return (\r\n \r\n Messages\r\n \r\n \r\n Select message \r\n \r\n\r\n \r\n { messages ?\r\n messages.map(message => {\r\n return (\r\n {sendNotification(message); handleClose();}}>\r\n \r\n \r\n \r\n \r\n )\r\n })\r\n : null}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React from \"react\";\r\nimport { lighten, makeStyles } from '@material-ui/core/styles';\r\nimport { IconButton, Toolbar, Tooltip, Typography, Grid } from \"@material-ui/core\";\r\nimport PersonAddIcon from '@material-ui/icons/PersonAdd';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport ReplayIcon from '@material-ui/icons/Replay';\r\n\r\n\r\nconst useToolbarStyles = makeStyles((theme) => ({\r\n root: {\r\n backgroundColor: 'transparent',\r\n width:'100%',\r\n zIndex: 1\r\n },\r\n title: {\r\n flex: '1 1 100%'\r\n },\r\n }));\r\n \r\n const QueueTableToolbar = (props) => {\r\n const classes = useToolbarStyles();\r\n const { handleEnqueue, handleClearQueue, undoClearQueue, history, empty } = props;\r\n \r\n return (\r\n \r\n \r\n\r\n {/* \r\n Queue\r\n */}\r\n\r\n
\r\n { !history && !empty && \r\n \r\n \r\n \r\n }\r\n\r\n { empty && \r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\nexport default QueueTableToolbar;\r\n ","import React, { useEffect } from 'react';\r\nimport TimelineItem from '@material-ui/lab/TimelineItem';\r\nimport TimelineSeparator from '@material-ui/lab/TimelineSeparator';\r\nimport TimelineConnector from '@material-ui/lab/TimelineConnector';\r\nimport TimelineContent from '@material-ui/lab/TimelineContent';\r\nimport TimelineOppositeContent from '@material-ui/lab/TimelineOppositeContent';\r\nimport TimelineDot from '@material-ui/lab/TimelineDot';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport {makeStyles} from '@material-ui/core/styles';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n paper: {\r\n padding: '6px 16px',\r\n },\r\n\r\n}));\r\n\r\nexport default function EventItem({eventID, eventTimestamp, eventsLength, eventColor, eventActionID, eventDescription, eventBody, row, getIconByAction}){\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n \r\n {eventTimestamp}\r\n \r\n \r\n \r\n \r\n {getIconByAction(eventActionID)}\r\n \r\n {row !== eventsLength-1 ?\r\n \r\n : null}\r\n \r\n \r\n \r\n \r\n {eventDescription}\r\n \r\n \r\n {eventBody}\r\n \r\n \r\n \r\n )}","import React, { useState, useEffect } from 'react';\r\nimport axiosInstance from '../config/axiosConfig';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Button from '@material-ui/core/Button';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport Timeline from '@material-ui/lab/Timeline';\r\n\r\nimport QueueIcon from '@material-ui/icons/Queue';\r\nimport QuestionAnswerIcon from '@material-ui/icons/QuestionAnswer';\r\nimport CancelIcon from '@material-ui/icons/Cancel';\r\nimport DoneAllIcon from '@material-ui/icons/DoneAll';\r\nimport RedoIcon from '@material-ui/icons/Redo';\r\nimport EventItem from './EventItem';\r\n\r\nexport default function EventsDialog({open, setOpen, events}) {\r\n\r\n const getIconByAction = (actionID) => {\r\n switch(actionID){\r\n case 1:\r\n return \r\n case 2:\r\n return \r\n case 3:\r\n case 4:\r\n return \r\n case 5:\r\n return \r\n case 6:\r\n return \r\n }\r\n }\r\n\r\n const handleClose = () => {\r\n setOpen(false);\r\n };\r\n\r\n return (\r\n \r\n Events\r\n \r\n \r\n See events\r\n \r\n \r\n {events ?\r\n events.map((event,row) => {\r\n return (\r\n \r\n {event.ResponseTimestamp ? \r\n \r\n : null}\r\n \r\n \r\n )}) : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","import React, {useEffect, useState} from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport Table from '@material-ui/core/Table';\r\nimport TableBody from '@material-ui/core/TableBody';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableContainer from '@material-ui/core/TableContainer';\r\nimport TableHead from '@material-ui/core/TableHead';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport TimerIcon from '@material-ui/icons/Timer';\r\nimport PeopleIcon from '@material-ui/icons/People';\r\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess';\r\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\r\nimport DeleteIcon from '@material-ui/icons/Delete';\r\nimport EmailIcon from '@material-ui/icons/Email';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport QueueTableToolbar from './QueueTableToolbar';\r\nimport CachedRoundedIcon from '@material-ui/icons/CachedRounded';\r\nimport ErrorOutlineIcon from '@material-ui/icons/ErrorOutline';\r\nimport HelpIcon from '@material-ui/icons/Help';\r\nimport EditIcon from '@material-ui/icons/Edit';\r\nimport DoneAllIcon from '@material-ui/icons/DoneAll';\r\nimport DoneIcon from '@material-ui/icons/Done';\r\nimport SaveIcon from '@material-ui/icons/Save';\r\nimport HourglassEmptyIcon from '@material-ui/icons/HourglassEmpty';\r\nimport RestaurantIcon from '@material-ui/icons/Restaurant';\r\nimport LocalPhoneIcon from '@material-ui/icons/LocalPhone';\r\nimport AccountCircleIcon from '@material-ui/icons/AccountCircle';\r\nimport EventsDialog from './EventsDialog';\r\nimport axiosInstance from '../config/axiosConfig';\r\nimport UndoIcon from '@material-ui/icons/Undo';\r\nimport ClearIcon from '@material-ui/icons/Clear';\r\nimport { toast } from 'react-toastify';\r\nimport { TextField } from '@material-ui/core';\r\nimport { useTheme } from '@material-ui/core';\r\nconst useStyles = makeStyles((theme) => ({\r\n container: {\r\n overflowX: 'auto',\r\n overflowY:'auto',\r\n height: 0.7*window.innerHeight,\r\n minWidth: '60vw'\r\n // backgroundColor: '#212227'\r\n },\r\n\r\n table: {\r\n border: '1px transparent',\r\n // backgroundColor: '#212227',\r\n },\r\n\r\n userGrid: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'flex-start',\r\n },\r\n\r\n flexRowGrid: {\r\n display: 'flex',\r\n flexDirection: 'row', \r\n justifyContent:'center'\r\n },\r\n\r\n flexColumnGrid: {\r\n display: 'flex',\r\n flexDirection: 'column', \r\n justifyContent:'center'\r\n },\r\n\r\n hcells: {\r\n // backgroundColor: '#f5f3f4',\r\n border: '1px transparent',\r\n alignItems: 'flex-start'\r\n },\r\n\r\n }));\r\n\r\nconst QueueTable = ({queue, setUserToSend, setOpenMessage, dequeue, setOpen, history, range, refresh}) => {\r\n const theme = useTheme();\r\n const classes = useStyles();\r\n const [openEvents, setOpenEvents] = useState(false);\r\n const [events, setEvents] = useState(null);\r\n const [edit, setEdit] = useState({});\r\n const [people, setPeople] = useState(null)\r\n const [vaccinated, setVaccinated] = useState(null)\r\n\r\n console.log(process.env.REACT_APP_QMS_DOMAIN)\r\n console.log('Process env', process.env)\r\n\r\n const getBadge = (key, color, rowColor, message) => {\r\n const style = rowColor ? {color: theme.palette.text.primary} : {color:color};\r\n // console.log(key)\r\n switch(key){\r\n case 'Active': \r\n return \r\n \r\n case 'Pending':\r\n return \r\n \r\n \r\n \r\n case 'UCancelled':\r\n case 'QCancelled':\r\n return \r\n \r\n case 'Resolved':\r\n return \r\n \r\n case 'Incoming': \r\n return < DoneIcon/>\r\n default:\r\n return \r\n }\r\n }\r\n\r\n const handleSendMessages = (customerObject) => {\r\n setUserToSend(customerObject);\r\n setOpenMessage(true)\r\n }\r\n\r\n const displayEvents = (requestID) => {\r\n axiosInstance.get('/getevents', { params: {\r\n requestID: requestID\r\n }})\r\n .then(res => {\r\n setEvents(res.data);\r\n setOpenEvents(true);\r\n })\r\n .catch(err => {\r\n console.log(err)\r\n })\r\n }\r\n\r\n const givePriority = (requestID) => {\r\n axiosInstance.post('/givepriority', {\r\n requestID: requestID,\r\n rangeID: range\r\n })\r\n .then(res => {\r\n refresh();\r\n })\r\n .catch(err => {\r\n console.log(err)\r\n })\r\n }\r\n\r\n const takePriority = requestID => {\r\n axiosInstance.post('/takepriority', {\r\n requestID: requestID,\r\n rangeID: range\r\n })\r\n .then(res => {\r\n refresh();\r\n })\r\n .catch(err => {\r\n console.log(err)\r\n })\r\n }\r\n\r\n const reEnqueue = (requestID, firstName) => {\r\n console.log(process.env.REACT_APP_QMS_DOMAIN)\r\n axiosInstance.post('/reenqueue', {\r\n requestID: requestID,\r\n queueID: 1\r\n })\r\n .then(res => {\r\n const response = res.data[0]\r\n response.Status === 'Success' ? toast.success(`${firstName} ${response.Result}`) : toast.error(`${firstName} ${response.Result}`)\r\n refresh();\r\n })\r\n .catch(err => {\r\n if(err.response)\r\n err.response.status === 403 ? toast.error(`${err.response.data.message}`) : toast.error(\"Something went wrong\");\r\n refresh();\r\n })\r\n }\r\n\r\n const handleClearQueue = () => {\r\n const confirmation = window.confirm(\"Η ουρά θα αδειάσει χωρίς οι χρήστες να λάβουν ειδοποίηση, είστε σίγουρος/η;\");\r\n if(confirmation){\r\n axiosInstance.get('/clearqueue', {\r\n parameters: {\r\n queueID: 1\r\n }\r\n })\r\n .then(res => {\r\n refresh();\r\n })\r\n .catch(error => {\r\n toast.error(error.response.data.message);\r\n })\r\n }\r\n \r\n }\r\n\r\n const undoClearQueue = () => {\r\n const confirmation = window.confirm(\"Ο καθαρισμός της ουράς θα αναιρεθεί, είστε σίγουρος/η;\");\r\n if(confirmation){\r\n axiosInstance.get('/undoclearqueue', {\r\n parameters: {\r\n queueID: 1\r\n }\r\n })\r\n .then(res => {\r\n refresh();\r\n })\r\n .catch(error => {\r\n toast.error(error.response.data.message);\r\n })\r\n }\r\n \r\n }\r\n\r\n const editPeople = (item) => {\r\n axiosInstance.post('/editpeople', {\r\n requestID: item.ID,\r\n queueID:1,\r\n people: people || item.People,\r\n vaccinated: vaccinated\r\n })\r\n .then(res => {\r\n setEdit(prev => ({...prev, [item.ID]:false}))\r\n const response = res.data[0]\r\n response.Status === 'Success' ? toast.success(`Successfully updated`) : toast.error(`${response.Result}`)\r\n refresh()\r\n })\r\n .catch(err => {\r\n if(err.response)\r\n err.response.status === 403 ? toast.error(`${err.response.data.message}`) : toast.error(\"Something went wrong\");\r\n refresh();\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n setOpen(true)} handleClearQueue={handleClearQueue} undoClearQueue={undoClearQueue} history={history} empty={queue?.length === 0}/>\r\n \r\n \r\n \r\n \r\n \r\n \r\n #\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Σχόλια\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Κατάσταση\r\n \r\n \r\n \r\n \r\n Εμβολιασμός\r\n \r\n \r\n \r\n \r\n Ενέργειες\r\n \r\n \r\n \r\n \r\n \r\n {queue.map((item) => {\r\n return displayEvents(item.ID)} style={{backgroundColor:(item.RowColor ? item.RowColor : null)}}>\r\n \r\n \r\n \r\n \r\n {item.Position}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {item.FirstName}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {item.CellPhone}\r\n \r\n\r\n \r\n\r\n \r\n \r\n {item.Comments}\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n {item.DateCreated}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n { `${item.ElapsedTime}'`}\r\n \r\n \r\n \r\n \r\n\r\n { if(edit[item.ID]) e.stopPropagation()}}>\r\n \r\n {edit[item.ID] ?\r\n setPeople(e.target.value)}\r\n style={{width: 65}}\r\n />\r\n :\r\n \r\n {item.People}\r\n }\r\n \r\n \r\n\r\n \r\n {getBadge(item.Status, item.Color, item.RowColor, `${item.TimeSinceFirstNotification}' passed since first notified`)}\r\n \r\n\r\n \r\n {edit[item.ID] ?\r\n {e.stopPropagation(); e.preventDefault(); setVaccinated(prev => !prev)}}\r\n />\r\n :\r\n \r\n {item?.Vaccinated === null ? '' : ((item?.Vaccinated === true) ? 'Ναι' : 'Οχι') }\r\n \r\n } \r\n \r\n\r\n \r\n \r\n \r\n { history ? \r\n \r\n {reEnqueue(item.ID, item.FirstName)}} onDoubleClick={(e) => e.stopPropagation()}>\r\n \r\n \r\n :\r\n \r\n {!edit[item.ID] && <>\r\n \r\n takePriority(item.ID)} onDoubleClick={(e) => e.stopPropagation()}>\r\n \r\n \r\n \r\n \r\n givePriority(item.ID)} onDoubleClick={(e) => e.stopPropagation()}>\r\n \r\n \r\n \r\n \r\n handleSendMessages({customerID: item.CustomerID, deviceToken: item.DeviceToken, requestID: item.ID})} \r\n onDoubleClick={(e) => e.stopPropagation()}\r\n > \r\n \r\n \r\n \r\n \r\n {dequeue(item.ID, 'Resolved')}} onDoubleClick={(e) => e.stopPropagation()}>\r\n \r\n \r\n \r\n }\r\n \r\n {edit[item.ID] ? \r\n {editPeople(item)}} onDoubleClick={(e) => e.stopPropagation()}>\r\n \r\n \r\n : \r\n \r\n {console.log('setEdit', item.ID); setVaccinated(item?.Vaccinated); setEdit(prev => ({...prev, [item.ID]: true}))}} onDoubleClick={e => e.stopPropagation()}>\r\n \r\n \r\n }\r\n \r\n {edit[item.ID] ? \r\n {console.log('cancelEdit', item.ID); setEdit(prev => ({...prev, [item.ID]: false}))}} onDoubleClick={e => e.stopPropagation()}>\r\n \r\n \r\n \r\n :\r\n \r\n {dequeue(item.ID, 'QCancelled')}} onDoubleClick={(e) => e.stopPropagation()}>\r\n \r\n \r\n }\r\n }\r\n \r\n \r\n \r\n\r\n\r\n \r\n})}\r\n \r\n
\r\n
\r\n
)\r\n\r\n}\r\n\r\n\r\nexport default QueueTable;","import React, { useState } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport CreateIcon from '@material-ui/icons/Create';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n textField : {\r\n margin:2\r\n }\r\n}))\r\n\r\nconst CustomerForm = ({error, helperText,cellPhone, setCellPhone, setActiveStep, handleChange, handleCustomerSearch, getCustomerByCellPhone, addCustomer}) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n handleChange(e,setCellPhone)}\r\n onKeyPress={handleCustomerSearch}\r\n className={classes.textField}\r\n />\r\n \r\n {/* handleChange(e,setFirstName)}\r\n className={classes.textField}\r\n /> */}\r\n \r\n getCustomerByCellPhone(cellPhone)}>\r\n \r\n \r\n \r\n\r\n {/* addCustomer(firstName, cellPhone)}>\r\n \r\n \r\n \r\n */}\r\n \r\n )\r\n \r\n}\r\n\r\nexport default CustomerForm;","import React, { useState } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { Checkbox, FormControlLabel } from '@material-ui/core';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n textField : {\r\n margin:2\r\n }\r\n}))\r\n\r\nconst CustomerForm = ({error, people, helperText, setPeople, comments, setComments, handleChange, vaccination, setVaccination}) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n handleChange(e,setPeople)}\r\n className={classes.textField}\r\n />\r\n handleChange(e,setComments)}\r\n className={classes.textField}\r\n />\r\n {console.log(e.target.value); setVaccination(prev => !prev)}}\r\n />}\r\n label='Vaccination'\r\n />\r\n \r\n )\r\n \r\n}\r\n\r\nexport default CustomerForm;","import React, { useState } from 'react';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport TextField from '@material-ui/core/TextField';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Tooltip from '@material-ui/core/Tooltip';\r\nimport IconButton from '@material-ui/core/IconButton';\r\nimport CreateIcon from '@material-ui/icons/Create';\r\n\r\nconst useStyles = makeStyles(() => ({\r\n textField : {\r\n margin:2\r\n }\r\n}))\r\n\r\nconst CustomerForm = ({error, helperText, firstName, setFirstName, cellPhone, lastName, setLastName, email, setEmail, noSuchUser , handleChange, addCustomer}) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n handleChange(e,setFirstName)}\r\n className={classes.textField}\r\n />\r\n \r\n \r\n handleChange(e,setLastName)}\r\n className={classes.textField}\r\n />\r\n \r\n \r\n \r\n handleChange(e,setEmail)}\r\n className={classes.textField}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {noSuchUser ? \r\n addCustomer(firstName, cellPhone, lastName, email)}>\r\n \r\n \r\n \r\n \r\n : null}\r\n \r\n \r\n )\r\n \r\n}\r\n\r\nexport default CustomerForm;","import React, { useState } from 'react';\r\nimport { makeStyles, useTheme } from '@material-ui/core';\r\nimport Button from '@material-ui/core/Button';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Dialog from '@material-ui/core/Dialog';\r\nimport DialogActions from '@material-ui/core/DialogActions';\r\nimport DialogContent from '@material-ui/core/DialogContent';\r\nimport DialogContentText from '@material-ui/core/DialogContentText';\r\nimport DialogTitle from '@material-ui/core/DialogTitle';\r\nimport Stepper from '@material-ui/core/Stepper';\r\nimport Step from '@material-ui/core/Step';\r\nimport StepLabel from '@material-ui/core/StepLabel';\r\nimport axiosInstance from '../../config/axiosConfig';\r\nimport CustomerForm from './CustomerForm';\r\nimport EnqueueForm from './EnqueueForm';\r\nimport CreateOrVerifyForm from './CreateOrVerifyForm';\r\n\r\nexport default function FormDialog({open, setOpen, refresh}) {\r\n const [cellPhone, setCellPhone] = useState('');\r\n const [people, setPeople] = useState('');\r\n const [comments, setComments] = useState('');\r\n const [firstName, setFirstName] = useState('');\r\n const [lastName, setLastName] = useState('');\r\n const [vaccination, setVaccination] = useState(false)\r\n const [email, setEmail] = useState('');\r\n const [error, setError] = useState(false);\r\n const [helperText, setHelperText] = useState(\"\");\r\n const [userOK, setUserOK] = React.useState(false);\r\n const [noSuchUser, setNoSuchUser] = useState(false);\r\n const [activeStep, setActiveStep] = React.useState(0);\r\n\r\n const handleChange = (event, setter) => {\r\n setter(event.target.value);\r\n }\r\n\r\n // const handleCommentsChange = (event) => {\r\n // setComments(event.target.value);\r\n // }\r\n\r\n // const handleCellChange = (event) => {\r\n // setCellPhone(event.target.value);\r\n // };\r\n\r\n // const handleNameChange = (event) => {\r\n // setFirstName(event.target.value);\r\n // };\r\n\r\n // const handlePeopleChange = (event) => {\r\n // setPeople(event.target.value);\r\n // }\r\n\r\n const handleClear = () => {\r\n switch(activeStep){\r\n case 1:\r\n setNoSuchUser(false);\r\n setFirstName('');\r\n setLastName('');\r\n setEmail('');\r\n setPeople('');\r\n setComments('');\r\n break;\r\n\r\n case 2:\r\n setPeople('');\r\n setComments('');\r\n setVaccination(false)\r\n break;\r\n }\r\n \r\n }\r\n\r\n const handleClose = () => {\r\n setNoSuchUser(false);\r\n setActiveStep(0);\r\n setPeople('');\r\n setCellPhone('');\r\n setComments('');\r\n setFirstName('');\r\n setOpen(false);\r\n setHelperText(\"\");\r\n setError(false);\r\n };\r\n\r\n const handleCustomerSearch = (e) => {\r\n if(!e || e.key === 'Enter'){\r\n getCustomerByCellPhone(cellPhone);\r\n }\r\n }\r\n\r\n const getCustomerByCellPhone = async (cellPhone) => {\r\n await axiosInstance.get('/getCustomerByCellPhone', { params: {cellPhone: cellPhone } })\r\n .then(res => {\r\n const data = res.data[0];\r\n if(data.error)\r\n {\r\n if(data.error === 'No such customer'){\r\n setNoSuchUser(true)\r\n setActiveStep(prev=>prev+1)\r\n }\r\n else {\r\n setError(true);\r\n setHelperText(data.error);\r\n }\r\n }\r\n else\r\n {\r\n setError(false);\r\n setHelperText('')\r\n setNoSuchUser(false);\r\n setFirstName(data.FirstName);\r\n setLastName(data.LastName || '');\r\n setEmail(data.Email || '');\r\n setActiveStep(prev=>prev+1)\r\n }\r\n })\r\n .catch(err => {\r\n setError(true);\r\n setHelperText('Something went wrong, check your internet connection or try again');\r\n })\r\n }\r\n\r\n const addUserToQ = async (cellPhone, people, comments, vaccination) => {\r\n setHelperText(\"\");\r\n setError(false);\r\n await axiosInstance.post('/addusertoq', {\r\n cellPhone: cellPhone,\r\n people: parseInt(people),\r\n queueID: 1,\r\n comments: comments,\r\n vaccinated: vaccination\r\n })\r\n .then(res => {\r\n handleClose();\r\n refresh();\r\n console.log(res.data)\r\n })\r\n .catch(err => {\r\n /* Hofix, needs to be properly fixed sending if user is created or exists */\r\n console.log('Error', err.response.data)\r\n if(err.response.data.message === 'Σφάλμα μετάδοσης ειδοποίησης'){\r\n handleClose();\r\n refresh();\r\n }\r\n else{\r\n setError(true);\r\n setHelperText(err.response.data.message);\r\n }\r\n \r\n })\r\n }\r\n\r\n const addCustomer = async (firstName, cellPhone, lastName, email) => {\r\n setHelperText(\"\");\r\n setError(false);\r\n await axiosInstance.post('/register', {\r\n cellPhone: cellPhone,\r\n firstName: firstName,\r\n lastName: lastName,\r\n email: email,\r\n deviceToken: 'NotAvailable'\r\n })\r\n .then(res => {\r\n if(res.data[0].error)\r\n {\r\n setError(true);\r\n setHelperText(res.data[0].error);\r\n }\r\n else\r\n {\r\n setActiveStep(prev=>prev+1)\r\n // addUserToQ(cellPhone, people, comments)\r\n // handleClose();\r\n // refresh();\r\n console.log(res.data)\r\n }\r\n })\r\n .catch(err => {setError(true); setHelperText('')})\r\n }\r\n\r\n const handleSubmit = () => {\r\n if(userOK)\r\n addUserToQ(cellPhone, people, comments, vaccination)\r\n if(noSuchUser)\r\n addCustomer(firstName, cellPhone);\r\n }\r\n\r\n return (\r\n \r\n Βάλε χρήστη στην ουρά\r\n \r\n {/* \r\n Enqueue user manually\r\n */}\r\n \r\n\r\n \r\n \r\n \r\n \r\n Αναζήτηση κινητού πελάτη\r\n \r\n \r\n \r\n \r\n {noSuchUser ? 'Δημιουργία πελάτη' : 'Επιβεβαίωση πελάτη'}\r\n \r\n \r\n \r\n \r\n Enqueue customer\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{\r\n 0: ,\r\n \r\n 1: ,\r\n\r\n 2: \r\n }[activeStep]\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{\r\n 0 : <>,\r\n\r\n 1: \r\n \r\n {noSuchUser ? null : \r\n \r\n }\r\n ,\r\n 2: \r\n \r\n \r\n ,\r\n }[activeStep]\r\n }\r\n \r\n \r\n \r\n );\r\n}","import axiosConfig from '../config/axiosConfig'\r\nimport { toast } from \"react-toastify\";\r\n\r\n//import auth from './authService';\r\n\r\n// axiosConfig.interceptors.response.use(null, (error) => {\r\n// const expectedError =\r\n// error.response &&\r\n// error.response.status >= 400 &&\r\n// error.respone.status < 500;\r\n\r\n// if (!expectedError) {\r\n// console.log(\"logging the error\", error);\r\n// alert(\"An unexpected error occurred:\" + error);\r\n// }\r\n// return Promise.reject(error);\r\n// });\r\n\r\nexport function setToken(token) {\r\n axiosConfig.defaults.token = token;\r\n}\r\n\r\nexport function setUserId(userId) {\r\n axiosConfig.defaults.userId = userId;\r\n}\r\n\r\nexport function setSessionGuid(sessionGuid) {\r\n axiosConfig.defaults.sessionGuid = sessionGuid;\r\n}\r\n\r\n// export async function getData(dataKey, parameters, apiData = {}) {\r\n// return await callApi(process.env.REACT_APP_BASEURL + config.apiEndPointGetData, dataKey, parameters, apiData)\r\n// .then(res => res)\r\n// .catch(err => {\r\n// console.error(err);\r\n// throw err\r\n// })\r\n// }\r\n\r\n// async function callApi(apiEndPoint, dataKey, parameters, apiData = {}) {\r\n// try {\r\n// const body = {\r\n// sessionGuid: Axios.defaults.sessionGuid,\r\n// userId: Axios.defaults.userId, //auth.getUserId(),\r\n// dataKey: dataKey,\r\n// parameters: JSON.stringify(parameters),\r\n// data: JSON.stringify(apiData),\r\n// status: null,\r\n// token: Axios.defaults.token, // auth.getJwt() //,\r\n// };\r\n\r\n// const headers = {\r\n// post: { \"Content-Type\": \"application/json\" },\r\n// };\r\n\r\n// const response = await Axios.post(apiEndPoint, body, headers);\r\n// const { data } = response;\r\n// if (data.status === config.apiStatusOK || data.status === config.apiStatusNoChanges) {\r\n// data.data = JSON.parse(data.data);\r\n// data.parameters = JSON.parse(data.parameters);\r\n// }\r\n// return data;\r\n// } catch (err) {\r\n// console.log('User printed error:\\n', err.response)\r\n// if(!err.response){\r\n// throw {\r\n// message:'Server is not responding',\r\n// response: null\r\n// };\r\n// }\r\n// switch(err.response.status){\r\n// case 401:\r\n// throw {\r\n// message:'Authorization failed',\r\n// response: err.response\r\n// };\r\n \r\n// default:\r\n// throw {\r\n// message:'An error has occured',\r\n// response: err.response\r\n// };;\r\n// }\r\n// } finally {\r\n// }\r\n// }\r\n\r\nconst http = {\r\n get: axiosConfig.get,\r\n post: axiosConfig.post,\r\n put: axiosConfig.put,\r\n delete: axiosConfig.delete,\r\n setToken,\r\n setUserId,\r\n setSessionGuid,\r\n};\r\n\r\nexport default http;","import axios from 'axios';\r\n\r\nexport default axios.create({\r\n baseURL: 'https://qmsrv.qubiteq.gr/Auth',\r\n timeout: 5000,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json',\r\n }\r\n});\r\n","import jwtDecode from \"jwt-decode\";\r\nimport http from \"./httpService\";\r\nimport axiosConfigAuth from '../config/axiosConfigAuth'\r\n\r\nconst tokenKey = \"token\";\r\nconst userKey = \"userId\";\r\nconst sessionKey = \"sessionGuid\";\r\n\r\nhttp.setToken(getJwt());\r\nhttp.setUserId(getUserId());\r\nhttp.setSessionGuid(getSessionGuid());\r\n\r\n\r\nexport async function login(username, password) {\r\n return await axiosConfigAuth.post('/Login', {username: username, password: password})\r\n .then(res => {\r\n if(res.data.Result){\r\n throw res.data.Result\r\n }\r\n else if( res.data.token){\r\n http.setToken(res.data.token);\r\n loginWithJwt(res.data.token);\r\n }\r\n return res\r\n })\r\n .catch(err => {throw err})\r\n // if(username==='sardelaki' && password==='sardelakidemo123!'){\r\n // const token = \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE2MjM0MzM4MzgsImV4cCI6MTYyMzQ0MTAzOCwiaWF0IjoxNjIzNDMzODM4fQ.QsJ0davLYIfA72l9xCEqqu7wkkzNFwNgd3cgawyxDSs\";\r\n // http.setToken(token);\r\n // loginWithJwt(token);\r\n // return token\r\n // }\r\n}\r\n\r\nexport function loginWithJwt(jwt) {\r\n localStorage.setItem(tokenKey, jwt);\r\n}\r\n\r\nexport function logout() {\r\n localStorage.removeItem(tokenKey);\r\n localStorage.removeItem(userKey);\r\n localStorage.removeItem(sessionKey);\r\n localStorage.removeItem('tabsOpen');\r\n}\r\n\r\nexport function getCurrentUser() {\r\n try {\r\n const jwt = localStorage.getItem(tokenKey) || sessionStorage.getItem(tokenKey);\r\n return jwtDecode(jwt);\r\n } catch (ex) {\r\n return null;\r\n }\r\n}\r\n\r\nexport function getJwt() {\r\n return localStorage.getItem(tokenKey) || sessionStorage.getItem(tokenKey);\r\n}\r\n\r\nexport function getUserId() {\r\n return localStorage.getItem(userKey) || sessionStorage.getItem(userKey);\r\n}\r\n\r\nexport function getSessionGuid() {\r\n return localStorage.getItem(sessionKey) || sessionStorage.getItem(sessionKey);\r\n}\r\n\r\nconst auth = {\r\n login,\r\n loginWithJwt,\r\n logout,\r\n getCurrentUser,\r\n getJwt\r\n //getUserId,\r\n //getSessionGuid,\r\n};\r\nexport default auth;","import React from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport ClickAwayListener from '@material-ui/core/ClickAwayListener';\r\nimport Grow from '@material-ui/core/Grow';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Popper from '@material-ui/core/Popper';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport MenuList from '@material-ui/core/MenuList';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport auth from '../Services/authService';\r\nimport {useHistory} from 'react-router-dom'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: 'flex',\r\n },\r\n paper: {\r\n marginRight: theme.spacing(2),\r\n zIndex: 10\r\n },\r\n}));\r\n\r\nexport default function UserMenu({open, setOpen, anchorRef}) {\r\n const classes = useStyles();\r\n const history = useHistory();\r\n\r\n const handleClose = (event) => {\r\n if (anchorRef.current && anchorRef.current.contains(event.target)) {\r\n return;\r\n }\r\n\r\n setOpen(false);\r\n };\r\n\r\n function handleListKeyDown(event) {\r\n if (event.key === 'Tab') {\r\n event.preventDefault();\r\n setOpen(false);\r\n }\r\n }\r\n\r\n // return focus to the button when we transitioned from !open -> open\r\n const prevOpen = React.useRef(open);\r\n React.useEffect(() => {\r\n if (prevOpen.current === true && open === false) {\r\n anchorRef.current.focus();\r\n }\r\n\r\n prevOpen.current = open;\r\n }, [open]);\r\n\r\n return (\r\n // \r\n // Toggle Menu Grow\r\n // \r\n \r\n {({ TransitionProps, placement }) => (\r\n \r\n \r\n \r\n \r\n Profile\r\n {auth.logout(); history.push('/login')}}>Logout\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n}","import React from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport ClickAwayListener from '@material-ui/core/ClickAwayListener';\r\nimport Grow from '@material-ui/core/Grow';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Popper from '@material-ui/core/Popper';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport MenuList from '@material-ui/core/MenuList';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { IconButton, Typography } from '@material-ui/core';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\nimport ClearIcon from '@material-ui/icons/Clear';\r\nimport Grid from '@material-ui/core/Grid'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: 'flex',\r\n },\r\n paper: {\r\n marginRight: theme.spacing(2),\r\n zIndex: 10\r\n },\r\n}));\r\n\r\nexport default function MenuPopper({open, setOpen, anchorRef, list}) {\r\n const classes = useStyles();\r\n\r\n const handleClose = (event) => {\r\n if (anchorRef.current && anchorRef.current.contains(event.target)) {\r\n return;\r\n }\r\n\r\n setOpen(false);\r\n };\r\n\r\n function handleListKeyDown(event) {\r\n if (event.key === 'Tab') {\r\n event.preventDefault();\r\n setOpen(false);\r\n }\r\n }\r\n\r\n // return focus to the button when we transitioned from !open -> open\r\n const prevOpen = React.useRef(open);\r\n React.useEffect(() => {\r\n if (prevOpen.current === true && open === false) {\r\n anchorRef.current.focus();\r\n }\r\n\r\n prevOpen.current = open;\r\n }, [open]);\r\n\r\n return (\r\n // \r\n // Toggle Menu Grow\r\n // \r\n \r\n {({ TransitionProps, placement }) => (\r\n \r\n \r\n \r\n \r\n {list.map(item => (\r\n \r\n \r\n \r\n \r\n {item.FirstName}\r\n \r\n \r\n {item.CellPhone}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n}","import React from 'react';\r\nimport Button from '@material-ui/core/Button';\r\nimport ClickAwayListener from '@material-ui/core/ClickAwayListener';\r\nimport Grow from '@material-ui/core/Grow';\r\nimport Paper from '@material-ui/core/Paper';\r\nimport Popper from '@material-ui/core/Popper';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport MenuList from '@material-ui/core/MenuList';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport { IconButton, Typography } from '@material-ui/core';\r\nimport CheckIcon from '@material-ui/icons/Check';\r\nimport ClearIcon from '@material-ui/icons/Clear';\r\nimport Grid from '@material-ui/core/Grid'\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: 'flex',\r\n },\r\n paper: {\r\n marginRight: theme.spacing(2),\r\n zIndex: 10\r\n },\r\n}));\r\n\r\nexport default function NotificationsPopper({open, setOpen, anchorRef, list}) {\r\n const classes = useStyles();\r\n\r\n const handleClose = (event) => {\r\n if (anchorRef.current && anchorRef.current.contains(event.target)) {\r\n return;\r\n }\r\n\r\n setOpen(false);\r\n };\r\n\r\n function handleListKeyDown(event) {\r\n if (event.key === 'Tab') {\r\n event.preventDefault();\r\n setOpen(false);\r\n }\r\n }\r\n\r\n // return focus to the button when we transitioned from !open -> open\r\n const prevOpen = React.useRef(open);\r\n React.useEffect(() => {\r\n if (prevOpen.current === true && open === false) {\r\n anchorRef.current.focus();\r\n }\r\n\r\n prevOpen.current = open;\r\n }, [open]);\r\n\r\n React.useEffect(() => {\r\n \r\n },[])\r\n\r\n return (\r\n // \r\n // Toggle Menu Grow\r\n // \r\n \r\n {({ TransitionProps, placement }) => (\r\n \r\n \r\n \r\n \r\n {list.map((item, row) => (\r\n \r\n \r\n \r\n \r\n {item.FirstName}\r\n \r\n \r\n {item.CellPhone}\r\n \r\n \r\n {` ${item.Answer}`}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n}","import { Typography } from '@material-ui/core';\r\nimport React from 'react'\r\n\r\nvar months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\nvar days = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\r\n\r\nconst Clock = props => {\r\n const [date, setDate] = React.useState(new Date());\r\n \r\n React.useEffect(() => {\r\n var timerID = setInterval( () => tick(), 1000 );\r\n return function cleanup() {\r\n clearInterval(timerID);\r\n };\r\n });\r\n \r\n function tick() {\r\n setDate(new Date());\r\n }\r\n \r\n return (\r\n \r\n {`${days[date.getDay()]} ${date.getDate()} ${months[date.getMonth()]} ${date.getHours() < 10 ? 0 : ''}${date.getHours()}:${date.getMinutes() < 10 ? 0 : ''}${date.getMinutes()}`}\r\n \r\n );\r\n }\r\n \r\nexport default Clock;\r\n ","import React, { useState, useEffect } from \"react\";\r\nimport socketIOClient from \"socket.io-client\";\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { makeStyles } from '@material-ui/core/styles';\r\nimport axiosInstance from \"../config/axiosConfig\";\r\nimport MessageDialog from './MessageDialog';\r\nimport QueueTable from '../components/QueueTable';\r\nimport Typography from '@material-ui/core/Typography';\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Badge from '@material-ui/core/Badge';\r\nimport ToggleButton from '@material-ui/lab/ToggleButton';\r\nimport ToggleButtonGroup from '@material-ui/lab/ToggleButtonGroup';\r\nimport HistoryIcon from '@material-ui/icons/History';\r\nimport RestaurantMenuIcon from '@material-ui/icons/RestaurantMenu';\r\nimport AddUserDialog from './ManualEnqueueDialog/AddUserDialog';\r\nimport PersonAddIcon from '@material-ui/icons/PersonAdd';\r\nimport Divider from '@material-ui/core/Divider'\r\nimport NotificationsIcon from '@material-ui/icons/Notifications';\r\nimport { withStyles } from '@material-ui/core/styles';\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport UserMenu from './UserMenu';\r\nimport MenuPopper from './MenuPopper';\r\nimport { Tooltip } from \"@material-ui/core\";\r\nimport { toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport '../static/styles/toastStyles.css';\r\nimport NotificationsPopper from \"./NotificationsPopper\";\r\nimport { HubConnectionBuilder, HttpTransportType } from '@microsoft/signalr';\r\nimport Brightness4Icon from '@material-ui/icons/Brightness4';\r\nimport Clock from \"./Common/Clock\";\r\n\r\nconst StyledBadge = withStyles((theme) => ({\r\n badge: {\r\n right: -5,\r\n top: 5,\r\n border: `2px solid ${theme.palette.background.paper}`,\r\n padding: '0 4px',\r\n },\r\n}))(Badge);\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n\r\n root: {\r\n flexGrow:1,\r\n backgroundColor: theme.palette.background.root\r\n },\r\n\r\n\r\n queue: {\r\n overflow: 'auto',\r\n // backgroundColor: 'blue'\r\n },\r\n\r\n queueItem: {\r\n width: '60%',\r\n height: '10%',\r\n },\r\n\r\n buttonsGrid: {\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n justifyContent: 'space-evenly',\r\n width: \"40vw\",\r\n marginBottom: 15\r\n },\r\n\r\n button:{\r\n // backgroundColor: '#f5f3f4',\r\n margin:15\r\n }\r\n}))\r\n\r\nfunction QueueControl({lightTheme, setLightTheme}) {\r\n // console.log(setLightTheme)\r\n const classes = useStyles();\r\n const [queue, setQueue] = useState([]);\r\n const [range, setRange] = useState(0);\r\n const [messages, setMessages] = useState([]);\r\n const [openMessage, setOpenMessage] = useState(false);\r\n const [usersToAccept, setUsersToAccept] = useState([1]);\r\n const [userToSend, setUserToSend] = useState(null);\r\n const [history, setHistory ] = useState(null);\r\n const [openUser, setOpenUser] = useState(false);\r\n const [openNavMenu, setOpenNavMenu] = useState(false);\r\n const [openUserList, setOpenUserList] = useState(false);\r\n const [openNotifications, setOpenNotifications] = useState(false);\r\n const [notifications, setNotifications] = useState([]);\r\n const [notificationsLen, setNotificationsLen] = useState(0);\r\n const [connection, setConnection] = useState(null)\r\n\r\n const notificationsAnchorRef = React.useRef(null);\r\n\r\n const ulAnchorRef = React.useRef(null);\r\n /* For popper navbar menu */\r\n const navAnchorRef = React.useRef(null);\r\n\r\n /* For popper navbar menu */\r\n const handleToggle = (setter) => {\r\n setter((prevOpen) => !prevOpen);\r\n };\r\n\r\n const getQueue = async (rangeID) => {\r\n setRange(rangeID);\r\n await axiosInstance.get('/getqueue', { params: { rangeID:rangeID, queueID: 1}})\r\n .then(res => {\r\n console.log(res)\r\n if(res.data === ''){\r\n // toast('Η ουρά είναι άδεια');\r\n setQueue([])\r\n }\r\n else\r\n setQueue(res.data) \r\n })//setQueue(res.data.queue)})\r\n .catch(err => console.log(err))\r\n }\r\n\r\n const getMessages = async () => {\r\n await axiosInstance.get('/getmessages', {params: { storeID: 1}})\r\n .then(res => setMessages(res.data))//setMessages(res.data))\r\n .catch(err => console.log(err))\r\n }\r\n\r\n const dequeue = async (requestID, status) => {\r\n const confirmation = window.confirm(\"Ο πελάτης θα ενημερωθεί για την αποχώρησή του απο την ουρά, είστε σίγουρος/η;\");\r\n if(confirmation){\r\n return await axiosInstance.post('/dequeue', {\r\n requestID: requestID,\r\n status: status,\r\n rangeID: range,\r\n queueID: 1\r\n })\r\n .then(res => {\r\n console.log(res)\r\n getQueue(range)\r\n })\r\n .catch(err => {\r\n toast.error(`${err.response.data.message}`);\r\n })\r\n }\r\n }\r\n\r\n const handleAcceptUser = async (user) => {\r\n return await axiosInstance.post('/enqueueAccept', user)\r\n .then(res => {\r\n console.log(res);\r\n getQueue(range)\r\n })\r\n .catch(err => {\r\n console.log(err)\r\n })\r\n }\r\n\r\n const getHistory = async (history, range) => {\r\n await axiosInstance.get('/gethistory', { params: { historyType: history, rangeID: range, queueID: 1}})\r\n .then(res => {\r\n if(res.data === ''){\r\n // toast('Η ουρά είναι άδεια');\r\n setQueue([])\r\n }\r\n else\r\n setQueue(res.data)\r\n })\r\n .catch(err => console.log(err))\r\n }\r\n\r\n const refresh = () => {\r\n if(history)\r\n getHistory(history,range)\r\n else\r\n getQueue(range);\r\n }\r\n\r\n useEffect( () => {\r\n \r\n getQueue(0);\r\n \r\n getMessages();\r\n\r\n const newConnection = new HubConnectionBuilder()\r\n .withUrl('https://qmsrv.qubiteq.gr/subscribe')\r\n .withAutomaticReconnect()\r\n .build();\r\n\r\n setConnection(newConnection);\r\n\r\n /* const socket = socketIOClient(process.env.REACT_APP_SERVER_DOMAIN);\r\n\r\n socket.on(\"enqueue-accept\", data => {\r\n refresh();\r\n toast.info(`${data.FirstName} just got queued`)\r\n });\r\n \r\n socket.on(\"enqueue-request\", data => {\r\n setUsersToAccept(prev => [...prev, data]);\r\n toast.info('User requested to join')\r\n })\r\n\r\n socket.on('message-response', data => {\r\n console.log(data)\r\n refresh();\r\n\r\n const prev = notifications\r\n prev.unshift(data)\r\n console.log(prev)\r\n console.log('notifications before:',prev)\r\n setNotifications(prev)\r\n\r\n toast.info(`${data.FirstName} ${data.CellPhone} ${data.Answer}`)\r\n })\r\n\r\n socket.on(\"dequeue\", data => {\r\n console.log(data)\r\n refresh();\r\n data.Status === 'QCancelled' ? toast.error(`${data.FirstName} just got dequeued`) : toast.success(`${data.FirstName} is now seated`)\r\n })\r\n\r\n socket.on('refresh', () => {\r\n toast('User responded')\r\n })*/\r\n\r\n const savedNotifications = JSON.parse(localStorage.getItem('notifications'));\r\n\r\n if(notifications.length === 0 && savedNotifications && savedNotifications.length > 0){\r\n setNotifications(savedNotifications)\r\n }\r\n\r\n window.onbeforeunload = () => {\r\n if(notifications.length > 0)\r\n localStorage.setItem('notifications', JSON.stringify(notifications))\r\n }\r\n\r\n return () => {\r\n setMessages([]);\r\n setQueue([]);\r\n // socket.disconnect();\r\n localStorage.removeItem('notifications')\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (connection) {\r\n connection.start()\r\n .then(result => {\r\n console.log('Connected!');\r\n\r\n connection.on(\"EnqueueAccept\", stringData => {\r\n const data = JSON.parse(stringData)[0];\r\n if(data.Customer !== null)\r\n {\r\n refresh();\r\n toast.info(`${data.FirstName} just got queued`)\r\n }\r\n });\r\n\r\n connection.on(\"MessageResponse\", stringData => {\r\n const data = JSON.parse(stringData)[0];\r\n refresh();\r\n toast.info(`${data.FirstName} ${data.CellPhone} ${data.Answer}`)\r\n })\r\n\r\n connection.on(\"Dequeue\", stringData => {\r\n const data = JSON.parse(stringData)[0];\r\n refresh();\r\n data.Status === 'QCancelled' ? toast.error(`${data.FirstName} just got dequeued`) : toast.success(`${data.FirstName} is now seated`)\r\n })\r\n\r\n connection.on(\"ReEnqueue\", stringData => {\r\n const data = JSON.parse(stringData)[0];\r\n refresh();\r\n toast.success(`${data.FirstName} just got re-enqueued`)\r\n })\r\n })\r\n .catch(e => console.log('Connection failed: ', e));\r\n }\r\n}, [connection]);\r\n\r\n useEffect( () => {\r\n refresh()\r\n }, [range, history])\r\n \r\n\r\n return (\r\n \r\n \r\n \r\n {/* */}\r\n\r\n \r\n\r\n \r\n \r\n Queueme\r\n \r\n\r\n
\r\n\r\n {/* handleToggle(setOpenUserList)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n */}\r\n \r\n \r\n\r\n handleToggle(setOpenNotifications)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n handleToggle(setOpenNavMenu)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n {localStorage.setItem('theme', lightTheme ? 'dark': 'light'); setLightTheme(prev => !prev) }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n {setRange(nextRange)}}>\r\n \r\n \r\n All\r\n \r\n \r\n \r\n \r\n 1-4\r\n \r\n \r\n \r\n \r\n 5-6\r\n \r\n \r\n \r\n \r\n 6+\r\n \r\n \r\n \r\n\r\n {setHistory(nextHistory)}} style={{marginLeft: 20}}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default QueueControl;","import React from \"react\";\r\nimport { Route, Redirect } from \"react-router-dom\";\r\nimport auth from \"../../Services/authService\";\r\n\r\nconst ProtectedRoute = ({path, component: Component, render, ...rest}) => {\r\n console.log(rest)\r\n return (\r\n {\r\n if (!auth.getCurrentUser())\r\n return (\r\n \r\n );\r\n return Component ? : render(props);\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport default ProtectedRoute;","import React, { useState } from \"react\";\r\nimport auth from \"../../Services/authService\";\r\nimport Avatar from \"@material-ui/core/Avatar\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport LockOutlinedIcon from \"@material-ui/icons/LockOutlined\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { Redirect, useHistory } from \"react-router\";\r\nimport LinearProgress from '@material-ui/core/LinearProgress';\r\nimport { toast} from 'react-toastify'\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\n\r\nfunction Copyright() {\r\n return (\r\n \r\n {\"Copyright © \"}\r\n \r\n Qubiteq\r\n {\" \"}\r\n {new Date().getFullYear()}\r\n {\".\"}\r\n \r\n );\r\n}\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n minHeight: '85vh',\r\n },\r\n image: {\r\n backgroundRepeat: \"no-repeat\",\r\n backgroundColor:\r\n theme.palette.type === \"light\"\r\n ? theme.palette.grey[50]\r\n : theme.palette.grey[900],\r\n //backgroundSize: \"cover\",\r\n backgroundPosition: \"center\",\r\n },\r\n logo: {\r\n display: 'flex', \r\n margin: \"auto\",\r\n flexDirection: \"column\",\r\n alignItems: 'center', \r\n },\r\n\r\n gridItemPaper: {\r\n width: '30vw',\r\n minWidth:320,\r\n [theme.breakpoints.down('xs')]: {\r\n minWidth: 0,\r\n width: '100vw'\r\n }\r\n },\r\n\r\n paper: {\r\n margin: theme.spacing(8, 4),\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n alignItems: \"center\",\r\n },\r\n avatar: {\r\n margin: theme.spacing(1),\r\n backgroundColor: '#EE3434',\r\n },\r\n form: {\r\n marginTop: theme.spacing(1),\r\n\r\n },\r\n submit: {\r\n margin: theme.spacing(3, 0, 2),\r\n },\r\n}));\r\n\r\nexport default function LoginForm(props) {\r\n const [data, setData] = useState({\r\n userName: \"\",\r\n password: \"\",\r\n validateΕrr: \"\",\r\n });\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n const history = useHistory();\r\n \r\n const classes = useStyles();\r\n \r\n var handleSubmit = (e) => {\r\n setLoading(true);\r\n e.preventDefault();\r\n // const errors = this.validate();\r\n // this.setState({ errors: errors || {} });\r\n // if (errors) return;\r\n \r\n doSubmit();\r\n };\r\n \r\n var handleChange = ({ target: input }) => {\r\n const newData = { ...data };\r\n newData[input.name] = input.value;\r\n setData(newData);\r\n };\r\n \r\n var doSubmit = async () => {\r\n console.log('heher')\r\n auth.login(data.userName, data.password)\r\n .then(res => {\r\n console.log(res)\r\n if (!res) {\r\n let newData = { ...data };\r\n newData.validateΕrr = 'Failed to login';\r\n setData(newData);\r\n setError(true)\r\n setLoading(false)\r\n } else {\r\n history.push('/controlPanel')\r\n // const { state } = props.location;\r\n // window.location = state ? state.from.pathname : \"/ControlPanel\";\r\n }\r\n })\r\n .catch(err => {\r\n let newData = { ...data };\r\n newData.validateΕrr = err;\r\n setData(newData);\r\n setError(true)\r\n setLoading(false)\r\n })\r\n };\r\n \r\n return (\r\n auth.getCurrentUser() ? :\r\n \r\n \r\n \r\n {loading ? \r\n : null }\r\n
\r\n \r\n \r\n \r\n \r\n Sign in\r\n \r\n
\r\n handleChange(e)}\r\n error={error}\r\n />\r\n handleChange(e)}\r\n error={error}\r\n //autoComplete=\"current-password\"\r\n />\r\n }\r\n label=\"Remember me\"\r\n />\r\n \r\n Sign In\r\n \r\n \r\n \r\n \r\n \r\n \"\"\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n ","import React from 'react';\r\nimport '../static/styles/privacyPolicy.css'\r\n\r\nconst PrivacyPolicy = () => {\r\n return (\r\n
\r\n

Πολιτική Απορρήτου QUBITEQ IKE

\r\n

Μια από τις κύριες προτεραιότητές μας είναι το απόρρητο των επισκεπτών μας. Στο έγγραφο Πολιτικής Απορρήτου αναλύονται οι πληροφορίες που συλλέγονται και καταγράφονται από το queue me καθώς και ο τρόπος που χρησιμοποιούνται.

\r\n

Η Πολιτική Απορρήτου ισχύει μόνο για τις διαδικτυακές μας δραστηριότητες και για τους επισκέπτες της ιστοσελίδας μας αναφορικά με τις πληροφορίες που μοιράστηκαν ή / και συλλέχτηκαν από το queue me. Η πολιτική αυτή δεν ισχύει για πληροφορίες οι οποίες συλλέγονται εκτός σύνδεσης ή μέσω διαφορετικών συνδέσεων πέραν της συγκεκριμένης ιστοσελίδας

\r\n

Εάν έχετε επιπλέον ερωτήσεις ή χρειάζεστε περαιτέρω πληροφορίες – διευκρινίσεις  σχετικά με την Πολιτική Απορρήτου μας, μην διστάσετε να επικοινωνήσετε μαζί μας.

\r\n

Συναίνεση 

\r\n

Χρησιμοποιώντας την ιστοσελίδα μας, αποδέχεστε την Πολιτική Απορρήτου και συμφωνείτε με τους όρους.

\r\n

 

\r\n

Πληροφορίες που συλλέγουμε

\r\n

Για την χρήση της υπηρεσίας μας η συλλογή ορισμένων προσωπικών δεδομένων ή πληροφοριών είναι απαραίτητη. Ενδέχεται να σας ζητήσουμε πρόσθετες πληροφορίες για εσάς, όπως είναι το όνομά σας, η διεύθυνση ηλεκτρονικού ταχυδρομείου, ο αριθμός τηλεφώνου, το περιεχόμενο του μηνύματος ή / και τα συνημμένα αρχεία που μπορείτε να μας στείλετε, καθώς και οποιεσδήποτε άλλες πληροφορίες που ίσως επιλέξετε να παρέχετε. Επιπλέον, όταν προβείτε σε εγγραφή με σκοπό το άνοιγμα λογαριασμού, ενδέχεται να ζητήσουμε τα στοιχεία επικοινωνίας σας, συμπεριλαμβανομένων στοιχείων όπως όνομα, όνομα εταιρείας, διεύθυνση, διεύθυνση email και αριθμό τηλεφώνου.

\r\n

 

\r\n

Πώς χρησιμοποιούμε τις πληροφορίες σας

\r\n

Χρησιμοποιούμε τις πληροφορίες που συλλέγονται για διάφορους σκοπούς:

\r\n
    \r\n
  • Για την παροχή, συντήρηση και λειτουργία της ιστοσελίδας μας
  • \r\n
  • Για την βελτίωση, εξατομίκευση και επέκταση της ιστοσελίδας μας
  • \r\n
  • Για την κατανόηση και ανάλυση χρήσης της ιστοσελίδας μας
  • \r\n
  • Για την ανάπτυξη νέων προϊόντων, υπηρεσιών και λειτουργικότητας της ιστοσελίδας μας
  • \r\n
  • Για τον εντοπισμό, την πρόληψη και την αντιμετώπιση τεχνικών προβλημάτων και αποτροπής ενδεχόμενης απάτης
  • \r\n
  • Για την άμεση ή έμμεση επικοινωνία μαζί σας, συμπεριλαμβανομένης της εξυπηρέτησης πελατών, με σκοπό της παροχής ενημερώσεων και άλλων πληροφοριών σχετικά με την ιστοσελίδας μας, καθώς και για σκοπούς μάρκετινγκ και προώθησης.
  • \r\n
\r\n

 

\r\n

Αρχεία καταγραφής (Log Files)

\r\n

Το queue me ακολουθεί μια τυπική διαδικασία χρήσης αρχείων καταγραφής. Στα αρχεία αυτά καταγράφονται επισκέπτες όταν επισκέπτονται ιστοσελίδες. Πλέον, όλες οι εταιρείες χρησιμοποιούν τη μέθοδο αυτή καθώς και ένα μέρος των υπηρεσιών φιλοξενίας analytics. Οι πληροφορίες που συλλέγονται από τα αρχεία καταγραφής περιλαμβάνουν διευθύνσεις πρωτοκόλλου διαδικτύου (IP), τύπο προγράμματος περιήγησης, πάροχο υπηρεσιών διαδικτύου (ISP), σφραγίδα ημερομηνίας και ώρας, σελίδες παραπομπής / εξόδου και πιθανών τον αριθμό των κλικ/επισκέψεων. Δεν συνδέονται με πληροφορίες που είναι προσωπικά αναγνωρίσιμες. Ο σκοπός των πληροφοριών είναι η ανάλυση των τάσεων, η διαχείριση της ιστοσελίδας, η παρακολούθηση της κίνησης των χρηστών στην ιστοσελίδα και η συλλογή δημογραφικών πληροφοριών.

\r\n

 

\r\n

Cookies and Web Beacons

\r\n

Η ιστοσελίδα είναι δυνατόν να χρησιμοποιεί cookies με σκοπό τη βελτίωση της εμπειρίας του χρήστη κατά την περιήγηση του σε αυτήν αλλά και τη βελτίωση της συνολικής ποιότητας των υπηρεσιών της. Τα cookies είναι μικρά αρχεία κειμένου τα οποία αποστέλλονται στον υπολογιστή ενός χρήστη όταν επισκέπτεται έναν ιστότοπο. Τα cookies αποθηκεύονται στο σκληρό δίσκο του επισκέπτη / χρήστη αλλά δεν λαμβάνουν γνώση οποιουδήποτε εγγράφου ή αρχείου από τον υπολογιστή του. Οι πληροφορίες χρησιμοποιούνται για τη βελτιστοποίηση της εμπειρίας των χρηστών προσαρμόζοντας το περιεχόμενο της ιστοσελίδας μας με βάση τον τύπο του προγράμματος περιήγησης των επισκεπτών ή / και άλλων πληροφοριών.

\r\n

 

\r\n

Πολιτικές απορρήτου διαφημιζόμενων εταιρειών 

\r\n

Διαφημιστικοί διακομιστές τρίτων μερών που χρησιμοποιούν τεχνολογίες όπως cookies, JavaScript ή Web Beacons που χρησιμοποιούνται στις αντίστοιχες διαφημίσεις και συνδέσμους τους όπου και εμφανίζονται στο queue me. Αυτά τα δεδομένα ενδέχεται να περιλαμβάνουν πληροφορίες όπως η διεύθυνση IP του υπολογιστή σας, ο τύπος προγράμματος περιήγησης, η έκδοση του προγράμματος περιήγησης, οι σελίδες της υπηρεσίας που επισκέπτεστε, η ώρα και η ημερομηνία της επίσκεψής σας, ο χρόνος που παραμένετε σε αυτές τις σελίδες, τα αναγνωριστικά συσκευών και άλλα διαγνωστικά δεδομένα.

\r\n

Λάβετε υπόψη ότι το queue me δεν έχει πρόσβαση ή έλεγχο αυτών των cookies που χρησιμοποιούνται από τρίτα μέρη διαφημιστών. 

\r\n

 

\r\n

Πολιτικές απορρήτου τρίτων μερών

\r\n

Η πολιτική απορρήτου του queue me δεν ισχύει για άλλους διαφημιζόμενους ή ιστοσελίδες. Επομένως, σας προτείνουμε να συμβουλευτείτε τις αντίστοιχες πολιτικές απορρήτου αυτών των τρίτων μερών για περαιτέρω πληροφορίες. Μπορεί να περιλαμβάνει τις πρακτικές και τις οδηγίες τους σχετικά με τον τρόπο εξαίρεσης από ορισμένες επιλογές.

\r\n

Μπορείτε να επιλέξετε να απενεργοποιήσετε τα cookies μέσω των μεμονωμένων επιλογών του προγράμματος περιήγησης. Για να μάθετε πιο αναλυτικές πληροφορίες σχετικά με τη διαχείριση cookies με συγκεκριμένα προγράμματα περιήγησης, μπορείτε να επισκεφτείτε τους αντίστοιχους ιστότοπους των προγραμμάτων περιήγησης.

\r\n

 

\r\n

Δικαιώματα προστασίας δεδομένων GDPR

\r\n

Σύμφωνα με τον Κανονισμό Προστασίας Γενικών Δεδομένων (GDPR), επεξεργαζόμαστε ηλεκτρονικά την προσωπική σας πληροφορία χρησιμοποιώντας τις ακόλουθες νομικές βάσεις:

\r\n

α. τη ρητή σας συναίνεση

\r\n

β. διότι απαιτείται για την εκπλήρωση της υπηρεσίας

\r\n

Θα θέλαμε να βεβαιωθούμε ότι γνωρίζετε πλήρως όλα τα δικαιώματα προστασίας δεδομένων σας.

\r\n

Κάθε χρήστης έχει δικαίωμα στα κάτωθι:

\r\n

Το δικαίωμα πρόσβασης - Έχετε το δικαίωμα να ζητήσετε αντίγραφα των προσωπικών σας δεδομένων.

\r\n

Το δικαίωμα διόρθωσης - Έχετε το δικαίωμα να ζητήσετε να διορθώσουμε τυχόν πληροφορίες που πιστεύετε ότι είναι ανακριβείς. Έχετε επίσης το δικαίωμα να ζητήσετε να συμπληρώσουμε τις πληροφορίες που πιστεύετε ότι είναι ελλιπείς.

\r\n

Το δικαίωμα διαγραφής - Έχετε το δικαίωμα να ζητήσετε να διαγράψουμε τα προσωπικά σας δεδομένα, υπό ορισμένες προϋποθέσεις.

\r\n

Το δικαίωμα περιορισμού της επεξεργασίας - Έχετε το δικαίωμα να ζητήσετε να περιορίσουμε την επεξεργασία των προσωπικών σας δεδομένων, υπό ορισμένες προϋποθέσεις.

\r\n

Το δικαίωμα ένστασης στην επεξεργασία - Έχετε το δικαίωμα να αντιταχθείτε στην επεξεργασία των προσωπικών σας δεδομένων από μας, υπό ορισμένες προϋποθέσεις.

\r\n

Το δικαίωμα στη φορητότητα δεδομένων - Έχετε το δικαίωμα να ζητήσετε τη μεταφορά των δεδομένων που έχουμε συλλέξει σε άλλον οργανισμό ή απευθείας σε εσάς, υπό ορισμένες προϋποθέσεις.

\r\n

Εάν υποβάλλετε ένα αίτημα, έχουμε έναν μήνα για να σας απαντήσουμε. Εάν θέλετε να ασκήσετε οποιοδήποτε από αυτά τα δικαιώματα, επικοινωνήστε μαζί μας.

\r\n

 

\r\n

Πληροφορίες για τα παιδιά

\r\n

Προτεραιότητά μας αποτελεί η προστασία των παιδιών κατά τη χρήση του διαδικτύου. Ενθαρρύνουμε τους γονείς και τους κηδεμόνες να παρατηρούν, να συμμετέχουν ή / και να παρακολουθούν και να καθοδηγούν τη διαδικτυακή τους δραστηριότητα.

\r\n

Το queue me δεν συλλέγει Προσωπικά Στοιχεία από παιδιά κάτω των 13 ετών. Εάν πιστεύετε ότι το παιδί σας παρείχε τέτοιου είδους πληροφορίες στην ιστοσελίδα μας, σας συνιστούμε να επικοινωνήσετε άμεσα μαζί μας ώστε να προβούμε στις απαραίτητες ενέργειες αφαίρεσης των πληροφοριών αυτών από τα αρχεία μας.

\r\n

 

\r\n

Πολιτική Cookie για queue me

\r\n

Στο σημείο αυτό αναφέρεται η Πολιτική Cookie για το queue me, το οποίο είναι προσβάσιμο από το qms.qubiteq.gr

\r\n

Τί είναι Cookie

\r\n

Όπως οι περισσότερες ιστοσελίδες, έτσι και εμείς, χρησιμοποιούμε cookies και παρόμοιες τεχνολογίες κατά την πρόσβαση και περιήγησή σας στην ιστοσελίδα μας, προκειμένου να καταστήσουμε αυτή κατά το δυνατόν άνετη και αποτελεσματική.

\r\n

Τα cookies είναι μικρά αρχεία κειμένου που αποθηκεύονται στο σκληρό δίσκο του υπολογιστή ή άλλης ηλεκτρονικής συσκευής με την οποία αποκτά πρόσβαση στην ιστοσελίδα ο χρήστης. Τα cookies είναι μοναδικά για το κάθε πρόγραμμα περιήγησης ιστού (web browser, π.χ. Google Chrome, Mozilla Firefox, Internet Explorer, Opera κτλ.) και περιέχουν ανωνυμοποιημένες πληροφορίες, οι οποίες αφορούν τις ιστοσελίδες που επισκέπτεστε και τις συσκευές που χρησιμοποιείτε.

\r\n

Πως χρησιμοποιούμε τα Cookies

\r\n

Χρησιμοποιούμε τα cookies για διάφορους λόγους που αναφέρονται παρακάτω. Δυστυχώς, στις περισσότερες περιπτώσεις, είναι απαραίτητα για να μπορείτε να περιηγείστε στον ιστότοπό μας και για να έχετε πρόσβαση στις διάφορες ενότητες αυτού. Η παροχή των βασικών διαδικτυακών υπηρεσιών του ιστοτόπου δεν είναι δυνατή χωρίς αυτά τα cookies.

\r\n

Απενεργοποίηση των Cookies

\r\n

Μπορείτε να αποφασίσετε μεμονωμένα ή συνολικά για την αποδοχή των cookies κατά την επίσκεψή σας στην ιστοσελίδα μας. Μπορείτε επίσης να ρυθμίσετε το πρόγραμμα περιήγησής σας με τέτοιον τρόπο, ώστε να ενημερώνεστε για τη ρύθμιση των cookies και να αποφασίζετε για την αποδοχή ή τον αποκλεισμό τους. Κάθε πρόγραμμα περιήγησης διαφέρει ανάλογα με τον τρόπο που διαχειρίζεται τις ρυθμίσεις των cookies. Αυτό περιγράφεται στο μενού βοήθειας κάθε προγράμματος περιήγησης, το οποίο εξηγεί πώς μπορείτε να αλλάξετε τις ρυθμίσεις των cookies. Σας ενημερώνουμε επίσης ότι τυχόν περιορισμός των cookies θα σας εμποδίσει να χρησιμοποιείτε πλήρως ορισμένες από τις υπηρεσίες μας και δεν θα μας επιτρέπει να βελτιώνουμε και να εξατομικεύουμε την πλοήγησή σας στον ιστότοπό μας.

\r\n

 

\r\n

Τα Cookies που χρησιμοποιούνται 

\r\n
\r\n
    \r\n
  • Cookies που σχετίζονται με το λογαριασμό
  • \r\n
\r\n
\r\n

Εάν δημιουργήσετε λογαριασμό σε εμάς, τότε θα χρησιμοποιήσουμε cookies για τη διαχείριση της διαδικασίας εγγραφής και της γενικής διαχείρισης. Τα cookies αυτά συνήθως διαγράφονται όταν αποσυνδεθείτε, αλλά σε ορισμένες περιπτώσεις ενδέχεται να παραμείνουν ώστε στη συνέχεια να θυμούνται τις προτιμήσεις του ιστότοπού σας όταν αποσυνδέεστε.

\r\n
\r\n
    \r\n
  • Cookies που σχετίζονται με τη σύνδεση 
  • \r\n
\r\n
\r\n

Χρησιμοποιούμε cookies όταν είστε συνδεδεμένοι, με σκοπό να θυμόμαστε αυτό το γεγονός. Αυτό σας εμποδίζει από το να συνδέεστε κάθε φορά που επισκέπτεστε μια νέα σελίδα. Τα cookies αυτά συνήθως αφαιρούνται ή διαγράφονται όταν αποσυνδέεστε για να διασφαλίσετε ότι μπορείτε να έχετε πρόσβαση μόνο σε περιορισμένες λειτουργίες και περιοχές όταν είστε συνδεδεμένοι.

\r\n
\r\n
    \r\n
  • Cookies που σχετίζονται με φόρμες
  • \r\n
\r\n
\r\n

Όταν υποβάλλετε δεδομένα μέσω μιας φόρμας όπως αυτές που βρίσκονται σε σελίδες επαφών ή σε φόρμες σχολίων, τα cookies μπορεί να ρυθμιστούν ώστε να θυμούνται τα στοιχεία του χρήστη σας για μελλοντική αλληλογραφία.

\r\n
\r\n
    \r\n
  • Cookies προτιμήσεων ιστοτόπων 
  • \r\n
\r\n
\r\n

Προκειμένου να σας προσφέρουμε μια άψογη εμπειρία σε αυτόν τον ιστότοπο, παρέχουμε τη λειτουργικότητα για να ορίσετε τις προτιμήσεις σας για τον τρόπο λειτουργίας αυτού του ιστότοπου όταν τον χρησιμοποιείτε. Προκειμένου να θυμόμαστε τις προτιμήσεις σας, πρέπει να ορίσουμε cookies έτσι ώστε αυτές οι πληροφορίες να μπορούν να κληθούν κάθε φορά που αλληλεπιδράτε με μια σελίδα που επηρεάζεται από τις προτιμήσεις σας.

\r\n

 

\r\n

Cookies Τρίτων Μερών

\r\n

Σε ορισμένες ειδικές περιπτώσεις χρησιμοποιούμε cookies που παρέχονται από αξιόπιστα τρίτα μέρη. Η ακόλουθη ενότητα περιγράφει τα cookies τρίτων που ενδέχεται να συναντήσετε μέσω αυτού του ιστότοπου.

\r\n
\r\n
    \r\n
  • Αυτός ο ιστότοπος χρησιμοποιεί το Google Analytics που είναι μια από τις πιο διαδεδομένες και αξιόπιστες λύσεις ανάλυσης στον ιστό για να μας βοηθήσει στο να κατανοήσουμε το πώς χρησιμοποιείτε ο ιστότοπος καθώς και τρόπους με τους οποίους μπορούμε να βελτιώσουμε την εμπειρία σας. Αυτά τα cookies μπορεί να παρακολουθούν στοιχεία, όπως πόσο χρόνο ξοδεύετε στον ιστότοπο και στις σελίδες που επισκέπτεστε, ώστε να συνεχίσουμε να παράγουμε ελκυστικό περιεχόμενο. Για περισσότερες πληροφορίες σχετικά με τα cookies του Google Analytics, ανατρέξτε στην επίσημη σελίδα του Google Analytics.
  • \r\n
\r\n
\r\n

 

\r\n
\r\n
    \r\n
  • Κατά καιρούς δοκιμάζουμε νέες δυνατότητες και κάνουμε αλλαγές στον τρόπο παράδοσης του ιστότοπου. Όταν δοκιμάζουμε νέες δυνατότητες,  τα cookies αυτά μπορεί να χρησιμοποιηθούν για να διασφαλιστεί ότι θα λάβετε μια συνεπή εμπειρία ενώ βρίσκεστε στον ιστότοπο μας, και διασφαλίζεται ότι κατανοούμε τις βελτιστοποιήσεις που επιθυμούν οι χρήστες μας.
  • \r\n
\r\n
\r\n

 

\r\n

Περισσότερες Πληροφορίες

\r\n

Ευελπιστούμε ότι τα ανωτέρω ήταν κατανοητά σε εσάς ωστόσο εάν υπάρχει κάτι για το οποίο δεν είστε σίγουροι για το αν το χρειάζεστε ή όχι, είναι ασφαλέστερο να αφήσετε τα cookies ενεργοποιημένα σε περίπτωση που αλληλεπιδρά με μια από τις λειτουργίες που χρησιμοποιείτε στον ιστότοπό μας.

\r\n

Ωστόσο, εάν επιθυμείτε περαιτέρω πληροφορίες, μπορείτε να επικοινωνήσετε μαζί μας μέσω μιας από τις προτιμώμενες μεθόδους επικοινωνίας μας:

\r\n

• Email: info@qubiteq.gr

\r\n

 

\r\n

 

\r\n

 

\r\n
\r\n )\r\n}\r\n\r\nexport default PrivacyPolicy;","import React from 'react';\r\nimport { BrowserRouter, Switch, Route, Redirect } from 'react-router-dom';\r\nimport QueueControl from './QueueControl';\r\nimport ProtectedRoute from './Common/ProtectedRoute';\r\nimport Login from './Login/Login'\r\nimport PrivacyPolicy from './PrivacyPolicy';\r\n\r\nconst Router = ({lightTheme, setLightTheme}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Router;","import { createMuiTheme } from '@material-ui/core/styles';\r\n\r\nconst darkTheme = createMuiTheme({\r\n typography: {\r\n fontFamily: 'Roboto, sans-serif',\r\n fontSize: 16,\r\n },\r\n \r\n palette: {\r\n type: 'dark',\r\n background:{\r\n // default: '#232323', //'#121212',\r\n // paper: '#424242'//'#383838',\r\n root: '#121212'\r\n },\r\n }\r\n})\r\n\r\nexport default darkTheme","import { createMuiTheme } from '@material-ui/core/styles';\r\n\r\nconst lightTheme = createMuiTheme({\r\n typography: {\r\n fontFamily: 'Roboto, sans-serif',\r\n fontSize: 16,\r\n fontWeightLight: 50,\r\n fontWeightRegular: 100,\r\n fontWeightMedium: 200,\r\n // fontColor: '#ff0000'\r\n },\r\n \r\n})\r\n\r\nexport default lightTheme","\r\n// const primaryColor = \"#9c27b0\";\r\nconst containerFluid = {\r\n // paddingRight: \"15px\",\r\n // paddingLeft: \"15px\",\r\n marginRight: \"auto\",\r\n marginLeft: \"auto\",\r\n width: \"100%\",\r\n display:'flex',\r\n flexDirection:'row',\r\n justifyContent:'flex-start',\r\n alignContent:'flex-start',\r\n \r\n // maxHeight: '3vh'\r\n };\r\n const container = {\r\n ...containerFluid,\r\n \"@media (min-width: 576px)\": {\r\n maxWidth: \"540px\"\r\n },\r\n \"@media (min-width: 768px)\": {\r\n maxWidth: \"720px\"\r\n },\r\n \"@media (min-width: 992px)\": {\r\n maxWidth: \"960px\"\r\n },\r\n \"@media (min-width: 1200px)\": {\r\n maxWidth: \"1140px\"\r\n }\r\n };\r\n\r\nconst footerStyle = {\r\n \r\n footContainer: {\r\n display:'flex',\r\n width:'100%',\r\n\r\n alignContent:'center',\r\n // maxHeight:'auto'\r\n },\r\n\r\n footer: {\r\n // backgroundColor: '#d2d8b3',\r\n textAlign: \"center\",\r\n display: \"flex\",\r\n zIndex: \"2\",\r\n position: \"relative\",\r\n flexGrow:1,\r\n },\r\n\r\n clock: {\r\n alignSelf: 'center',\r\n color: \"inherit\",\r\n paddingLeft: \"0.8rem\",\r\n fontWeight: \"600\",\r\n fontSize: \"0.8rem\",\r\n textTransform: \"uppercase\",\r\n borderRadius: \"3px\",\r\n textDecoration: \"none\",\r\n // position: \"relative\",\r\n display: \"flex\",\r\n },\r\n\r\n container,\r\n\r\n // list: {\r\n // marginBottom: \"0\",\r\n // padding: \"0\",\r\n // marginTop: \"0\",\r\n // display:'flex',\r\n // flexDirection: 'row',\r\n // alignContent: 'center',\r\n // flexWrap: 'nowrap',\r\n \r\n // width:'100%'\r\n // },\r\n\r\n spacer: {\r\n flexGrow:1,\r\n \r\n },\r\n\r\n inlineBlock: {\r\n width: \"auto\",\r\n \r\n },\r\n\r\n block: {\r\n color: \"inherit\",\r\n // padding: \"0.9375rem\",\r\n fontWeight: \"300\",\r\n fontSize: \"0.9=8rem\",\r\n textTransform: \"uppercase\",\r\n // borderRadius: \"1px\",\r\n textDecoration: \"none\",\r\n position: \"relative\",\r\n display: \"flex\",\r\n whiteSpace: 'nowrap'\r\n },\r\n \r\n a: {\r\n textDecoration: \"none\",\r\n fontFamily:\"'Roboto', sans-serif\",\r\n },\r\n\r\n\r\n};\r\nexport default footerStyle;","/*eslint-disable*/\r\nimport React from \"react\";\r\n// nodejs library to set properties for components\r\n// nodejs library that concatenates classes\r\nimport classNames from \"classnames\";\r\n// material-ui core components\r\nimport { Typography, List, ListItem } from \"@material-ui/core\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { useTheme } from \"@material-ui/core\";\r\n\r\nimport styles from \"../static/styles/footerStyle\";\r\n\r\nconst useStyles = makeStyles(styles);\r\n\r\nexport default function Footer(props) {\r\n const theme = useTheme();\r\n const classes = useStyles();\r\n const { whiteFont } = props;\r\n const footerClasses = classNames({\r\n [classes.footer]: true,\r\n [classes.footerWhiteFont]: whiteFont\r\n });\r\n const aClasses = classNames({\r\n [classes.a]: true,\r\n [classes.footerWhiteFont]: whiteFont\r\n });\r\n return (\r\n \r\n );\r\n}","import './App.css';\r\nimport React from 'react';\r\nimport Router from './components/Router';\r\nimport darkTheme from './themes/darkTheme';\r\nimport lightTheme from './themes/lightTheme';\r\nimport Footer from './components/Footer';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport { createMuiTheme, ThemeProvider } from '@material-ui/core/styles';\r\n\r\nfunction App() {\r\n const [isLightTheme, setIsLightTheme] = React.useState(localStorage.getItem(\"theme\") === 'light' ? true : false)\r\n return ( \r\n \r\n \r\n \r\n