{"version":3,"sources":["styles/GlobalStyles.ts","components/Navbar/styles.ts","components/Navbar/Link/index.tsx","components/Navbar/index.tsx","components/Layout/index.tsx","pages/NotFound/index.tsx","routes/app.routes.tsx","pages/Login/styles.ts","constants/themes.ts","pages/Login/index.tsx","routes/auth.routes.tsx","routes/index.tsx","App.tsx","index.tsx","hooks/auth.tsx","assets/images/logo.png","components/Loading/index.tsx","services/api.ts"],"names":["createGlobalStyle","Container","styled","aside","Link","title","to","icon","exact","as","NavLink","marginEnd","bg","position","color","d","borderRadius","h","paddingX","justifyContent","alignItems","zIndex","fontWeight","_activeLink","backgroundColor","_after","content","bottom","height","width","borderTopRadius","Navbar","useAuth","logout","user","links","href","acess_level","MdBusinessCenter","ImTicket","top","right","left","display","borderBottomWidth","flexDirection","src","LogoPng","map","link","index","includes","Button","variant","_focus","borderColor","rightIcon","gap","name","size","fontSize","margin","toUpperCase","onClick","_hover","Layout","children","marginTop","overflow","NotFound","borderRightWidth","borderRightColor","paddingRight","marginRight","Tickets","lazy","Employee","Analysis","Movement","NewTicket","Enterprises","AnalysisData","AnalysisDates","EmployeeTable","EnterpriseAdmin","EnterpriseImport","AppRoutes","adminAcess","sellerAcess","fallback","Loading","path","component","div","themes","primary","secondary","tertiary","white","black","gray","background","success","info","warning","Login","signIn","useState","email","setEmail","password","setPassword","event","a","preventDefault","paddingY","shadow","className","onSubmit","type","placeholder","onChange","target","value","trim","focusBorderColor","colorScheme","AuthRoutes","Routes","logged","App","GlobalStyles","ReactDOM","render","StrictMode","document","getElementById","AuthContext","createContext","AuthProvider","setLogged","setUser","loading","setLoading","useEffect","token","localStorage","getItem","toast","pauseOnHover","draggable","progress","undefined","jwt","e","console","log","fetchData","axios","post","response","data","setItem","window","location","reload","error","Provider","removeItem","useContext","message","opacity","initialScale","in","thickness","speed","api","create","baseURL","process","headers","Authorization","interceptors","request","use","res","err","status"],"mappings":"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","file":"static/js/main.7a51389f.chunk.js","sourcesContent":["import { createGlobalStyle } from \"styled-components\";\n\nexport default createGlobalStyle`\n * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n }\n\n html, body, #root {\n height: 100%;\n background: #eeee;\n }\n\n *, button, input {\n border: 0;\n outline: 0;\n font-family: 'Roboto', sans-serif;\n }\n\n button {\n cursor: pointer;\n }\n\n svg {\n font-size: 18px;\n }\n\n @media (max-width: 1080px) {\n html {\n font-size: 93.75%;\n } \n }\n\n @media (max-width: 720px) {\n html {\n font-size: 87.5%;\n } \n }\n\n\n\n // scrollbar\n table, ul, ol {\n &::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n }\n &::-webkit-scrollbar-track {\n border-radius: 10px;\n background: rgba(0,0,0,0.1);\n }\n &::-webkit-scrollbar-thumb{\n border-radius: 10px;\n background: rgba(0,0,0,0.2);\n }\n &::-webkit-scrollbar-thumb:hover{\n background: rgba(0,0,0,0.4);\n }\n &::-webkit-scrollbar-thumb:active{\n background: rgba(0,0,0,.9);\n }\n }\n`;\n","import styled from 'styled-components';\n\nexport const Container = styled.aside`\n .active {\n background: rgba(0,0,0,0.1);\n }\n`;\n","import { Box, Text } from \"@chakra-ui/react\";\nimport { NavLink } from \"react-router-dom\";\n\ntype LinkProps = {\n title: string;\n to: string;\n icon: any;\n exact?: boolean;\n};\n\nexport function Link({ title, to, icon, exact }: LinkProps) {\n return (\n \n \n {title}\n \n );\n}\n","import { ImTicket } from \"react-icons/im\";\nimport { BiChevronDown } from \"react-icons/bi\";\nimport { MdBusinessCenter } from \"react-icons/md\";\nimport { Avatar, Box, Button, Flex, Image, Text } from \"@chakra-ui/react\";\nimport { Menu, MenuButton, MenuItem, MenuList } from \"@chakra-ui/react\";\n\nimport { Container } from \"./styles\";\nimport { useAuth } from \"../../hooks/auth\";\nimport LogoPng from \"../../assets/images/logo.png\";\n\nimport { Link } from \"./Link\";\n\nexport function Navbar() {\n const { logout, user } = useAuth();\n\n const links = [\n {\n title: \"Empresas\",\n href: \"/\",\n acess_level: [\"0\", \"1\", \"2\", \"3\"],\n icon: MdBusinessCenter,\n },\n {\n title: \"Entregar cesta\",\n href: \"/entregar\",\n acess_level: [\"0\", \"3\"],\n icon: ImTicket,\n },\n ];\n\n return (\n \n \n \n \n \n \n {links.map((link, index) => {\n if (\n !!user?.acess_level &&\n link.acess_level.includes(user?.acess_level)\n ) {\n return (\n \n );\n }\n\n return <>>;\n })}\n \n\n \n }\n d=\"flex\"\n justifyContent=\"center\"\n flexDirection=\"row\"\n >\n \n \n \n \n \n \n {user?.name.toUpperCase()}\n \n logout()}\n margin={1}\n width=\"90%\"\n borderRadius={5}\n bg=\"gray.100\"\n _hover={{\n bg: \"gray.200\",\n }}\n >\n Sair\n \n \n \n \n \n );\n}\n","import { ReactNode } from \"react\";\nimport { Box, Grid } from \"@chakra-ui/react\";\nimport { Navbar } from \"../Navbar\";\n\ninterface ILayoutProps {\n children: ReactNode;\n}\n\nexport function Layout({ children }: ILayoutProps) {\n return (\n \n \n \n {children}\n \n \n );\n}\n","import { Flex, Text } from \"@chakra-ui/react\";\n\nexport function NotFound() {\n return (\n \n \n 404\n \n \n Página não encontrada\n \n \n );\n}\n","import { lazy, Suspense } from \"react\";\nimport { Switch, Route } from \"react-router-dom\";\n\nimport { Layout } from \"../components/Layout\";\nimport { Loading } from \"../components/Loading\";\nimport { useAuth } from \"../hooks/auth\";\nimport { NotFound } from \"../pages/NotFound\";\n\nconst Tickets = lazy(() => import(\"../pages/Tickets\"));\nconst Employee = lazy(() => import(\"../pages/Employee\"));\nconst Analysis = lazy(() => import(\"../pages/Analysis\"));\nconst Movement = lazy(() => import(\"../pages/Movement\"));\nconst NewTicket = lazy(() => import(\"../pages/NewTicket\"));\nconst Enterprises = lazy(() => import(\"../pages/Enterprises\"));\nconst AnalysisData = lazy(() => import(\"../pages/AnalysisData\"));\nconst AnalysisDates = lazy(() => import(\"../pages/AnalysisDates\"));\nconst EmployeeTable = lazy(() => import(\"../pages/EmployeeTable\"));\nconst EnterpriseAdmin = lazy(() => import(\"../pages/EnterpriseAdmin\"));\nconst EnterpriseImport = lazy(() => import(\"../pages/EnterpriseImport\"));\n\nexport function AppRoutes() {\n const { user } = useAuth();\n\n const adminAcess = user?.acess_level === \"0\";\n const sellerAcess = adminAcess || user?.acess_level === \"2\";\n\n return (\n \n }>\n \n \n \n \n \n\n {adminAcess && (\n \n )}\n\n {sellerAcess && (\n \n )}\n\n {sellerAcess && (\n \n )}\n\n {sellerAcess && (\n \n )}\n\n {sellerAcess && (\n \n )}\n\n {sellerAcess && (\n \n )}\n\n \n \n \n \n \n );\n}\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n display: flex;\n align-items: stretch;\n height: 100vh;\n\n main {\n flex: 8;\n\n padding: 0 32px;\n\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .main-content {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: 320px;\n align-items: center;\n text-align: center;\n\n\n h2 {\n font-size: 24px;\n font-weight: 600;\n margin: 10px 0;\n font-family: 'Roboto', sans-serif;\n color: #191919;\n }\n\n p {\n font-size: 16px;\n color: #2C3333;\n margin-bottom: 10px;\n }\n }\n`;\n","export const themes = {\n title: \"light\",\n\n colors: {\n primary: \"#198754\",\n secondary: \"#fef00e\",\n tertiary: \"#F5F5F5\",\n\n white: \"#FFF\",\n black: \"#000\",\n gray: \"#f8f8f827\",\n\n background: \"#eeeeee\",\n\n success: \"#03BB85\",\n info: \"#3B5998\",\n warning: \"#FF5C58\",\n },\n};\n","import { FormEvent, useState } from \"react\";\nimport { Button, Circle, Input, Image, Box } from \"@chakra-ui/react\";\n\nimport { Container } from \"./styles\";\nimport { themes } from \"../../constants/themes\";\nimport { useAuth } from \"../../hooks/auth\";\n\nimport LogoPng from \"../../assets/images/logo.png\";\n\nexport function Login() {\n const { signIn } = useAuth();\n const [email, setEmail] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n\n async function handleLogin(event: FormEvent) {\n event.preventDefault();\n await signIn(email, password);\n }\n\n return (\n \n \n \n \n \n \n \n\n Login\n Entre com o seu email e senha\n \n setEmail(event.target.value.trim())}\n value={email}\n width={\"100%\"}\n height={45}\n background=\"white\"\n fontSize={18}\n focusBorderColor=\"blackAlpha.400\"\n borderColor=\"blackAlpha.300\"\n shadow=\"base\"\n />\n setPassword(event.target.value)}\n value={password}\n width={\"100%\"}\n height={45}\n background=\"white\"\n fontSize={18}\n marginTop={3}\n focusBorderColor=\"blackAlpha.400\"\n borderColor=\"blackAlpha.300\"\n shadow=\"base\"\n />\n \n Entrar\n \n \n \n \n \n \n );\n}\n","import React, { Suspense } from 'react';\nimport { Switch, Route } from 'react-router-dom';\nimport { Loading } from '../components/Loading';\n\nimport { Login } from '../pages/Login';\n\nexport function AuthRoutes() {\n return (\n \n }>\n \n \n \n );\n}\n","import { BrowserRouter } from \"react-router-dom\";\nimport { useAuth } from \"../hooks/auth\";\nimport { AppRoutes } from \"./app.routes\";\nimport { AuthRoutes } from \"./auth.routes\";\n\nexport function Routes() {\n const { logged } = useAuth();\n\n return (\n {logged ? : }\n );\n}\n","import { ToastContainer } from \"react-toastify\";\n\nimport GlobalStyles from \"./styles/GlobalStyles\";\nimport \"react-toastify/dist/ReactToastify.css\";\n\nimport { Routes } from \"./routes\";\nimport { AuthProvider } from \"./hooks/auth\";\nimport { ChakraProvider } from \"@chakra-ui/react\";\n\nfunction App() {\n return (\n <>\n \n \n \n \n \n \n \n >\n );\n}\n\nexport { App };\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { App } from \"./App\";\n\nReactDOM.render(\n \n \n ,\n document.getElementById(\"root\"),\n);\n","import axios from \"../services/api\";\nimport jwt from \"jwt-decode\";\nimport React, { createContext, useState, useContext, useEffect } from \"react\";\nimport { toast } from \"react-toastify\";\n\ninterface IAuthContext {\n user: IUserProps | undefined;\n logged: boolean;\n signIn(email: string, password: string): void;\n logout(): void;\n loading: boolean;\n}\n\ninterface IUserProps {\n name: string;\n email: string;\n acess_level: string;\n}\n\nconst AuthContext = createContext({} as IAuthContext);\n\nconst AuthProvider: React.FC = ({ children }) => {\n const [logged, setLogged] = useState(false);\n const [user, setUser] = useState();\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n const token = localStorage.getItem(\"cestabasicabrasil@token\");\n\n if (!token) {\n toast.warning(\"Você precisa fazer login\", {\n position: \"top-right\",\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n setLoading(false);\n setLogged(false);\n return;\n }\n\n async function fetchData() {\n try {\n const { email, name, acess_level } = jwt(token as string) as IUserProps;\n\n setUser({\n email,\n name,\n acess_level,\n });\n\n setLoading(false);\n setLogged(true);\n } catch (e) {\n console.log(e);\n toast.warning(\"Você precisa fazer login\", {\n position: \"top-right\",\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n setLoading(false);\n setLogged(false);\n }\n }\n fetchData();\n }, []);\n\n const signIn = async (email: string, password: string) => {\n try {\n const response = await axios.post(\"/login\", {\n email,\n password,\n });\n\n const token = response.data;\n\n localStorage.setItem(\"cestabasicabrasil@token\", token);\n window.location.reload();\n } catch (err: any) {\n if (!err.response) {\n toast.warning(\"Não foi possivel se conectar ao servidor\", {\n position: \"top-right\",\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n\n return;\n }\n\n toast.error(\"E-mail ou senha incorreto\", {\n position: \"top-right\",\n pauseOnHover: true,\n draggable: false,\n progress: undefined,\n });\n }\n };\n\n const logout = () => {\n localStorage.removeItem(\"cestabasicabrasil@token\");\n window.location.reload();\n };\n\n return (\n \n {children}\n \n );\n};\n\nfunction useAuth(): IAuthContext {\n const context = useContext(AuthContext);\n\n return context;\n}\n\nexport { AuthProvider, useAuth };\n","export default __webpack_public_path__ + \"static/media/logo.c3f43b8b.png\";","import { Box, ScaleFade, Spinner, Text } from '@chakra-ui/react';\n\ntype LoadingProps = {\n message?: string;\n}\n\nexport function Loading({ message }: LoadingProps) {\n return (\n \n \n \n \n \n\n \n {message}\n \n\n \n );\n}\n","import axios from \"axios\";\n\nconst { REACT_APP_API_URL } = process.env;\n\nconst api = axios.create({\n baseURL: REACT_APP_API_URL,\n headers: {\n Authorization: `Bearer ${localStorage.getItem(\"cestabasicabrasil@token\")}`,\n },\n});\n\napi.interceptors.request.use(\n (res: any) => res,\n (err: any) => {\n if (err.response.status === 401) {\n localStorage.removeItem(\"cestabasicabrasil@token\");\n window.location.reload();\n }\n throw err;\n },\n);\n\n// Add a request interceptor\napi.interceptors.response.use(\n (res: any) => res,\n (err: any) => {\n if (err.response.status === 401) {\n localStorage.removeItem(\"cestabasicabrasil@token\");\n window.location.reload();\n }\n throw err;\n },\n);\n\nexport default api;\n"],"sourceRoot":""}
Entre com o seu email e senha