{"version":3,"sources":["icons/chevron-right.js","lib/gtm.js","components/logo.js","icons/chevron-down.js","api/auth.js","hooks/use-interval.js","contexts/jwt-auth-context.js","components/input-field.js","hooks/use-mounted.js","api/account.js","api/transactions.js","components/scrollbar.js","icons/chevron-left.js","components/display-dialog.js","components/auth/login-jwt.js","containers/login.js","hooks/use-auth.js","utils/axios.js","i18n.js","config.js","components/guards/registered-guard.js","components/guards/auth-guard.js","components/guards/guest-guard.js","components/guards/unregistered-guard.js","components/loading-screen.js","components/footer.js","icons/moon.js","icons/sun.js","icons/custom-users.js","icons/external-link.js","components/dashboard-navbar-menu-item.js","components/dashboard-navbar-menu.js","components/dashboard-navbar.js","components/text-animation.js","components/dashboard-sidebar-item.js","components/dashboard-sidebar.js","containers/dashboard-layout.js","components/menu/sidebar.js","components/menu/menu.js","components/footer/footer.js","containers/main-layout.js","routes.js","colors.js","icons/x-circle.js","theme.js","app.js","index.js","contexts/settings-context.js"],"names":["ChevronRight","createSvgIcon","xmlns","viewBox","fill","fillRule","d","clipRule","GTM","this","CONTAINER_ID","initialized","config","containerId","document","configure","script","createElement","noscript","innerHTML","head","insertBefore","childNodes","body","window","dataLayer","push","gtm","Logo","props","emblemOnly","textEmblem","special","variant","imageSize","size","image","src","width","alt","defaultProps","ChevronDown","AuthApi","email","axios","post","res","data","console","log","response","error","code","accessToken","headers","Authorization","delete","retry","authApi","useInterval","callback","delay","strict","savedCallback","useRef","useEffect","current","tick","id","date","Date","setTimeout","setInterval","getSeconds","clearInterval","initialState","isAuthenticated","isInitialized","user","ledger","balance","handlers","INITIALIZE","state","action","payload","LOGIN","userId","AUTHENTICATE","LOGOUT","SYNC","LEDGER","reducer","type","AuthContext","createContext","method","login","Promise","resolve","login_verification","register","register_verification","logout","syncUser","updateLedger","AuthProvider","children","useReducer","dispatch","cookie","useCookies","refreshToken","account","accountApi","getById","Error","message","loginVerification","removeCookie","validateToken","status","Provider","value","InputField","InputProps","sx","pad","textAlign","fontSize","borderRadius","other","inputProps","alignItems","display","height","lineHeight","px","py","pl","InputLabelProps","shrink","color","fontWeight","mb","position","transform","backgroundColor","borderWidth","borderStyle","borderColor","boxShadow","overflow","p","transition","theme","transitions","create","borderBottom","alpha","palette","primary","main","mt","ml","disableUnderline","useMounted","isMounted","AccountApi","accountId","get","values","TransactionsApi","lastTransaction","params","continuationToken","transactionsApi","Scrollbar","forwardRef","ref","test","navigator","userAgent","overflowX","ChevronLeft","icons","warning","info","DisplayDialog","onClose","open","title","Dialog","PaperProps","DialogTitle","Typography","DialogContent","DialogActions","Button","onClick","LoginJwt","mounted","useAuth","useState","phase","setPhase","showRegisterMessage","setShowRegisterMessage","formik","useFormik","initialValues","submit","validationSchema","Yup","shape","max","trim","required","policy","onSubmit","helpers","toast","success","setStatus","setSubmitting","setErrors","handleSubmit","Box","align","flexGrow","Grid","container","spacing","item","xs","autoFocus","Boolean","touched","errors","disabled","fullWidth","helperText","placeholder","name","onBlur","handleBlur","onChange","handleChange","FormHelperText","isSubmitting","letterSpacing","resetForm","component","textDecoration","margin","href","target","style","to","Login","settings","useSettings","event","minHeight","pt","Container","maxWidth","justifyContent","md","Toolbar","disableGutters","m","Card","elevation","CardContent","bottom","right","useContext","serverAxios","baseURL","process","withCredentials","source","environmentIdentifier","resources","en","translation","de","Account","Activity","Billing","Buttons","Colors","Components","Create","Customers","Details","Documentation","Foundation","Inputs","Insights","Inventory","Invoices","List","Lists","Notifications","Onboarding","Orders","Organization","Overview","Preview","Products","Reports","Sales","Shadows","Summary","Tables","Team","es","gtmConfig","REACT_APP_GTM_CONTAINER_ID","REACT_APP_AWS_PROJECT_REGION","REACT_APP_AWS_COGNITO_IDENTITY_POOL_ID","REACT_APP_AWS_COGNITO_REGION","REACT_APP_AWS_USER_POOLS_ID","REACT_APP_AWS_USER_POOLS_WEB_CLIENT_ID","REACT_APP_AUTH0_CLIENT_ID","REACT_APP_AUTH0_DOMAIN","REACT_APP_FIREBASE_API_KEY","REACT_APP_FIREBASE_APP_ID","REACT_APP_FIREBASE_AUTH_DOMAIN","REACT_APP_FIREBASE_DATABASE_URL","REACT_APP_FIREBASE_MESSAGING_SENDER_ID","REACT_APP_FIREBASE_PROJECT_ID","REACT_APP_FIREBASE_STORAGE_BUCKET","RegisteredGuard","location","useLocation","pending","pathname","AuthGuard","auth","requestedLocation","setRequestedLocation","GuestGuard","UnRegisteredGuard","LoadingScreen","NProgress","start","done","Footer","flexDirection","sm","mr","getFullYear","Moon","Sun","CustomUsers","opacity","ExternalLink","DashboardNavbarMenuItem","environmentId","active","activeHref","external","Icon","icon","items","onOpenItem","t","useTranslation","match","matchPath","path","disablePadding","ListItemButton","divider","ListItemIcon","minWidth","ListItemText","primaryTypographyProps","Collapse","in","unmountOnExit","map","isActive","newHref","replace","RouterLink","my","DashboardIcon","AttachMoneyIcon","PaymentIcon","ContactSupportIcon","UsersIcon","DashboardNavbarMenu","openedItem","setOpenedItem","activeItem","setActiveItem","setActiveHref","forEach","index","length","end","Drawer","anchor","transitionDuration","ModalProps","BackdropProps","invisible","top","maxHeight","handleOpenItem","DashboardNavbar","mdDown","useMediaQuery","breakpoints","down","saveSettings","openMenu","setOpenMenu","darkMode","setDarkMode","getLedger","localStorage","setItem","reserved","getItem","AppBar","Divider","flexItem","orientation","mx","textTransform","alignContent","CurrencyExchange","Games","Close","Menu","IconButton","breatheAnimation","keyframes","TextAnimation","StyledTypography","styled","div","DashboardSidebarItem","onOpen","pinned","counter","count","setCount","endIcon","startIcon","marginLeft","whiteSpace","DashboardSidebar","onPin","openedItems","setOpenedItems","hovered","setHovered","i","zIndex","onMouseOver","onMouseLeave","flex","overflowY","includes","filter","x","DashboardLayoutRoot","background","paper","paddingTop","DashboardLayoutContent","DashboardLayout","setForceDark","pinSidebar","Sidebar","dropdown","setDropdown","className","setOpen","points","MainLayoutRoot","MainLayout","Loadable","Component","fallback","NotFound","lazy","then","module","default","PrivacyPolicy","TermsOfService","Home","ComingSoon","PasswordRecovery","PasswordReset","VerifyCode","MainDashboard","Earnings","Payout","PayoutRequestCreate","PayoutSettings","Help","AccountSettings","Support","AccountRequest","AccountRequestPending","SocialVerify","OAuthRedirect","routes","element","lightPrimary","lightSecondary","lightError","lightWarning","lightInfo","lightSuccess","lightBackground","lightText","lightNeutral","darkPrimary","darkSecondary","darkError","darkWarning","darkInfo","darkSuccess","darkBackground","darkText","darkNeutral","buttonNeutral","dark","contrast","light","XCircle","createMuiTheme","baseThemeOptions","components","MuiAutocomplete","styleOverrides","noOptions","option","MuiAvatar","root","MuiButton","sizeLarge","sizeMedium","sizeSmall","MuiButtonBase","disableRipple","MuiButtonGroup","MuiCardActions","paddingBottom","paddingLeft","paddingRight","MuiCardContent","MuiCardHeader","subheader","MuiCheckbox","checkedIcon","rx","y","stroke","strokeWidth","strokeLinecap","strokeLinejoin","indeterminateIcon","MuiChip","deleteIcon","avatar","MuiCssBaseline","html","MuiDialogActions","MuiDialogContent","MuiDialogTitle","MuiFormControlLabel","label","MuiIcon","fontSizeLarge","MuiIconButton","padding","MuiListItem","button","content","left","transformOrigin","dense","MuiListItemText","MuiListSubheader","MuiMenuItem","MuiRadio","MuiSelect","filled","MuiSkeleton","MuiSvgIcon","MuiSwitch","marginBottom","marginRight","marginTop","switchBase","track","thumb","MuiTab","up","MuiTableHead","MuiTableRow","typography","fontFamily","h1","h2","h3","h4","h5","h6","body1","body2","subtitle1","subtitle2","caption","overline","lightThemeOptions","MuiMenu","border","MuiTableCell","MuiToggleButton","disabledBackground","focus","hover","selected","contrastText","mode","secondary","text","white","base","darker","neutral","youtube","twitch","twitter","shadows","darkThemeOptions","MuiCard","backgroundImage","MuiPaper","gold","faded","App","useRoutes","lng","initialize","language","i18n","use","initReactI18next","init","fallbackLng","interpolation","escapeValue","themeOptions","warn","responsiveFontSizes","direction","createCustomTheme","dataTheme","ThemeProvider","CssBaseline","ReactDOM","render","LocalizationProvider","dateAdapter","AdapterDateFns","getElementById","initialSettings","restoreSettings","storedData","JSON","parse","err","SettingsContext","SettingsProvider","forceDark","setSettings","restoredSettings","updatedSettings","stringify","storeSettings","Consumer"],"mappings":"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","file":"static/js/main.c54aafe6.chunk.js","sourcesContent":["import { createSvgIcon } from '@material-ui/core/utils';\n\nexport const ChevronRight = createSvgIcon(\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>, 'ChevronRight'\n);\n","const warn = (...args) => {\n if (process.env.NODE_ENV !== 'development') {\n return;\n }\n\n console.warn(...args);\n};\n\nclass GTM {\n constructor() {\n this.CONTAINER_ID = null;\n\n this.initialized = false;\n }\n\n configure(config) {\n this.CONTAINER_ID = config.containerId;\n }\n\n initialize(config) {\n if (this.initialized) {\n warn('GTM can only be initialized once.');\n return;\n }\n\n // Maybe you want to load events from server side (in NextJS apps for example),\n // those can be queued.\n // SSR queued events can be loaded in the initialize script.\n // For the moment we do not implement it, but in future we might add it.\n\n if (!document) {\n warn('GTM can be initialized only on client side.');\n return;\n }\n\n if (!config.containerId) {\n warn('GTM requires a GTM Container ID to be loaded.');\n return;\n }\n\n this.configure(config);\n\n const script = document.createElement('script');\n const noscript = document.createElement('noscript');\n\n script.innerHTML = `\n (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\n j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\n 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n })(window,document,'script','dataLayer','${this.CONTAINER_ID}');\n `;\n noscript.innerHTML = `\n <iframe src=\"https://www.googletagmanager.com/ns.html?id=${this.CONTAINER_ID}\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe>\n `;\n\n document.head.insertBefore(script, document.head.childNodes[0]);\n document.body.insertBefore(noscript, document.body.childNodes[0]);\n }\n\n // eslint-disable-next-line class-methods-use-this\n push(...args) {\n if (!window) {\n warn('GTM push works only on client side.');\n return;\n }\n\n if (!window.dataLayer) {\n window.dataLayer = [];\n }\n\n window.dataLayer.push(...args);\n }\n}\n\n// Singleton\nconst gtm = new GTM();\n\nexport default gtm;\n","import PropTypes from 'prop-types';\n\nexport const Logo = (props) => {\n const { emblemOnly, textEmblem, special, variant, size } = props;\n\n let imageSize = size;\n\n if (!imageSize) {\n if (emblemOnly === true) imageSize = '36';\n else if (textEmblem === true) imageSize = '140';\n else if (special === true) imageSize = '240';\n }\n let image = variant === 'light' ? '/static/gd-id-logo-small.png' : '/static/gd-id-logo-small.png';\n\n // if (emblemOnly) image = '/static/gdg-mei-logo-duck.png';\n if (emblemOnly) image = variant === 'light' ? '/static/create-logo-light.png' : '/static/create-logo-dark.png';\n else if (textEmblem) image = variant === 'light' ? '/static/create-logo-text-light.png' : '/static/create-logo-text-dark.png';\n else if (special) image = variant === 'light' ? '/static/create-logo-light-v2.png' : '/static/create-logo-dark-v2.png';\n\n return (\n <img\n src={image}\n width={imageSize}\n alt=\"GD Create Logo\"\n />\n );\n};\n\nLogo.defaultProps = {\n emblemOnly: false,\n variant: 'dark'\n};\n\nLogo.propTypes = {\n emblemOnly: PropTypes.bool,\n variant: PropTypes.oneOf(['light', 'dark']),\n size: PropTypes.number,\n special: PropTypes.bool,\n textEmblem: PropTypes.bool\n};\n","import { createSvgIcon } from '@material-ui/core/utils';\n\nexport const ChevronDown = createSvgIcon(\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\"\n clipRule=\"evenodd\"\n />\n </svg>, 'ChevronDown'\n);\n","import { serverAxios as axios } from '../utils/axios';\n\nclass AuthApi {\n async login({ email }) {\n // POST REQUEST TO LOGIN\n try {\n const res = await axios.post('/gdcreate/auth/login', { email });\n return res.data;\n } catch (err) {\n console.log(err);\n throw err.response.data.error;\n }\n }\n\n async loginVerification({ email, code }) {\n try {\n // POST REQUEST TO LOGIN\n const res = await axios.post('/gdcreate/auth/login/verify', { email, code });\n return res.data;\n } catch (err) {\n throw err.response.data.error;\n }\n }\n\n async logout(accessToken) {\n const config = {\n headers: { Authorization: `Bearer ${accessToken}` },\n };\n\n // POST REQUEST TO LOGIN\n try {\n const res = await axios.delete('/gdcreate/auth/', config);\n return res.data;\n } catch (err) {\n console.log(err.response);\n throw err.response.data.error;\n }\n }\n\n async refreshToken(retry = false) {\n // POST REQUEST TO LOGIN\n try {\n const res = await axios.post('/gdcreate/auth/refresh_token', {}, { retry });\n return res.data;\n } catch (err) {\n throw err.response.data.error;\n }\n }\n\n async validateToken(accessToken) {\n const config = {\n headers: { Authorization: `Bearer ${accessToken}` },\n };\n\n // POST REQUEST TO VALIDATE TOKEN\n try {\n const res = await axios.post('/gdcreate/auth/validate_token', {}, config);\n return res.data;\n } catch (err) {\n throw err.response;\n }\n }\n}\n\nexport const authApi = new AuthApi();\n","import { useEffect, useRef } from 'react';\n\n/**\n *\n * @param {Function} callback\n * @param {Number} delay\n * @param {Boolean} strict // Strict means it runs on the minute\n */\n\nexport const useInterval = (callback, delay, strict = false) => {\n const savedCallback = useRef();\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n const tick = () => savedCallback.current();\n // Redo\n if (delay !== null) {\n let id;\n if (strict) {\n const date = new Date();\n setTimeout(() => {\n // Tick one time first\n tick();\n // Interval\n id = setInterval(tick, delay);\n }, (60 - date.getSeconds()) * 1000);\n } else {\n id = setInterval(tick, delay);\n }\n // Clear Interval\n return () => clearInterval(id);\n }\n return () => {};\n }, [delay]);\n};\n","import { createContext, useEffect, useReducer } from 'react';\nimport { useCookies } from 'react-cookie';\nimport PropTypes from 'prop-types';\nimport { authApi } from '../api/auth';\nimport { accountApi } from '../api/account';\nimport { useInterval } from '../hooks/use-interval';\n\nconst initialState = {\n isAuthenticated: false,\n isInitialized: false,\n accessToken: null,\n user: null,\n ledger: { balance: 0 }\n};\n\nconst handlers = {\n INITIALIZE: (state, action) => {\n const { isAuthenticated, accessToken, user } = action.payload;\n\n return {\n ...state,\n isAuthenticated,\n isInitialized: true,\n accessToken,\n user\n };\n },\n LOGIN: (state, action) => {\n const { userId } = action.payload;\n\n return {\n ...state,\n isAuthenticated: false,\n accessToken: null,\n user: { id: userId }\n };\n },\n AUTHENTICATE: (state, action) => {\n const { user, accessToken } = action.payload;\n\n return {\n ...state,\n isAuthenticated: true,\n accessToken,\n user\n };\n },\n LOGOUT: (state) => ({\n ...state,\n isAuthenticated: false,\n accessToken: null,\n user: null\n }),\n SYNC: (state, action) => {\n const { user } = action.payload;\n\n return {\n ...state,\n user: { ...state.user, ...user }\n };\n },\n LEDGER: (state, action) => {\n const { ledger } = action.payload;\n\n return {\n ...state,\n ledger: { ...state.ledger, ...ledger }\n };\n }\n};\n\nconst reducer = (state, action) => (handlers[action.type]\n ? handlers[action.type](state, action)\n : state);\n\nexport const AuthContext = createContext({\n ...initialState,\n method: 'JWT',\n login: () => Promise.resolve(),\n login_verification: () => Promise.resolve(),\n register: () => Promise.resolve(),\n register_verification: () => Promise.resolve(),\n logout: () => Promise.resolve(),\n syncUser: () => Promise.resolve(),\n updateLedger: () => Promise.resolve()\n});\n\nexport const AuthProvider = (props) => {\n const { children } = props;\n const [state, dispatch] = useReducer(reducer, initialState);\n\n const cookie = useCookies(['account-request-values', 'payment-settings-values']);\n\n const refreshToken = async () => {\n try {\n const { user, accessToken } = await authApi.refreshToken();\n\n if (accessToken) {\n let account = {};\n if (user['gd-create-id']) {\n const response = await accountApi.getById(user.id, accessToken);\n account = response.account;\n }\n\n // Dispatch\n dispatch({\n type: 'INITIALIZE',\n payload: {\n isAuthenticated: true,\n accessToken,\n user: { ...user, ...account }\n }\n });\n\n // Loop Refresh\n // setTimeout(() => {\n // refreshToken();\n // }, (300 * 1000) - 500); // 500ms before 580 seconds refresh\n } else { throw new Error('Failed to generate access token.'); }\n } catch (err) {\n // Dispatch\n dispatch({\n type: 'INITIALIZE',\n payload: {\n isAuthenticated: false,\n accessToken: null,\n user: null\n }\n });\n }\n };\n\n const login = async (email) => {\n try {\n const { message } = await authApi.login({ email });\n\n return message;\n } catch (err) {\n console.log(err);\n // Dispatch\n dispatch({\n type: 'INITIALIZE',\n payload: {\n isAuthenticated: false,\n accessToken: null,\n user: null\n }\n });\n throw err;\n }\n };\n\n const loginVerification = async (email, code) => {\n try {\n const { user, accessToken } = await authApi.loginVerification({ email, code });\n\n if (accessToken) {\n dispatch({\n type: 'AUTHENTICATE',\n payload: {\n accessToken,\n user\n }\n });\n } else { throw new Error('Failed to generate access token.'); }\n } catch (err) {\n console.log(err);\n throw err;\n }\n };\n\n const logout = async (accessToken) => {\n try {\n await authApi.logout(accessToken);\n\n if (cookie) {\n const removeCookie = cookie[2];\n removeCookie('accountRequest');\n removeCookie('payment-settings-values');\n }\n\n dispatch({ type: 'LOGOUT' });\n } catch (err) {\n console.log(err);\n }\n };\n\n const syncUser = async (data) => {\n if (!data) return;\n\n const { user } = state;\n const { id: userId } = data;\n\n // Check If ID matches the currently logged in user\n // Then update the data of the currently logged in\n if (userId === user.id) dispatch({ type: 'SYNC', payload: { user: data } });\n };\n\n const updateLedger = (ledger) => {\n if (!ledger) return;\n\n dispatch({ type: 'LEDGER', payload: { ledger } });\n };\n\n const validateToken = async () => {\n if (state && !state.isAuthenticated) return;\n try {\n await authApi.validateToken(state.accessToken);\n } catch (err) {\n if (err.status === 401) {\n console.log('not validated, refreshing token.');\n refreshToken();\n }\n }\n };\n\n // Refresh Token\n useEffect(() => {\n refreshToken();\n }, []);\n\n useInterval(validateToken, (1000 * 30) - 500);\n useInterval(refreshToken, (1000 * 300) - 500);\n\n useEffect(async () => {\n if (state.isAuthenticated) await syncUser();\n }, [state.isAuthenticated]);\n\n return (\n <AuthContext.Provider\n value={{\n ...state,\n method: 'JWT',\n login,\n loginVerification,\n logout,\n syncUser,\n updateLedger\n }}\n >\n {children}\n </AuthContext.Provider>\n );\n};\n\nAuthProvider.propTypes = {\n children: PropTypes.node.isRequired\n};\n","import PropTypes from 'prop-types';\nimport { TextField } from '@material-ui/core';\nimport { alpha } from '@material-ui/core/styles';\n\nexport const InputField = (props) => {\n const { InputProps, sx, pad, textAlign, fontSize, borderRadius, ...other } = props;\n\n return (\n <TextField\n inputProps={{\n sx: {\n alignItems: 'center',\n display: 'flex',\n height: 'unset',\n lineHeight: 1.6,\n textAlign: textAlign ?? 'left',\n fontSize: fontSize ?? 14,\n px: 1.5,\n py: 0.75,\n '&.MuiInputBase-inputAdornedStart': {\n pl: 0\n }\n }\n }}\n variant=\"filled\"\n InputLabelProps={{\n shrink: true,\n sx: {\n color: 'text.primary',\n fontSize: 14,\n fontWeight: 500,\n mb: 0.5,\n position: 'relative',\n transform: 'none'\n }\n }}\n sx={{\n '& .MuiFilledInput-root': {\n backgroundColor: 'background.paper',\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: 'neutral.300',\n borderRadius: borderRadius ?? 1,\n boxShadow: '0px 1px 2px 0px rgba(9, 30, 66, 0.08)',\n overflow: 'hidden',\n p: pad ?? 0,\n transition: (theme) => theme.transitions.create([\n 'border-color',\n 'box-shadow'\n ]),\n '&:before': {\n borderBottom: 0\n },\n '&:hover': {\n backgroundColor: 'background.paper'\n },\n '&.Mui-focused': {\n backgroundColor: 'background.paper',\n boxShadow: (theme) => `${alpha(theme.palette.primary.main, 0.25)} 0 0 0 0.2rem`\n },\n '&.Mui-disabled': {\n backgroundColor: 'action.disabledBackground',\n boxShadow: 'none',\n borderColor: alpha('#D6DBE1', 0.5)\n },\n '.MuiInputAdornment-root.MuiInputAdornment-positionStart.MuiInputAdornment-root:not(.MuiInputAdornment-hiddenLabel)': {\n mt: 0,\n ml: 1.5\n }\n },\n ...sx\n }}\n // eslint-disable-next-line react/jsx-no-duplicate-props\n InputProps={{\n ...InputProps,\n disableUnderline: true\n }}\n {...other}\n />\n );\n};\n\nInputField.propTypes = {\n InputProps: PropTypes.object,\n sx: PropTypes.object,\n pad: PropTypes.number,\n textAlign: PropTypes.string,\n fontSize: PropTypes.string,\n borderRadius: PropTypes.string\n};\n","import { useEffect, useRef } from 'react';\n\nexport const useMounted = () => {\n const isMounted = useRef(true);\n\n useEffect(() => () => {\n isMounted.current = false;\n }, []);\n\n return isMounted;\n};\n","import { serverAxios as axios } from '../utils/axios';\n\nclass AccountApi {\n async getById(accountId, accessToken) {\n const config = {\n headers: { Authorization: `Bearer ${accessToken}` }\n };\n\n // GET REQUEST\n try {\n const res = await axios.get(`/gdcreate/account/${accountId}`, config);\n return res.data;\n } catch (err) {\n console.log(err.response);\n throw err.response.data.error;\n }\n }\n\n async update(accountId, values, accessToken) {\n const config = {\n headers: { Authorization: `Bearer ${accessToken}` }\n };\n\n // GET REQUEST\n try {\n const res = await axios.post(`/gdcreate/account/${accountId}/update`, { values }, config);\n return res.data;\n } catch (err) {\n console.log(err.response);\n throw err.response.data.error;\n }\n }\n}\n\nexport const accountApi = new AccountApi();\n","import { serverAxios as axios } from '../utils/axios';\n\nclass TransactionsApi {\n async getLedger(accountId, accessToken) {\n const config = {\n headers: { Authorization: `Bearer ${accessToken}` }\n };\n\n // GET REQUEST\n try {\n const res = await axios.get(`/gdcreate/account/${accountId}/ledger`, config);\n return res.data;\n } catch (err) {\n console.log(err.response);\n throw err.response.data.error;\n }\n }\n\n async getTransactions({ accountId, lastTransaction }, accessToken) {\n const config = {\n headers: { Authorization: `Bearer ${accessToken}` },\n params: {\n continuationToken: lastTransaction\n }\n };\n\n // GET REQUEST\n try {\n const res = await axios.get(`/gdcreate/account/${accountId}/transactions`, config);\n return res.data;\n } catch (err) {\n console.log(err.response);\n throw err.response.data.error;\n }\n }\n}\n\nexport const transactionsApi = new TransactionsApi();\n","import { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport SimpleBar from 'simplebar-react';\nimport { Box } from '@material-ui/core';\n\nexport const Scrollbar = forwardRef((props, ref) => {\n const { children, ...other } = props;\n\n const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n\n if (isMobile) {\n return (\n <Box\n ref={ref}\n sx={{ overflowX: 'auto' }}\n {...other}\n >\n {children}\n </Box>\n );\n }\n\n return (\n <SimpleBar\n ref={ref}\n {...other}\n >\n {children}\n </SimpleBar>\n );\n});\n\nScrollbar.propTypes = {\n children: PropTypes.node\n};\n","import { createSvgIcon } from '@material-ui/core/utils';\n\nexport const ChevronLeft = createSvgIcon(\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n />\n </svg>, 'ChevronLeft'\n);\n","import PropTypes from 'prop-types';\nimport {\n Button,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Typography\n} from '@material-ui/core';\nimport ErrorIcon from '@material-ui/icons/Error';\nimport WarningIcon from '@material-ui/icons/Warning';\nimport InfoIcon from '@material-ui/icons/Info';\n\nconst icons = {\n error: (\n <ErrorIcon\n color=\"error\"\n fontSize=\"large\"\n />\n ),\n warning: (\n <WarningIcon\n color=\"warning\"\n fontSize=\"large\"\n />\n ),\n info: (\n <InfoIcon\n color=\"info\"\n fontSize=\"large\"\n />\n )\n};\n\nexport const DisplayDialog = (props) => {\n const { message, onClose, open, title, variant, ...other } = props;\n\n return (\n <Dialog\n onClose={onClose}\n open={open}\n PaperProps={{\n sx: {\n width: '100%'\n }\n }}\n {...other}\n >\n <DialogTitle\n sx={{\n alignItems: 'center',\n display: 'flex'\n }}\n >\n {icons[variant]}\n <Typography\n color=\"inherit\"\n sx={{ ml: 2 }}\n variant=\"inherit\"\n >\n {title}\n </Typography>\n </DialogTitle>\n <DialogContent>\n <Typography\n color=\"textPrimary\"\n variant=\"body1\"\n >\n {message}\n </Typography>\n </DialogContent>\n <DialogActions>\n <Button\n color=\"primary\"\n onClick={onClose}\n variant=\"text\"\n >\n Close\n </Button>\n </DialogActions>\n </Dialog>\n );\n};\n\nDisplayDialog.defaultProps = {\n open: false\n};\n\nDisplayDialog.propTypes = {\n message: PropTypes.string.isRequired,\n onClose: PropTypes.func,\n open: PropTypes.bool,\n title: PropTypes.string.isRequired,\n variant: PropTypes.oneOf(['error', 'warning', 'info'])\n};\n","import { useState } from 'react';\nimport { useFormik } from 'formik';\nimport * as Yup from 'yup';\nimport { Box, Button, FormHelperText, Grid, Typography } from '@material-ui/core';\nimport toast from 'react-hot-toast';\nimport { Link } from 'react-router-dom';\nimport { InputField } from '../input-field';\nimport { useAuth } from '../../hooks/use-auth';\nimport { useMounted } from '../../hooks/use-mounted';\nimport { DisplayDialog } from '../display-dialog';\n\nexport const LoginJwt = () => {\n const mounted = useMounted();\n const { login, loginVerification } = useAuth();\n const [phase, setPhase] = useState(0);\n const [showRegisterMessage, setShowRegisterMessage] = useState(false);\n\n const formik = useFormik({\n initialValues: {\n email: '',\n code: '',\n submit: null\n },\n validationSchema: Yup.object().shape({\n email: Yup.string()\n .email('Must be a valid email')\n .max(255)\n .trim()\n .required('Email is required'),\n code: phase === 1 ? Yup.string().max(255).trim().required('Code is required') : null,\n policy: Yup.boolean()\n }),\n onSubmit: async (values, helpers) => {\n try {\n if (phase === 0) {\n await login(values.email);\n // Set Phase\n setPhase(1);\n\n toast.success('Please check your email address and enter the code in.');\n } else {\n await loginVerification(values.email, values.code);\n\n if (mounted.current) {\n helpers.setStatus({ success: true });\n helpers.setSubmitting(false);\n toast.success('Successfully Logged in');\n }\n }\n } catch (err) {\n if (err) {\n toast.error(err);\n } else {\n toast.error('Unfortunately, code is not valid. Please try logging in again.');\n }\n\n if (mounted.current) {\n helpers.setStatus({ success: false });\n helpers.setErrors({ submit: err?.message });\n helpers.setSubmitting(false);\n }\n }\n }\n });\n\n return (\n <form onSubmit={formik.handleSubmit}>\n <Box\n sx={{\n alignItems: 'center',\n mb: 3\n }}\n >\n <Typography\n color=\"textPrimary\"\n variant=\"body1\"\n align=\"center\"\n sx={{ fontSize: '18px', fontWeight: '600' }}\n >\n Sign in with your Gigantic Duck ID\n </Typography>\n <Box sx={{ flexGrow: 1 }} />\n </Box>\n <Grid\n container\n spacing={2}\n >\n <Grid\n item\n xs={12}\n >\n <InputField\n autoFocus\n error={Boolean(formik.touched.email && formik.errors.email)}\n disabled={phase === 1}\n fullWidth\n helperText={formik.touched.email && formik.errors.email}\n placeholder=\"Email address\"\n name=\"email\"\n onBlur={formik.handleBlur}\n onChange={formik.handleChange}\n type=\"email\"\n value={formik.values.email}\n pad={2}\n />\n </Grid>\n {\n phase === 1 ? (\n <Grid\n item\n xs={12}\n >\n <InputField\n error={Boolean(formik.touched.code && formik.errors.code)}\n fullWidth\n helperText={formik.touched.code && formik.errors.code}\n placeholder=\"Code\"\n name=\"code\"\n onBlur={formik.handleBlur}\n onChange={formik.handleChange}\n type=\"text\"\n value={formik.values.code}\n pad={2}\n />\n </Grid>\n ) : <></>\n }\n {formik.errors.submit && (\n <Grid\n item\n xs={12}\n >\n <FormHelperText error>\n {formik.errors.submit}\n </FormHelperText>\n </Grid>\n )}\n <Grid\n item\n xs={12}\n >\n <Button\n disabled={formik.isSubmitting}\n type=\"submit\"\n color=\"primary\"\n size=\"large\"\n variant=\"contained\"\n sx={{\n p: 2,\n fontSize: '12px',\n width: '100%',\n letterSpacing: '1px'\n }}\n >\n LOG IN NOW\n </Button>\n </Grid>\n {\n phase === 1 && (\n <Grid\n item\n xs={12}\n >\n <Button\n disabled={formik.isSubmitting}\n onClick={() => {\n // Set Phase to 0\n setPhase(0);\n\n formik.resetForm();\n }}\n type=\"button\"\n color=\"white\"\n variant=\"text\"\n sx={{\n p: 1,\n fontSize: '12px',\n width: '100%',\n letterSpacing: '1px'\n }}\n >\n RETRY\n </Button>\n </Grid>\n )\n }\n <Grid\n item\n xs={12}\n >\n <Button\n component=\"a\"\n type=\"button\"\n color=\"primary\"\n size=\"large\"\n variant=\"text\"\n sx={{\n p: 2,\n fontSize: '12px',\n letterSpacing: '1px',\n textDecoration: 'underline',\n width: '50%',\n textAlign: 'center',\n margin: 'auto',\n display: 'block'\n }}\n href=\"https://giganticduck.com/privacy-policy/\"\n target=\"_blank\"\n >\n Privacy Policy\n </Button>\n\n <Button\n type=\"button\"\n color=\"white\"\n variant=\"text\"\n size=\"small\"\n sx={{\n p: 2,\n fontSize: '12px',\n letterSpacing: '1px',\n textDecoration: 'underline',\n textAlign: 'center',\n margin: 'auto',\n display: 'block'\n }}\n onClick={() => setShowRegisterMessage(true)}\n >\n Don't have an account?\n </Button>\n\n <DisplayDialog\n open={showRegisterMessage}\n onClose={() => setShowRegisterMessage(false)}\n title=\"Don't have an account?\"\n message=\"If you don't have an account yet, you can easily create one. Just download the Bombergrounds game and sign up for a Gigantic Duck ID.\"\n variant=\"info\"\n />\n </Grid>\n <Grid\n item\n xs={12}\n >\n <Box>\n <Typography\n variant=\"body2\"\n color=\"textPrimary\"\n textAlign=\"center\"\n >\n Back to \n <Link\n style={{\n width: '50%',\n textAlign: 'center',\n margin: 'auto',\n color: 'white',\n fontWeight: 600,\n textDecoration: 'none'\n }}\n to=\"/\"\n >\n Home\n </Link>\n </Typography>\n </Box>\n </Grid>\n </Grid>\n </form>\n );\n};\n","import { useEffect } from 'react';\nimport { Helmet } from 'react-helmet-async';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { Box, Card, CardContent, Container, Grid, Toolbar } from '@material-ui/core';\nimport { LoginJwt } from '../components/auth/login-jwt';\nimport { Logo } from '../components/logo';\nimport { useSettings } from '../contexts/settings-context';\nimport { useAuth } from '../hooks/use-auth';\nimport gtm from '../lib/gtm';\n\nexport const Login = () => {\n const { method } = useAuth();\n const { settings } = useSettings();\n\n useEffect(() => {\n gtm.push({ event: 'page_view' });\n }, []);\n\n return (\n <>\n <Helmet>\n <title>Login | GD Create</title>\n </Helmet>\n <Box\n sx={{\n backgroundColor: 'background.default',\n minHeight: '100%',\n pt: '64px'\n }}\n >\n <Box sx={{ py: 10 }}>\n <Container\n maxWidth=\"md\"\n >\n <Grid\n container\n justifyContent=\"center\"\n >\n <Grid\n item\n justifyContent=\"center\"\n md={6}\n sx={{\n backgroundColor: 'neutral.100',\n py: 6,\n px: 0\n }}\n >\n <Container maxWidth=\"md\">\n <Toolbar\n disableGutters\n sx={{ height: 64 }}\n >\n <Box\n sx={{ m: 'auto', display: 'block' }}\n >\n <RouterLink\n to=\"/\"\n >\n <Logo\n variant={settings.theme === 'dark' ? 'light' : 'dark'}\n />\n </RouterLink>\n </Box>\n </Toolbar>\n\n <Card\n elevation={0}\n sx={{\n backgroundColor: 'neutral.100'\n }}\n >\n <CardContent>\n {method === 'JWT' ? <LoginJwt /> : <></>}\n </CardContent>\n </Card>\n </Container>\n </Grid>\n </Grid>\n </Container>\n <Box\n sx={{\n position: 'absolute',\n bottom: 0,\n right: 0\n }}\n >\n <img\n src=\"/static/Owl_Shaman_Small.png\"\n alt=\"owl_shaman\"\n />\n </Box>\n </Box>\n </Box>\n </>\n );\n};\n","import { useContext } from 'react';\nimport { AuthContext } from '../contexts/jwt-auth-context';\n\nexport const useAuth = () => useContext(AuthContext);\n","import axios from 'axios';\n\nconst ServerApiOptions = {\n baseURL: process.env.REACT_APP_API_SERVER,\n withCredentials: true,\n params: {\n source: 'create',\n environmentIdentifier: process.env.REACT_APP_ENVIRONMENT_IDENTIFIER\n }\n};\n\nexport const serverAxios = axios.create(ServerApiOptions);\n","import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\n\nconst resources = {\n en: {\n translation: {}\n },\n de: {\n translation: {\n 'Language changed': 'Sprache geändert',\n 'Blank Page': 'Leere Seiten',\n 'Card Headers': 'Kartenüberschriften',\n 'Data States': 'Datenstatus',\n 'Data Stats': 'Datenstatistiken',\n 'General Settings': 'Allgemeine Einstellungen',\n 'Image Uploader': 'Bild-Uploader',\n 'Page Headers': 'Seitenüberschriften',\n Account: 'Konto',\n Activity: 'Aktivität',\n Billing: 'Abrechnung',\n Buttons: 'Tasten',\n Colors: 'Farben',\n Components: 'Komponenten',\n Create: 'Schaffen',\n Customers: 'Kunden',\n Details: 'Einzelheiten',\n Documentation: 'Dokumentation',\n Foundation: 'Stiftung',\n Inputs: 'Eingänge',\n Insights: 'Einblicke',\n Inventory: 'Inventar',\n Invoices: 'Rechnungen',\n List: 'Aufführen',\n Lists: 'Listen',\n Notifications: 'Benachrichtigungen',\n Onboarding: 'Onboarding',\n Orders: 'Aufträge',\n Organization: 'Organisationen',\n Overview: 'Ãœberblick',\n Preview: 'Vorschau',\n Products: 'Produkte',\n Reports: 'Berichte',\n Sales: 'Der Umsatz',\n Shadows: 'Schatten',\n Summary: 'Zusammenfassung',\n Tables: 'Tabellen',\n Team: 'Team',\n Typography: 'Typografie'\n }\n },\n es: {\n translation: {\n 'Language changed': 'Idioma cambianda',\n 'Blank Page': 'Paginas en Blanco',\n 'Card Headers': 'Encabezados de Tarjetas',\n 'Data States': 'Estados de Datos',\n 'Data Stats': 'EstadÃsticas de Datos',\n 'General Settings': 'Configuración General',\n 'Image Uploader': 'Cargador de Imágenes',\n 'Page Headers': 'Encabezados de Página',\n Account: 'Cuenta',\n Activity: 'Actividad',\n Billing: 'Facturación',\n Buttons: 'Botones',\n Colors: 'Colores',\n Components: 'Componentes',\n Create: 'Crear',\n Customers: 'Clientes',\n Details: 'Detalles',\n Documentation: 'Documentación',\n Foundation: 'Fundación',\n Inputs: 'Entradas',\n Insights: 'Perspectivas',\n Inventory: 'Inventario',\n Invoices: 'Facturas',\n List: 'Lista',\n Lists: 'Listas',\n Notifications: 'Notificaciones',\n Onboarding: 'Inducción',\n Orders: 'Pedidos',\n Organization: 'Organizaciones',\n Overview: 'Visión general',\n Preview: 'Avance',\n Products: 'Productos',\n Reports: 'Informes',\n Sales: 'Ventas',\n Shadows: 'Sombras',\n Summary: 'Resumen',\n Tables: 'Tabeles',\n Team: 'Equipo',\n Typography: 'TipografÃa'\n }\n }\n};\n\nexport const initializeI18n = (lng) => {\n i18n\n .use(initReactI18next)\n .init({\n resources,\n lng,\n fallbackLng: 'en',\n interpolation: {\n escapeValue: false\n }\n });\n};\n","export const throttle = 150;\n\nexport const gtmConfig = {\n containerId: process.env.REACT_APP_GTM_CONTAINER_ID\n};\n\nexport const amplifyConfig = {\n aws_project_region: process.env.REACT_APP_AWS_PROJECT_REGION,\n aws_cognito_identity_pool_id: process.env.REACT_APP_AWS_COGNITO_IDENTITY_POOL_ID,\n aws_cognito_region: process.env.REACT_APP_AWS_COGNITO_REGION,\n aws_user_pools_id: process.env.REACT_APP_AWS_USER_POOLS_ID,\n aws_user_pools_web_client_id: process.env.REACT_APP_AWS_USER_POOLS_WEB_CLIENT_ID\n};\n\nexport const auth0Config = {\n client_id: process.env.REACT_APP_AUTH0_CLIENT_ID,\n domain: process.env.REACT_APP_AUTH0_DOMAIN\n};\n\nexport const firebaseConfig = {\n apiKey: process.env.REACT_APP_FIREBASE_API_KEY,\n appId: process.env.REACT_APP_FIREBASE_APP_ID,\n authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,\n databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL,\n messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,\n projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,\n storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET\n};\n","import { Navigate, useLocation } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { useAuth } from '../../hooks/use-auth';\n\nexport const RegisteredGuard = (props) => {\n const { children } = props;\n const { user } = useAuth();\n const location = useLocation();\n\n if (user['gd-create-id'] === '' || typeof user['gd-create-id'] === 'undefined' || user['gd-create-id'] === null) {\n if (user.pending && location.pathname !== '/account-request-pending') {\n return (\n <Navigate to=\"/account-request-pending\" />\n );\n }\n\n if (!user.pending && location.pathname !== '/account-request') {\n return (\n <Navigate to=\"/account-request\" />\n );\n }\n }\n\n // ADD GUARD TO THIS\n return <>{children}</>;\n};\n\nRegisteredGuard.propTypes = {\n children: PropTypes.node\n};\n","import { useState } from 'react';\nimport { Navigate, useLocation } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { useAuth } from '../../hooks/use-auth';\nimport { Login } from '../../containers/login';\nimport { RegisteredGuard } from './registered-guard';\n\nexport const AuthGuard = (props) => {\n const { children } = props;\n const auth = useAuth();\n const location = useLocation();\n const [requestedLocation, setRequestedLocation] = useState(null);\n\n if (!auth.isAuthenticated) {\n if (location.pathname !== requestedLocation) {\n setRequestedLocation(location.pathname);\n }\n\n return (\n <Login />\n );\n }\n\n // This is done so that in case the route changes by any chance through other\n // means between the moment of request and the render we navigate to the initially\n // requested route.\n if (requestedLocation && location.pathname !== requestedLocation) {\n setRequestedLocation(null);\n return <Navigate to={requestedLocation} />;\n }\n\n // ADD GUARD TO THIS\n return <RegisteredGuard>{children}</RegisteredGuard>;\n};\n\nAuthGuard.propTypes = {\n children: PropTypes.node\n};\n","import { Navigate } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { useAuth } from '../../hooks/use-auth';\n\nexport const GuestGuard = ({ children }) => {\n const { isAuthenticated } = useAuth();\n\n if (isAuthenticated) {\n return <Navigate to=\"/dashboard\" />;\n }\n\n return <>{children}</>;\n};\n\nGuestGuard.propTypes = {\n children: PropTypes.node\n};\n","import { Navigate } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { useAuth } from '../../hooks/use-auth';\n\nexport const UnRegisteredGuard = (props) => {\n const { children } = props;\n const { user } = useAuth();\n\n if (user['gd-create-id'] === '' || typeof user['gd-create-id'] === 'undefined' || user['gd-create-id'] === null) {\n // ADD GUARD TO THIS\n return <>{children}</>;\n }\n\n return (\n <Navigate to=\"/\" />\n );\n};\n\nUnRegisteredGuard.propTypes = {\n children: PropTypes.node\n};\n","import { useEffect } from 'react';\nimport NProgress from 'nprogress';\nimport { Box } from '@material-ui/core';\n\nexport const LoadingScreen = () => {\n useEffect(() => {\n NProgress.start();\n\n return () => {\n NProgress.done();\n };\n }, []);\n\n return (\n <Box\n sx={{\n backgroundColor: 'background.default',\n flexGrow: 1\n }}\n />\n );\n};\n","import { Box, Container, Typography } from '@material-ui/core';\n\n// const links = [\n// {\n// label: 'Dashboard',\n// href: '/dashboard',\n// target: '_self'\n// },\n// {\n// label: 'Company',\n// href: 'https://giganticduck.com',\n// target: '_blank'\n// }\n// ];\n\nexport const Footer = () => (\n <div>\n <Container\n maxWidth=\"lg\"\n sx={{\n display: 'flex',\n flexDirection: {\n sm: 'row',\n xs: 'column'\n },\n py: 3,\n '& a': {\n mt: {\n sm: 0,\n xs: 1\n },\n '&:not(:last-child)': {\n mr: {\n sm: 5,\n xs: 0\n }\n }\n }\n }}\n >\n <Typography\n color=\"textSecondary\"\n variant=\"caption\"\n >\n {`© ${new Date().getFullYear()} Gigantic Duck AB`}\n </Typography>\n <Box sx={{ flexGrow: 1 }} />\n {/* {links.map((link) => (\n <Link\n color=\"textSecondary\"\n href={link.href}\n key={link.label}\n target={link.target}\n underline=\"none\"\n variant=\"body2\"\n >\n {link.label}\n </Link>\n ))} */}\n </Container>\n </div>\n);\n","import { createSvgIcon } from '@material-ui/core/utils';\n\nexport const Moon = createSvgIcon(\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path d=\"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z\" />\n </svg>, 'Moon'\n);\n","import { createSvgIcon } from '@material-ui/core/utils';\n\nexport const Sun = createSvgIcon(\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z\"\n clipRule=\"evenodd\"\n />\n </svg>, 'Sun'\n);\n","import { createSvgIcon } from '@material-ui/core/utils';\n\nexport const CustomUsers = createSvgIcon(\n <svg\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path d=\"M9 6C9 6.79565 8.68393 7.55871 8.12132 8.12132C7.55871 8.68393 6.79565 9 6 9C5.20435 9 4.44129 8.68393 3.87868 8.12132C3.31607 7.55871 3 6.79565 3 6C3 5.20435 3.31607 4.44129 3.87868 3.87868C4.44129 3.31607 5.20435 3 6 3C6.79565 3 7.55871 3.31607 8.12132 3.87868C8.68393 4.44129 9 5.20435 9 6ZM6 11C7.32608 11 8.59785 11.5268 9.53553 12.4645C10.4732 13.4021 11 14.6739 11 16V17H1V16C1 14.6739 1.52678 13.4021 2.46447 12.4645C3.40215 11.5268 4.67392 11 6 11Z\" />\n <path\n opacity=\"0.5\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M17 6C17 6.39397 16.9224 6.78407 16.7716 7.14805C16.6209 7.51203 16.3999 7.84274 16.1213 8.12132C15.8427 8.3999 15.512 8.62087 15.1481 8.77164C14.7841 8.9224 14.394 9 14 9C13.606 9 13.2159 8.9224 12.8519 8.77164C12.488 8.62087 12.1573 8.3999 11.8787 8.12132C11.6001 7.84274 11.3791 7.51203 11.2284 7.14805C11.0776 6.78407 11 6.39397 11 6C11 5.20435 11.3161 4.44129 11.8787 3.87868C12.4413 3.31607 13.2044 3 14 3C14.7956 3 15.5587 3.31607 16.1213 3.87868C16.6839 4.44129 17 5.20435 17 6ZM12.93 17.0001C12.976 16.6731 13 16.3401 13 16.0001C13.0023 14.429 12.4737 12.9031 11.5 11.6701C12.2601 11.2313 13.1223 11.0002 14 11.0002C14.8776 11.0002 15.7399 11.2313 16.4999 11.6701C17.26 12.1089 17.8912 12.7401 18.3301 13.5002C18.7689 14.2602 19 15.1224 19 16.0001V17.0001H12.93Z\"\n />\n </svg>, 'CustomUsers'\n);\n","import { createSvgIcon } from '@material-ui/core/utils';\n\nexport const ExternalLink = createSvgIcon(\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path d=\"M11 3a1 1 0 100 2h2.586l-6.293 6.293a1 1 0 101.414 1.414L15 6.414V9a1 1 0 102 0V4a1 1 0 00-1-1h-5z\" />\n <path d=\"M5 5a2 2 0 00-2 2v8a2 2 0 002 2h8a2 2 0 002-2v-3a1 1 0 10-2 0v3H5V7h3a1 1 0 000-2H5z\" />\n </svg>, 'ExternalLink'\n);\n","import { Link as RouterLink, matchPath, useLocation } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { Collapse, List, ListItemButton, ListItemIcon, ListItemText } from '@material-ui/core';\nimport { ChevronRight as ChevronRightIcon } from '../icons/chevron-right';\nimport { ChevronDown as ChevronDownIcon } from '../icons/chevron-down';\nimport { ExternalLink as ExternalLinkIcon } from '../icons/external-link';\n\nexport const DashboardNavbarMenuItem = (props) => {\n const {\n active,\n activeHref,\n external,\n href,\n icon: Icon,\n items,\n onClose,\n onOpenItem,\n open,\n title\n } = props;\n const { t } = useTranslation();\n const location = useLocation();\n\n // EnvironmentId\n let environmentId;\n const match = matchPath({ path: '/dashboard/:environmentId/*', strict: false }, location.pathname);\n if (match) ({ environmentId } = match.params);\n\n // Branch\n if (items) {\n return (\n <List\n disablePadding\n sx={{ width: '100%' }}\n >\n <ListItemButton\n divider\n key={title}\n onClick={onOpenItem}\n sx={{\n alignItems: 'center',\n borderColor: '#3F455A',\n display: 'flex',\n px: 3,\n py: 1.5,\n ...active && ({\n backgroundColor: '#383D4D',\n color: '#ffffff'\n }),\n '&:hover': {\n backgroundColor: '#383D4D',\n color: '#ffffff'\n }\n }}\n >\n <ListItemIcon\n sx={{\n color: 'inherit',\n minWidth: 0,\n mr: 1\n }}\n >\n <Icon />\n </ListItemIcon>\n <ListItemText\n primary={t(title)}\n primaryTypographyProps={{\n color: 'inherit',\n variant: 'caption'\n }}\n />\n {open\n ? (\n <ChevronDownIcon\n fontSize=\"small\"\n sx={{ color: '#506176' }}\n />\n )\n : (\n <ChevronRightIcon\n fontSize=\"small\"\n sx={{ color: '#506176' }}\n />\n )}\n </ListItemButton>\n <Collapse\n in={open}\n unmountOnExit\n >\n <List\n disablePadding\n sx={{ width: '100%' }}\n >\n {items.map((item) => {\n const isActive = activeHref === item.href;\n const newHref = item.href ? item.href.replace('/:environmentId', `/${environmentId}`) : '';\n\n return (\n <ListItemButton\n component={RouterLink}\n divider\n key={newHref}\n onClick={onClose}\n sx={{\n alignItems: 'center',\n borderColor: '#3F455A',\n display: 'flex',\n px: 3,\n py: 1.5,\n ...isActive && ({\n backgroundColor: '#383D4D',\n color: '#ffffff'\n }),\n '&:hover': {\n backgroundColor: '#383D4D',\n color: '#ffffff'\n }\n }}\n to={newHref}\n >\n <ListItemText\n primary={t(item.title)}\n primaryTypographyProps={{\n color: 'inherit',\n variant: 'caption'\n }}\n sx={{ my: 0 }}\n />\n </ListItemButton>\n );\n })}\n </List>\n </Collapse>\n </List>\n );\n }\n\n // Leaf\n return (\n <>\n <ListItemButton\n component={RouterLink}\n divider\n onClick={onClose}\n sx={{\n alignItems: 'center',\n borderColor: '#3F455A',\n display: 'flex',\n px: 3,\n py: 1.5,\n ...active && ({\n backgroundColor: '#383D4D',\n color: '#ffffff'\n }),\n '&:hover': {\n backgroundColor: '#383D4D',\n color: '#ffffff'\n }\n }}\n target={external ? '_target' : '_self'}\n to={href}\n >\n <ListItemIcon\n sx={{\n color: 'inherit',\n minWidth: 0,\n mr: 1\n }}\n >\n <Icon />\n </ListItemIcon>\n <ListItemText\n primary={t(title)}\n primaryTypographyProps={{\n color: 'inherit',\n variant: 'caption'\n }}\n />\n {external && <ExternalLinkIcon sx={{ color: '#506176' }} />}\n </ListItemButton>\n </>\n );\n};\n\nDashboardNavbarMenuItem.defaultProps = {\n open: false\n};\n\nDashboardNavbarMenuItem.propTypes = {\n active: PropTypes.bool,\n activeHref: PropTypes.string,\n external: PropTypes.bool,\n href: PropTypes.string,\n // @ts-ignore\n icon: PropTypes.elementType,\n items: PropTypes.array,\n onClose: PropTypes.func,\n onOpenItem: PropTypes.func,\n open: PropTypes.bool,\n title: PropTypes.string\n};\n","import { useState, useEffect } from 'react';\nimport { matchPath, useLocation } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { Drawer, List } from '@material-ui/core';\nimport {\n AttachMoney as AttachMoneyIcon,\n Dashboard as DashboardIcon,\n Payment as PaymentIcon,\n ContactSupport as ContactSupportIcon\n} from '@material-ui/icons';\nimport { CustomUsers as UsersIcon } from '../icons/custom-users';\nimport { DashboardNavbarMenuItem } from './dashboard-navbar-menu-item';\n\nconst items = [\n {\n icon: DashboardIcon,\n title: 'Dashboard',\n href: '/dashboard'\n },\n {\n icon: AttachMoneyIcon,\n title: 'Earnings',\n href: '/dashboard/earnings'\n },\n {\n icon: PaymentIcon,\n title: 'Payout',\n items: [\n {\n href: '/dashboard/payout',\n title: 'List'\n },\n {\n href: '/dashboard/payout/create',\n title: 'Payout Request'\n },\n {\n href: '/dashboard/payout/settings',\n title: 'Payment Settings'\n }\n ]\n },\n {\n icon: ContactSupportIcon,\n title: 'Help',\n href: '/dashboard/help'\n },\n {\n icon: UsersIcon,\n title: 'Contact',\n href: 'https://support.giganticduck.com',\n external: true\n }\n];\n\nexport const DashboardNavbarMenu = (props) => {\n const { open, onClose } = props;\n const { pathname } = useLocation();\n const [openedItem, setOpenedItem] = useState(null);\n const [activeItem, setActiveItem] = useState(null);\n const [activeHref, setActiveHref] = useState('');\n\n const handleOpenItem = (item) => {\n if (openedItem === item) {\n setOpenedItem(null);\n return;\n }\n\n setOpenedItem(item);\n };\n\n useEffect(() => {\n items.forEach((item) => {\n if (item.items) {\n for (let index = 0; index < item.items.length; index++) {\n const active = matchPath({ path: item.items[index].href, end: true }, pathname);\n\n if (active) {\n setActiveItem(item);\n setActiveHref(item.items[index].href);\n setOpenedItem(item);\n break;\n }\n }\n } else {\n const active = !!matchPath({ path: item.href, end: true }, pathname);\n\n if (active) {\n setActiveItem(item);\n setOpenedItem(item);\n }\n }\n });\n }, [pathname]);\n\n return (\n <Drawer\n anchor=\"top\"\n onClose={onClose}\n open={open}\n transitionDuration={0}\n ModalProps={{\n BackdropProps: {\n invisible: true\n }\n }}\n PaperProps={{\n sx: {\n backgroundColor: '#2B2F3C',\n color: '#B2B7C8',\n display: 'flex',\n flexDirection: 'column',\n top: 64,\n maxHeight: 'calc(100% - 64px)',\n width: '100vw'\n }\n }}\n >\n <List>\n {items.map((item) => (\n <DashboardNavbarMenuItem\n active={activeItem?.title === item.title}\n activeHref={activeHref}\n key={item.title}\n onClose={onClose}\n onOpenItem={() => handleOpenItem(item)}\n open={openedItem?.title === item.title}\n {...item}\n />\n ))}\n </List>\n </Drawer>\n );\n};\n\nDashboardNavbarMenu.propTypes = {\n open: PropTypes.bool,\n onClose: PropTypes.func\n};\n","import { useEffect, useState } from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { AppBar, Box, Button, Divider, IconButton, Toolbar, Typography } from '@material-ui/core';\nimport {\n Close as CloseIcon,\n Games as GamesIcon,\n Menu as MenuIcon\n} from '@material-ui/icons';\nimport { CurrencyExchange as CurrencyExchangeIcon } from '@mui/icons-material';\nimport { useSettings } from '../contexts/settings-context';\nimport { Moon as MoonIcon } from '../icons/moon';\nimport { Sun as SunIcon } from '../icons/sun';\n// import { AccountPopover } from './account-popover';\nimport { Logo } from './logo';\nimport { DashboardNavbarMenu } from './dashboard-navbar-menu';\nimport { useAuth } from '../hooks/use-auth';\nimport { transactionsApi } from '../api/transactions';\n\nexport const DashboardNavbar = () => {\n const mdDown = useMediaQuery((theme) => theme.breakpoints.down('md'));\n const { user, ledger, updateLedger, accessToken } = useAuth();\n const { settings, saveSettings } = useSettings();\n const [openMenu, setOpenMenu] = useState(false);\n const [darkMode, setDarkMode] = useState(settings.theme === 'dark');\n\n useEffect(async () => {\n try {\n const { data } = await transactionsApi.getLedger(user.id, accessToken);\n // Set Cache\n if (data) {\n localStorage.setItem('gdcreate_balance', data.balance);\n localStorage.setItem('gdcreate_reserved', data.reserved);\n // Update Ledger\n updateLedger(data);\n }\n } catch (err) {\n console.log(err);\n }\n }, [user]);\n\n const handleSwitchTheme = () => {\n saveSettings({\n ...settings,\n theme: settings.theme === 'light' ? 'dark' : 'light'\n });\n\n setDarkMode(settings.theme === 'light');\n };\n\n useEffect(() => {\n setDarkMode(settings.theme === 'dark');\n }, [settings]);\n\n // Get cache\n const balance = localStorage.getItem('gdcreate_balance');\n const reserved = localStorage.getItem('gdcreate_reserved');\n\n return (\n <AppBar\n elevation={0}\n sx={{ backgroundColor: 'neutral.100' }}\n >\n <Toolbar\n disableGutters\n sx={{\n alignItems: 'center',\n display: 'flex',\n minHeight: 64,\n px: 3,\n py: 1\n }}\n >\n <Box\n component={RouterLink}\n to=\"/dashboard\"\n sx={{\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center'\n }}\n >\n <Logo\n textEmblem\n variant={darkMode ? 'dark' : 'light'}\n />\n </Box>\n <Divider\n flexItem\n orientation=\"vertical\"\n sx={{\n borderColor: 'rgba(255,255,255,0.1)',\n mx: 3\n }}\n />\n <Box>\n <Typography\n color=\"textPrimary\"\n fontSize=\"8px\"\n fontWeight=\"bold\"\n letterSpacing=\"1px\"\n sx={{ textTransform: 'uppercase' }}\n >\n My tokens\n </Typography>\n <Box\n display=\"flex\"\n alignContent=\"flex-center\"\n >\n <CurrencyExchangeIcon\n sx={{\n width: '16px',\n mr: 1,\n lineHeight: '27px',\n color: darkMode ? 'primary.contrastText' : 'neutral.900'\n }}\n />\n <Typography\n color=\"primary.main\"\n fontSize=\"18px\"\n fontWeight=\"bold\"\n >\n {ledger && ledger.balance\n ? (ledger.balance - ledger.reserved) : (balance - reserved) ?? 0}\n </Typography>\n </Box>\n </Box>\n <Divider\n flexItem\n orientation=\"vertical\"\n sx={{\n borderColor: 'rgba(255,255,255,0.1)',\n mx: 3\n }}\n />\n <Box\n sx={{\n display: {\n xs: 'none',\n sm: 'none',\n md: 'block'\n }\n }}\n >\n <Typography\n color=\"textPrimary\"\n fontSize=\"8px\"\n fontWeight=\"bold\"\n letterSpacing=\"1px\"\n sx={{ textTransform: 'uppercase' }}\n >\n My Referral Code\n </Typography>\n <Box\n display=\"flex\"\n alignContent=\"flex-center\"\n >\n <GamesIcon sx={{\n width: '16px',\n mr: 1,\n lineHeight: '27px',\n color: darkMode ? 'primary.contrastText' : 'neutral.900'\n }}\n />\n <Typography\n color=\"primary.main\"\n fontSize=\"18px\"\n fontWeight=\"bold\"\n >\n {user && user['referral-code'] ? user['referral-code'] : 'NONE'}\n </Typography>\n </Box>\n </Box>\n <DashboardNavbarMenu\n onClose={() => setOpenMenu(false)}\n open={mdDown && openMenu}\n />\n <Button\n onClick={() => setOpenMenu(true)}\n sx={{\n color: 'primary.contrastText',\n display: {\n md: 'none',\n xs: 'flex'\n }\n }}\n variant=\"text\"\n >\n {\n openMenu ? <CloseIcon /> : <MenuIcon />\n }\n </Button>\n {/* <Button\n endIcon={(\n <ChevronDownIcon\n fontSize=\"small\"\n sx={{\n ml: 2,\n transition: 'transform 250ms',\n transform: openMenu ? 'rotate(180deg)' : 'none'\n }}\n />\n )}\n onClick={() => setOpenMenu(true)}\n sx={{\n color: 'primary.contrastText',\n display: {\n md: 'none',\n xs: 'flex'\n }\n }}\n variant=\"text\"\n >\n Menu\n </Button> */}\n <Box sx={{ flexGrow: 1 }} />\n <IconButton\n color=\"inherit\"\n onClick={handleSwitchTheme}\n sx={{\n mx: 2,\n display: {\n md: 'inline-flex',\n xs: 'none'\n }\n }}\n >\n {darkMode\n ? <SunIcon />\n : <MoonIcon color=\"primary\" />}\n </IconButton>\n {/* <AccountPopover\n darkMode={darkMode}\n onSwitchTheme={handleSwitchTheme}\n /> */}\n </Toolbar>\n </AppBar>\n );\n};\n","import PropTypes from 'prop-types';\nimport { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\n\nconst breatheAnimation = keyframes`\n 0% { opacity: 0.7; color: #868998; }\n 50% { opacity: 1.0; color: #9599ff; }\n 100% { opacity: 0.7; color: #868998; }\n`;\n\nexport const TextAnimation = ({ children }) => (\n <StyledTypography>\n {children}\n </StyledTypography>\n);\n\nTextAnimation.propTypes = {\n children: PropTypes.string\n};\n\nconst StyledTypography = styled.div`\n margin: 0;\n font-size: 14px;\n animation-name: ${breatheAnimation};\n animation-duration: 3s;\n animation-iteration-count: infinite;\n`;\n","import { useEffect, useState } from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport { Button, Collapse, List, Typography } from '@material-ui/core';\nimport { ChevronRight as ChevronRightIcon } from '../icons/chevron-right';\nimport { ChevronDown as ChevronDownIcon } from '../icons/chevron-down';\nimport { ExternalLink as ExternalLinkIcon } from '../icons/external-link';\nimport { TextAnimation } from './text-animation';\n\nexport const DashboardSidebarItem = (props) => {\n const {\n active,\n activeHref,\n external,\n href,\n icon: Icon,\n items,\n onOpen,\n open,\n pinned,\n title,\n counter\n } = props;\n const { t } = useTranslation();\n const [count, setCount] = useState({});\n\n useEffect(async () => {\n if (!items) return;\n\n items.forEach(async (item) => {\n if (item.counter === 'request_count') {\n setCount({ ...count, [`${item.title}_${item.counter}`]: 0 });\n }\n });\n }, []);\n\n // Branch\n if (items) {\n return (\n <List\n disablePadding\n sx={{ width: '100%' }}\n >\n <li>\n <Button\n endIcon={open\n ? <ChevronDownIcon fontSize=\"small\" />\n : <ChevronRightIcon fontSize=\"small\" />}\n fullWidth\n onClick={onOpen}\n startIcon={<Icon />}\n sx={{\n justifyContent: 'flex-start',\n lineHeight: 0,\n minWidth: 'fit-content',\n px: 1.25,\n py: 1.25,\n '& .MuiButton-startIcon': {\n color: active ? 'primary' : 'text.secondary',\n margin: 0\n },\n '& .MuiButton-endIcon': {\n color: 'action.disabled',\n display: pinned ? 'flex' : 'none',\n marginLeft: 'auto'\n }\n }}\n variant=\"text\"\n >\n <Typography\n color=\"textPrimary\"\n sx={{\n color: active ? 'primary' : 'text.primary',\n display: pinned ? 'flex' : 'none',\n ml: 1.25\n }}\n variant=\"inherit\"\n >\n { counter ? `${t(title)} (${count})` : t(title) }\n </Typography>\n </Button>\n </li>\n <Collapse\n in={open}\n unmountOnExit\n >\n <List\n disablePadding\n sx={{ width: '100%' }}\n >\n {items.map((item) => {\n const isActive = activeHref === item.href;\n\n return (\n <li key={item.href}>\n <Button\n component={RouterLink}\n fullWidth\n sx={{\n color: isActive ? 'primary' : 'text.secondary',\n fontWeight: 400,\n justifyContent: 'flex-start',\n pl: 5,\n whiteSpace: 'nowrap'\n }}\n to={item.href}\n variant=\"text\"\n >\n {count[`${item.title}_${item.counter}`] > 0 ? (\n <TextAnimation>\n { `${t(item.title)} (${count[`${item.title}_${item.counter}`]})` }\n </TextAnimation>\n ) : t(item.title)}\n </Button>\n </li>\n );\n })}\n </List>\n </Collapse>\n </List>\n );\n }\n\n // Leaf\n return (\n <li>\n <Button\n component={external ? 'a' : RouterLink}\n endIcon={external && <ExternalLinkIcon sx={{ color: 'action.disabled' }} />}\n fullWidth\n startIcon={<Icon />}\n target={external ? '_target' : '_self'}\n sx={{\n justifyContent: 'flex-start',\n lineHeight: 0,\n minWidth: 'fit-content',\n px: 1.25,\n py: 1.25,\n '& .MuiButton-startIcon': {\n color: active ? 'primary' : 'text.secondary',\n margin: 0\n },\n '& .MuiButton-endIcon': {\n color: 'action.disabled',\n display: pinned ? 'flex' : 'none',\n marginLeft: 'auto'\n }\n }}\n to={!external ? href : ''}\n href={external ? href : ''}\n variant=\"text\"\n >\n <Typography\n color=\"textPrimary\"\n sx={{\n color: active ? 'primary' : 'text.primary',\n display: pinned ? 'flex' : 'none',\n ml: 1.25\n }}\n variant=\"inherit\"\n >\n {t(title)}\n </Typography>\n </Button>\n </li>\n );\n};\n\nDashboardSidebarItem.defaultProps = {\n open: false,\n pinned: false\n};\n\nDashboardSidebarItem.propTypes = {\n active: PropTypes.bool,\n activeHref: PropTypes.string,\n external: PropTypes.bool,\n href: PropTypes.string,\n icon: PropTypes.elementType,\n items: PropTypes.array,\n onOpen: PropTypes.func,\n open: PropTypes.bool,\n pinned: PropTypes.bool,\n title: PropTypes.string,\n counter: PropTypes.string\n};\n","import { useEffect, useState } from 'react';\nimport { useLocation, matchPath } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { Box, Divider, Drawer, IconButton, List } from '@material-ui/core';\nimport {\n AttachMoney as AttachMoneyIcon,\n ContactSupport as ContactSupportIcon,\n Payment as PaymentIcon,\n Dashboard as DashboardIcon\n} from '@material-ui/icons';\nimport { DashboardSidebarItem } from './dashboard-sidebar-item';\nimport { Scrollbar } from './scrollbar';\nimport { ChevronLeft as ChevronLeftIcon } from '../icons/chevron-left';\nimport { ChevronRight as ChevronRightIcon } from '../icons/chevron-right';\n// import { Cog as CogIcon } from '../icons/cog';\nimport { CustomUsers as UsersIcon } from '../icons/custom-users';\n\nconst items = [\n {\n icon: DashboardIcon,\n title: 'Dashboard',\n href: '/dashboard'\n },\n {\n icon: AttachMoneyIcon,\n title: 'Earnings',\n href: '/dashboard/earnings'\n },\n {\n icon: PaymentIcon,\n title: 'Payout',\n items: [\n {\n href: '/dashboard/payout',\n title: 'List'\n },\n {\n href: '/dashboard/payout/create',\n title: 'Payout Request'\n },\n {\n href: '/dashboard/payout/settings',\n title: 'Payment Settings'\n }\n ]\n },\n {\n icon: ContactSupportIcon,\n title: 'Help',\n href: '/dashboard/help'\n },\n // {\n // icon: CogIcon,\n // title: 'Settings',\n // href: '/dashboard/settings'\n // },\n // {\n // icon: UsersIcon,\n // title: 'Support',\n // href: '/dashboard/support'\n // },\n {\n icon: UsersIcon,\n title: 'Contact',\n href: 'https://support.giganticduck.com',\n external: true\n },\n {\n icon: UsersIcon,\n title: 'Account Settings',\n href: '/dashboard/account-settings'\n }\n];\n\nexport const DashboardSidebar = (props) => {\n const { onPin, pinned } = props;\n const { pathname } = useLocation();\n const [openedItems, setOpenedItems] = useState([]);\n const [activeItem, setActiveItem] = useState(null);\n const [activeHref, setActiveHref] = useState('');\n const [hovered, setHovered] = useState(false);\n\n const handleOpenItem = (item) => {\n if (openedItems.includes(item.title)) {\n setOpenedItems((i) => (i.filter((x) => x !== item.title)));\n } else {\n setOpenedItems((i) => [...i, item.title]);\n }\n };\n\n useEffect(() => {\n items.forEach((item) => {\n if (item.items) {\n for (let index = 0; index < item.items.length; index++) {\n const active = matchPath({ path: item.items[index].href, end: true }, pathname);\n\n if (active) {\n setActiveItem(item);\n setActiveHref(item.items[index].href);\n setOpenedItems((i) => [...i, item.title]);\n break;\n }\n }\n } else {\n const active = !!matchPath({ path: item.href, end: true }, pathname);\n\n if (active) {\n setActiveItem(item);\n setActiveHref(item.href);\n setOpenedItems((i) => [...i, item.title]);\n }\n }\n });\n }, [pathname]);\n\n return (\n <Drawer\n open\n sx={{ zIndex: 1000 }}\n variant=\"permanent\"\n PaperProps={{\n onMouseOver: () => { setHovered(true); },\n onMouseLeave: () => { setHovered(false); },\n sx: {\n backgroundColor: 'background.paper',\n height: 'calc(100% - 64px)',\n overflowX: 'hidden',\n top: 64,\n transition: 'width 250ms ease-in-out',\n width: pinned ? 270 : 73,\n '& .simplebar-content': {\n height: '100%'\n },\n '&:hover': {\n width: 270,\n '& span, p': {\n display: 'flex'\n }\n }\n }\n }}\n >\n <Scrollbar\n style={{\n display: 'flex',\n flex: 1,\n overflowX: 'hidden',\n overflowY: 'auto'\n }}\n >\n <Box\n sx={{\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n p: 2\n }}\n >\n <List disablePadding>\n {(items.map((item) => (\n <DashboardSidebarItem\n key={item.title}\n active={activeItem?.title === item.title}\n activeHref={activeHref}\n onOpen={() => handleOpenItem(item)}\n open={openedItems.includes(item.title) && (hovered || pinned)}\n pinned={pinned}\n {...item}\n />\n )))}\n </List>\n <Box sx={{ flexGrow: 1 }} />\n <Divider />\n <Box sx={{ pt: 1 }}>\n <IconButton onClick={onPin}>\n {pinned ? <ChevronLeftIcon /> : <ChevronRightIcon />}\n </IconButton>\n </Box>\n </Box>\n </Scrollbar>\n </Drawer>\n );\n};\n\nDashboardSidebar.propTypes = {\n onPin: PropTypes.func,\n pinned: PropTypes.bool\n};\n","import { useEffect } from 'react';\nimport { Outlet } from 'react-router-dom';\nimport { Box, Container, useMediaQuery } from '@material-ui/core';\nimport { styled } from '@material-ui/core/styles';\nimport { Footer } from '../components/footer';\nimport { DashboardNavbar } from '../components/dashboard-navbar';\nimport { DashboardSidebar } from '../components/dashboard-sidebar';\nimport { useSettings } from '../contexts/settings-context';\n\nconst DashboardLayoutRoot = styled('div')(({ theme }) => ({\n backgroundColor: theme.palette.background.paper,\n height: '100%',\n paddingTop: 64\n}));\n\nconst DashboardLayoutContent = styled('div')(() => ({\n display: 'flex',\n flexDirection: 'column',\n height: '100%'\n}));\n\nexport const DashboardLayout = () => {\n const mdDown = useMediaQuery((theme) => theme.breakpoints.down('md'));\n const { settings, saveSettings, setForceDark } = useSettings();\n\n const handlePinSidebar = () => {\n saveSettings({\n ...settings,\n pinSidebar: !settings.pinSidebar\n });\n };\n\n useEffect(() => {\n console.log('settings force dark to false');\n setForceDark(false);\n }, []);\n\n return (\n <DashboardLayoutRoot>\n <DashboardNavbar />\n {!mdDown && (\n <DashboardSidebar\n onPin={handlePinSidebar}\n pinned={settings.pinSidebar}\n />\n )}\n <DashboardLayoutContent\n sx={{\n ml: {\n md: settings.pinSidebar ? '270px' : '73px'\n }\n }}\n >\n <Container\n maxWidth=\"lg\"\n sx={{\n minHeight: 'calc(100vh - 64px)',\n display: 'flex',\n flexDirection: 'column'\n }}\n >\n <Box sx={{ flexGrow: 1 }}>\n <Outlet />\n </Box>\n <Footer />\n </Container>\n </DashboardLayoutContent>\n </DashboardLayoutRoot>\n );\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'react-daisyui';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { Box, Button as CoreButton, Typography } from '@material-ui/core';\n\nfunction Sidebar({ open }) {\n const [dropdown, setDropdown] = useState(false);\n\n const toggleDropdown = () => setDropdown(!dropdown);\n\n return (\n <div className={`fixed md:hidden block w-full py-[30px] h-screen bg-black ${open ? 'left-0' : '-left-full'} transition-all ease-in-out duration-500`}>\n <div className=\"font-inter flex flex-col font-medium tracking-wide\">\n <div className=\"flex justify-between pr-4\">\n <a\n href=\"https://giganticduck.com/games/\"\n className=\"block hover:text-white text-[rgba(255,255,255,0.8)] px-[20px] py-[8px] text-[30px] leading-[40px]\"\n >\n Games\n </a>\n <Button\n variant=\"link\"\n color=\"white\"\n className=\"self-center text-white relative right-1 p-0\"\n onClick={toggleDropdown}\n >\n {\n !dropdown ? (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"currentColor\"\n className=\"bi bi-chevron-down\"\n viewBox=\"0 0 16 16\"\n >\n {' '}\n <path\n fillRule=\"evenodd\"\n d=\"M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z\"\n />\n {' '}\n </svg>\n ) : (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n fill=\"currentColor\"\n className=\"bi bi-chevron-up\"\n viewBox=\"0 0 16 16\"\n >\n {' '}\n <path\n fillRule=\"evenodd\"\n d=\"M7.646 4.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 5.707l-5.646 5.647a.5.5 0 0 1-.708-.708l6-6z\"\n />\n {' '}\n </svg>\n\n )\n }\n </Button>\n </div>\n <div className={`${dropdown ? 'block' : 'hidden'} p-2`}>\n <a\n href=\"https://bombergrounds.com/\"\n className=\"block hover:text-white text-[rgba(255,255,255,0.8)] text-[1.1em] px-[20px] py-[8px]\"\n >\n Bombergrounds - Battle Royale\n </a>\n </div>\n <div>\n <a\n href=\"https://giganticduck.com/news/\"\n className=\"block hover:text-white text-[rgba(255,255,255,0.8)] px-[20px] py-[8px] text-[30px] leading-[40px]\"\n >\n News\n </a>\n </div>\n <div>\n <a\n href=\"https://giganticduck.com/careers/\"\n className=\"block hover:text-white text-[rgba(255,255,255,0.8)] px-[20px] py-[8px] text-[30px] leading-[40px]\"\n >\n Careers\n </a>\n </div>\n <div>\n {/* <a\n href=\"https://giganticduck.com/game-support/\"\n className=\"block hover:text-white text-[rgba(255,255,255,0.8)]\n px-[20px] py-[8px] text-[30px] leading-[40px]\"\n >\n Support\n </a> */}\n <a\n href=\"https://support.giganticduck.com/portal/\"\n className=\"block hover:text-white text-[rgba(255,255,255,0.8)] px-[20px] py-[8px] text-[30px] leading-[40px]\"\n >\n Support\n </a>\n </div>\n </div>\n <div className=\"font-inter flex flex-col mt-[20px] font-medium tracking-wide text-[18px] leading-[27px]\">\n <a\n href=\"https://giganticduck.com/contact/\"\n className=\"hover:text-white text-[rgba(255,255,255,0.8)] px-[20px] py-[8px]\"\n >\n Contact\n </a>\n <a\n href=\"https://giganticduck.com/investor-relations/\"\n className=\"hover:text-white text-[rgba(255,255,255,0.8)] px-[20px] py-[8px]\"\n >\n Investor Relations\n </a>\n <a\n href=\"https://giganticduck.com/privacy-policy/\"\n className=\"hover:text-white text-[rgba(255,255,255,0.8)] px-[20px] py-[8px]\"\n >\n Privacy Policy\n </a>\n <a\n href=\"https://giganticduck.com/terms-of-service/\"\n className=\"hover:text-white text-[rgba(255,255,255,0.8)] px-[20px] py-[8px]\"\n >\n Terms of Service\n </a>\n </div>\n <div className=\"font-inter px-[20px] mt-[20px] font-medium tracking-wide text-[18px] leading-[27px]\">\n <CoreButton\n component={RouterLink}\n to=\"/login\"\n variant=\"contained\"\n color=\"base\"\n sx={{\n position: 'relative',\n top: 0,\n transition: '0.1s ease-in',\n '&:hover': {\n top: '-4px'\n },\n p: '12px 30px',\n borderRadius: '10px'\n }}\n >\n <Box\n component=\"img\"\n src=\"/static/gd-icon-small.png\"\n alt=\"Apply as content creator cat taking notes\"\n sx={{\n mr: 2\n }}\n />\n <Typography\n sx={{\n fontSize: '16px',\n fontWeight: 'bold',\n textAlign: 'center',\n width: '100%',\n }}\n color=\"primary.contrastText\"\n variant=\"body1\"\n >\n LOG IN\n </Typography>\n </CoreButton>\n </div>\n </div>\n );\n}\n\nSidebar.propTypes = {\n open: PropTypes.bool\n};\n\nexport default Sidebar;\n","import React, { useState } from 'react';\nimport { Button } from 'react-daisyui';\nimport { Link as RouterLink } from 'react-router-dom';\nimport { Box, Button as CoreButton, Typography } from '@material-ui/core';\nimport Sidebar from './sidebar';\n\nfunction Menu() {\n const [open, setOpen] = useState(false);\n\n const toggleOpen = () => setOpen(!open);\n\n return (\n <>\n <div className=\"fixed max-w-auto bg-black md:h-[80px] h-[65px] w-full z-10\">\n <div className=\"md:max-w-[1600px] relative px-[25px] h-full flex flex-row mx-auto\">\n <div className=\"mr-[64px] md:w-auto w-3/6 self-center\">\n <img\n src=\"static/giganticduck-logo.png\"\n className=\"md:w-[55px] md:h-[55px] w-[50px] h-[50px]\"\n alt=\"Gigantic Duck\"\n />\n </div>\n <div className=\"font-inter text-menugray md:flex hidden w-full\">\n <div className=\"self-center font-bold text-[17px] leading-[80px] mr-[22px] group\">\n <a href=\"https://giganticduck.com/games/\" className=\"mr-[22px] group-hover:text-white transition-all\">Games</a>\n <div className=\"absolute top-[80px] left-0 bg-[rgba(10,10,10,0.8)] max-w-[1600px] w-full h-[80px] py-[25px] px-[20px] group-hover:flex hidden flex-row opacity-0 group-hover:opacity-100\">\n <div className=\"self-center font-bold text-[17px] leading-4 mr-[22px] py-[8px]\">\n <a href=\"https://www.bombergrounds.com/\" className=\"mr-[22px] hover:text-white transition-all px-[20px]\">Bombergrounds: Classic</a>\n </div>\n <div className=\"self-center font-bold text-[17px] leading-4 mr-[22px] py-[8px]\">\n <a href=\"https://www.bombergrounds.com/reborn/\" className=\"mr-[22px] hover:text-white transition-all px-[20px]\">Bombergrounds: Reborn</a>\n </div>\n <div className=\"self-center font-bold text-[17px] leading-4 mr-[22px] py-[8px]\">\n <a href=\"https://dungeonpals.com/\" className=\"mr-[22px] hover:text-white transition-all px-[20px]\">Dungeon Pals</a>\n </div>\n </div>\n </div>\n <div className=\"self-center font-semibold text-[17px] leading-4 mx-[22px]\">\n <a\n href=\"https://giganticduck.com/careers/\"\n className=\"mr-[22px] hover:text-white transition-all\"\n >\n Careers\n </a>\n </div>\n <div className=\"self-center font-semibold text-[17px] leading-4 mx-[22px]\">\n {/* <a\n href=\"https://giganticduck.com/game-support/\"\n className=\"mr-[22px] hover:text-white transition-all\"\n >\n Support\n </a> */}\n <a\n href=\"https://support.giganticduck.com/portal/\"\n className=\"mr-[22px] hover:text-white transition-all\"\n >\n Support\n </a>\n </div>\n <div className=\"self-center font-semibold text-[17px] leading-4 mx-[22px]\">\n <a\n href=\"https://giganticduck.com/news/\"\n className=\"mr-[22px] hover:text-white transition-all\"\n >\n News\n </a>\n </div>\n <div className=\"self-center font-semibold text-[17px] leading-4 mx-[22px]\">\n <a href=\"https://create.giganticduck.com/\" className=\"mr-[22px] hover:text-white transition-all\">Content Creator</a>\n </div>\n <div className=\"self-center font-semibold leading-[80px] mx-[22px] group\">\n <a\n href=\"/#\"\n className=\"text-[30px] top-[-8px] relative block mr-[22px] hover:text-white transition-all\"\n >\n . . .\n </a>\n <div className=\"flex justify-center absolute top-[80px] left-0 bg-[rgba(10,10,10,0.8)] w-full h-[80px] px-[20px] group-hover:flex hidden opacity-0 group-hover:opacity-100\">\n <div className=\"self-center inline-block font-bold text-[17px] leading-4 mr-[22px]\">\n <a\n href=\"https://giganticduck.com/investor-relations/\"\n className=\"mr-[22px] hover:text-white transition-all px-[20px]\"\n >\n Investor Relations\n </a>\n </div>\n <div className=\"self-center inline-block font-bold text-[17px] leading-4 mr-[22px]\">\n <a\n href=\"https://giganticduck.com/cookie-policy/\"\n className=\"mr-[22px] hover:text-white transition-all px-[20px]\"\n >\n Cookie Policy\n </a>\n </div>\n <div className=\"self-center inline-block font-bold text-[17px] leading-4 mr-[22px]\">\n <a\n href=\"https://giganticduck.com/privacy-policy/\"\n className=\"mr-[22px] hover:text-white transition-all px-[20px]\"\n >\n Privacy Policy\n </a>\n </div>\n <div className=\"self-center inline-block font-bold text-[17px] leading-4 mr-[22px]\">\n <a\n href=\"https://giganticduck.com/terms-of-service/\"\n className=\"mr-[22px] hover:text-white transition-all px-[20px]\"\n >\n Terms of Service\n </a>\n </div>\n </div>\n </div>\n <div className=\"self-center font-semibold text-[17px] leading-4 mx-[22px] absolute right-0\">\n <CoreButton\n component={RouterLink}\n to=\"/login\"\n variant=\"contained\"\n color=\"base\"\n sx={{\n position: 'relative',\n top: 0,\n transition: '0.1s ease-in',\n '&:hover': {\n top: '-4px'\n },\n p: '12px 30px',\n borderRadius: '10px'\n }}\n >\n <Box\n component=\"img\"\n src=\"/static/create-logo-dark-32.png\"\n alt=\"Apply as content creator cat taking notes\"\n sx={{\n mr: 2,\n height: '26px'\n }}\n />\n <Typography\n sx={{\n fontSize: '16px',\n fontWeight: 'bold',\n textAlign: 'center',\n width: '100%',\n }}\n color=\"primary.contrastText\"\n variant=\"body1\"\n >\n LOG IN\n </Typography>\n </CoreButton>\n </div>\n </div>\n <div className=\"flex md:hidden block justify-end w-3/6\">\n <Button\n variant=\"link\"\n color=\"white\"\n className=\"self-center text-white relative -right-2 p-0\"\n onClick={toggleOpen}\n >\n {\n !open ? (\n <svg\n className=\"swap-off fill-current\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"42\"\n height=\"42\"\n viewBox=\"0 0 512 512\"\n >\n <path d=\"M64,384H448V341.33H64Zm0-106.67H448V234.67H64ZM64,128v42.67H448V128Z\" />\n </svg>\n ) : (\n <svg\n className=\"swap-on fill-current\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"42\"\n height=\"42\"\n viewBox=\"0 0 512 512\"\n >\n <polygon points=\"400 145.49 366.51 112 256 222.51 145.49 112 112 145.49 222.51 256 112 366.51 145.49 400 256 289.49 366.51 400 400 366.51 289.49 256 400 145.49\" />\n </svg>\n )\n }\n </Button>\n </div>\n </div>\n <Sidebar open={open} />\n </div>\n </>\n );\n}\n\nexport default Menu;\n","import React from 'react';\nimport { Divider } from 'react-daisyui';\n\nfunction Footer() {\n return (\n <div className=\"bg-black\">\n <div className=\"container mx-auto font-inter py-[40px]\">\n <div className=\"flex md:flex-row flex-col md:w-full w-11/12 mx-auto\">\n <div className=\"md:w-2/3 w-full\">\n <div className=\"flex\">\n <p className=\"text-[0.85rem] font-bold text-white\">Follow us on:</p>\n </div>\n <div className=\"flex mt-4\">\n <a href=\"https://www.facebook.com/bombergrounds/\">\n <img\n src=\"static/icon-facebook.png\"\n className=\"w-[30px] h-[30px] mr-[15px]\"\n alt=\"Gigantic Duck\"\n />\n </a>\n <a href=\"https://www.instagram.com/bombergrounds/\">\n <img\n src=\"static/icon-instagram.png\"\n className=\"w-[30px] h-[30px] mr-[15px]\"\n alt=\"Gigantic Duck\"\n />\n </a>\n <a href=\"https://twitter.com/bombergrounds\">\n <img\n src=\"static/icon-twitter.png\"\n className=\"w-[30px] h-[30px] mr-[15px]\"\n alt=\"Gigantic Duck\"\n />\n </a>\n <a href=\"https://www.youtube.com/bombergrounds\">\n <img\n src=\"static/icon-youtube.png\"\n className=\"w-[30px] h-[30px] mr-[15px]\"\n alt=\"Gigantic Duck\"\n />\n </a>\n </div>\n </div>\n </div>\n <Divider className=\"my-[30px]\" />\n <div className=\"flex md:w-full w-11/12 mx-auto\">\n <div className=\"w-2/3\">\n <div className=\"mb-[17px] md:flex-row flex-col md:gap-0 gap-2\">\n <a\n href=\"https://giganticduck.com/investor-relations/\"\n className=\"md:text-[13px] text-[15px] font-medium text-[#f1f1f1] hover:text-white md:inline-block block mr-8\"\n >\n Investor Relations\n </a>\n <a\n href=\"https://giganticduck.com/careers/\"\n className=\"md:text-[13px] text-[15px] font-medium text-[#f1f1f1] hover:text-white md:inline-block block mr-8\"\n >\n Careers\n </a>\n {/* <a\n href=\"https://giganticduck.com/game-support/\"\n className=\"md:text-[13px] text-[15px] font-medium\n text-[#f1f1f1] hover:text-white md:inline-block block mr-8\"\n >\n Game Support\n </a> */}\n <a\n href=\"https://support.giganticduck.com/portal/\"\n className=\"md:text-[13px] text-[15px] font-medium text-[#f1f1f1] hover:text-white md:inline-block block mr-8\"\n >\n Game Support\n </a>\n <a\n href=\"https://giganticduck.com/privacy-policy/\"\n className=\"md:text-[13px] text-[15px] font-medium text-[#f1f1f1] hover:text-white md:inline-block block mr-8\"\n >\n Privacy Policy\n </a>\n <a\n href=\"https://giganticduck.com/terms-of-service/\"\n className=\"md:text-[13px] text-[15px] font-medium text-[#f1f1f1] hover:text-white md:inline-block block mr-8\"\n >\n Terms of Service\n </a>\n <a\n href=\"https://giganticduck.com/cookie-policy/\"\n className=\"md:text-[13px] text-[15px] font-medium text-[#f1f1f1] hover:text-white md:inline-block block mr-8\"\n >\n Cookie Policy\n </a>\n <a\n href=\"https://giganticduck.com/contact/\"\n className=\"md:text-[13px] text-[15px] font-medium text-[#f1f1f1] hover:text-white md:inline-block block mr-8\"\n >\n Contact\n </a>\n </div>\n <div className=\"text-[#666666]\">\n <p className=\"text-[13px] font-medium mr-8\">Gigantic Duck AB</p>\n <p className=\"text-[13px] font-medium mr-8\">BorÃ¥s, Sweden</p>\n </div>\n </div>\n <div className=\"flex justify-end w-1/3\">\n <img\n src=\"static/giganticduck-logo.png\"\n className=\"w-[63px] h-[63px] mt-[40px] self-end\"\n alt=\"Gigantic Duck\"\n />\n </div>\n </div>\n </div>\n </div>\n );\n}\n\nexport default Footer;\n","// import { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@material-ui/core/styles';\n// import useMediaQuery from '@material-ui/core/useMediaQuery';\n// import { MainNavbar } from '../components/main-navbar';\n// import { MainSidebar } from '../components/main-sidebar';\n// import { Footer } from '../components/footer';\nimport { useEffect } from 'react';\nimport Menu from '../components/menu/menu';\nimport Footer from '../components/footer/footer';\nimport { useSettings } from '../contexts/settings-context';\n\nconst MainLayoutRoot = styled('div')(() => ({\n // paddingTop: 81\n paddingTop: 0\n}));\n\nexport const MainLayout = ({ children }) => {\n // const [openSidebar, setOpenSidebar] = useState(false);\n // const lgDown = useMediaQuery((theme) => theme.breakpoints.down('lg'));\n\n const { settings, setForceDark } = useSettings();\n useEffect(() => {\n setForceDark(true);\n }, []);\n\n if (settings.theme !== 'dark') return <></>;\n return (\n <MainLayoutRoot>\n <Menu />\n {/* <MainNavbar onOpenSidebar={() => setOpenSidebar(true)} /> */}\n {/* <MainSidebar\n onClose={() => setOpenSidebar(false)}\n open={lgDown && openSidebar}\n /> */}\n {children}\n <Footer />\n </MainLayoutRoot>\n );\n};\n\nMainLayout.propTypes = {\n children: PropTypes.node\n};\n","import { Suspense, lazy } from 'react';\nimport { AuthGuard } from './components/guards/auth-guard';\nimport { GuestGuard } from './components/guards/guest-guard';\nimport { UnRegisteredGuard } from './components/guards/unregistered-guard';\nimport { LoadingScreen } from './components/loading-screen';\nimport { DashboardLayout } from './containers/dashboard-layout';\nimport { MainLayout } from './containers/main-layout';\n\nconst Loadable = (Component) => (props) => (\n <Suspense fallback={<LoadingScreen />}>\n <Component {...props} />\n </Suspense>\n);\n\n// Not found pages\nconst NotFound = Loadable(lazy(() => import('./containers/not-found').then((module) => ({ default: module.NotFound }))));\n\n// Terms and Privacy\nconst PrivacyPolicy = Loadable(lazy(() => import('./containers/privacy-policy').then((module) => ({ default: module.PrivacyPolicy }))));\nconst TermsOfService = Loadable(lazy(() => import('./containers/terms-of-service').then((module) => ({ default: module.TermsOfService }))));\n\n// Auth pages\nconst ComingSoon = Loadable(lazy(() => import('./containers/coming-soon').then((module) => ({ default: module.ComingSoon }))));\n\n// Auth pages\nconst Home = Loadable(lazy(() => import('./containers/home').then((module) => ({ default: module.Home }))));\n\n// Auth pages\nconst Login = Loadable(lazy(() => import('./containers/login').then((module) => ({ default: module.Login }))));\nconst PasswordRecovery = Loadable(lazy(() => import('./containers/password-recovery').then((module) => ({ default: module.PasswordRecovery }))));\nconst PasswordReset = Loadable(lazy(() => import('./containers/password-reset').then((module) => ({ default: module.PasswordReset }))));\n// const Register = Loadable(lazy(() => import('./containers/register')\n// .then((module) => ({ default: module.Register }))));\nconst VerifyCode = Loadable(lazy(() => import('./containers/verify-code').then((module) => ({ default: module.VerifyCode }))));\n\n// Dashboard\nconst MainDashboard = Loadable(lazy(() => import('./containers/main-dashboard').then((module) => ({ default: module.MainDashboard }))));\n\n// Earnings\nconst Earnings = Loadable(lazy(() => import('./containers/earnings').then((module) => ({ default: module.Earnings }))));\n\n// Payout\nconst Payout = Loadable(lazy(() => import('./containers/payout').then((module) => ({ default: module.Payout }))));\nconst PayoutRequestCreate = Loadable(lazy(() => import('./containers/payout-request-create').then((module) => ({ default: module.PayoutRequestCreate }))));\nconst PayoutSettings = Loadable(lazy(() => import('./containers/payout-settings').then((module) => ({ default: module.PayoutSettings }))));\n\n// Help\nconst Help = Loadable(lazy(() => import('./containers/help').then((module) => ({ default: module.Help }))));\n\n// Settings\nconst AccountSettings = Loadable(lazy(() => import('./containers/account-settings').then((module) => ({ default: module.AccountSettings }))));\n\n// Support\nconst Support = Loadable(lazy(() => import('./containers/support').then((module) => ({ default: module.Support }))));\n\n// Account Request\nconst AccountRequest = Loadable(lazy(() => import('./containers/account-request').then((module) => ({ default: module.AccountRequest }))));\nconst AccountRequestPending = Loadable(lazy(() => import('./containers/account-request-pending').then((module) => ({ default: module.AccountRequestPending }))));\n\n// SocialVerify\nconst SocialVerify = Loadable(lazy(() => import('./containers/social-verify').then((module) => ({ default: module.SocialVerify }))));\n\n// OAuthRedirect\nconst OAuthRedirect = Loadable(lazy(() => import('./containers/oauth-redirect').then((module) => ({ default: module.OAuthRedirect }))));\n\nexport const routesMaintenance = [\n {\n path: '/',\n element: (\n <GuestGuard>\n <ComingSoon />\n </GuestGuard>\n )\n },\n {\n path: '*',\n element: <NotFound />\n }\n];\n\nexport const routes = [\n {\n path: '/',\n element: (\n <GuestGuard>\n <MainLayout>\n <Home />\n </MainLayout>\n </GuestGuard>\n )\n },\n {\n path: '/login',\n element: (\n <GuestGuard>\n <Login />\n </GuestGuard>\n )\n },\n // {\n // path: 'register',\n // element: (\n // <GuestGuard>\n // <Register />\n // </GuestGuard>\n // )\n // },\n {\n path: 'verify-code',\n element: (\n <GuestGuard>\n <VerifyCode />\n </GuestGuard>\n )\n },\n {\n path: 'password-recovery',\n element: (\n <GuestGuard>\n <PasswordRecovery />\n </GuestGuard>\n )\n },\n {\n path: 'password-reset',\n element: (\n <PasswordReset />\n )\n },\n {\n path: 'account-request',\n element: (\n <AuthGuard>\n <UnRegisteredGuard>\n <AccountRequest />\n </UnRegisteredGuard>\n </AuthGuard>\n )\n },\n {\n path: 'account-request-pending',\n element: (\n <AuthGuard>\n <UnRegisteredGuard>\n <AccountRequestPending />\n </UnRegisteredGuard>\n </AuthGuard>\n )\n },\n {\n path: 'oauth/redirect/:social',\n element: (\n <OAuthRedirect />\n )\n },\n {\n path: 'dashboard',\n element: (\n <AuthGuard>\n <DashboardLayout />\n </AuthGuard>\n ),\n children: [\n {\n path: '/',\n element: <MainDashboard />\n },\n {\n path: '/earnings',\n element: <Earnings />\n },\n {\n path: '/payout',\n children: [\n {\n path: '/',\n element: <Payout />\n },\n {\n path: 'create',\n element: <PayoutRequestCreate />\n },\n {\n path: 'settings',\n element: <PayoutSettings />\n }\n ]\n },\n {\n path: '/help',\n element: <Help />\n },\n {\n path: '/account-settings',\n element: <AccountSettings />\n },\n {\n path: '/support',\n element: <Support />\n },\n {\n path: '/social',\n element: <SocialVerify />\n }\n ]\n },\n {\n path: '/privacy-policy',\n element: (\n <MainLayout>\n <PrivacyPolicy />\n </MainLayout>\n )\n },\n {\n path: '/terms-of-service',\n element: (\n <MainLayout>\n <TermsOfService />\n </MainLayout>\n )\n },\n {\n path: '*',\n element: <NotFound />\n }\n];\n","export const lightPrimary = {\n contrast: '#ffffff',\n dark: '#38319f',\n light: '#736Be9',\n main: '#5046e4'\n};\n\nexport const lightSecondary = {\n contrast: '#ffffff',\n dark: '#38319f',\n light: '#736Be9',\n main: '#5046e4'\n};\n\nexport const lightError = {\n contrast: '#ffffff',\n dark: '#a53531',\n light: '#ef6f6b',\n main: '#ec4c47'\n};\n\nexport const lightWarning = {\n contrast: '#ffffff',\n dark: '#975b1e',\n light: '#e09b55',\n main: '#d9822b'\n};\n\nexport const lightInfo = {\n contrast: '#ffffff',\n dark: '#0b4e8d',\n light: '#3f8cd4',\n main: '#1070CA'\n};\n\nexport const lightSuccess = {\n contrast: '#ffffff',\n dark: '#1b774d',\n light: '#52bb8b',\n main: '#27AB6E'\n};\n\nexport const lightBackground = {\n default: '#ffffff',\n paper: '#ffffff'\n};\n\nexport const lightText = {\n primary: '#03060b',\n secondary: '#506176'\n};\n\nexport const lightNeutral = {\n 100: '#f3f4f7',\n 200: '#e1e3ea',\n 300: '#d5d8e1',\n 400: '#b7bdcc',\n 500: '#9aa1b7',\n 600: '#7c85a2',\n 700: '#3f455a',\n 800: '#2a2f3c',\n 900: '#1e212a'\n};\n\nexport const darkPrimary = {\n contrast: '#ffffff',\n dark: '#5659b2',\n light: '#9599ff',\n main: '#7b80ff'\n};\n\nexport const darkSecondary = {\n contrast: '#ffffff',\n dark: '#5659b2',\n light: '#9599ff',\n main: '#7b80ff'\n};\n\nexport const darkError = {\n contrast: '#ffffff',\n dark: '#85372b',\n light: '#eb6d57',\n main: '#e6492d'\n};\n\nexport const darkWarning = {\n contrast: '#ffffff',\n dark: '#8D682d',\n light: '#f7bb57',\n main: '#f6ab2e'\n};\n\nexport const darkInfo = {\n contrast: '#ffffff',\n dark: '#1D4580',\n light: '#4483df',\n main: '#1664d8'\n};\n\nexport const darkSuccess = {\n contrast: '#ffffff',\n dark: '#2F6b39',\n light: '#5fc16d',\n main: '#38b249'\n};\n\nexport const darkBackground = {\n default: '#111318',\n paper: '#111318'\n};\n\nexport const darkText = {\n primary: '#d8dade',\n secondary: '#868998'\n};\n\nexport const darkNeutral = {\n 100: '#1e212a',\n 200: '#2b2f3c',\n 300: '#40444f',\n 400: '#545863',\n 500: '#6c6f7f',\n 600: '#868998',\n 700: '#a1a4af',\n 800: '#bdbfc7',\n 900: '#d8dade'\n};\n\nexport const buttonNeutral = {\n primary: 'linear-gradient(90deg, #0582ff 0%, rgba(#0582ff) 100%, rgba(#006fff) 100%)',\n dark: '#0019ff',\n color: '#0019ff',\n contrast: '#ffffff',\n light: '#0019ff',\n main: '#006fff'\n};\n","import { createSvgIcon } from '@material-ui/core/utils';\n\nexport const XCircle = createSvgIcon(\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\"\n clipRule=\"evenodd\"\n />\n </svg>, 'XCircle'\n);\n","import {\n alpha,\n createTheme as createMuiTheme,\n responsiveFontSizes\n} from '@material-ui/core/styles';\nimport {\n darkBackground,\n darkError,\n darkInfo,\n darkNeutral,\n darkPrimary,\n darkSecondary,\n darkSuccess,\n darkText,\n darkWarning,\n lightBackground,\n lightError,\n lightInfo,\n lightNeutral,\n lightPrimary,\n lightSecondary,\n lightSuccess,\n lightText,\n lightWarning,\n buttonNeutral\n} from './colors';\nimport { XCircle as XCircleIcon } from './icons/x-circle';\n\nconst { breakpoints } = createMuiTheme();\n\nconst baseThemeOptions = {\n components: {\n MuiAutocomplete: {\n styleOverrides: {\n noOptions: {\n fontSize: 14,\n letterSpacing: 0.15,\n lineHeight: 1.6\n },\n option: {\n fontSize: 14,\n letterSpacing: 0.15,\n lineHeight: 1.6\n },\n paper: {\n boxShadow: 'none'\n }\n }\n },\n MuiAvatar: {\n styleOverrides: {\n root: {\n fontSize: 14,\n fontWeight: 600,\n letterSpacing: 0\n }\n }\n },\n MuiButton: {\n styleOverrides: {\n sizeLarge: {\n fontSize: 15\n },\n sizeMedium: {\n fontSize: 14\n },\n sizeSmall: {\n fontSize: 13\n }\n }\n },\n MuiButtonBase: {\n defaultProps: {\n disableRipple: true\n }\n },\n MuiButtonGroup: {\n defaultProps: {\n disableRipple: true\n }\n },\n MuiCardActions: {\n styleOverrides: {\n root: {\n paddingBottom: 16,\n paddingLeft: 24,\n paddingRight: 24,\n paddingTop: 16\n }\n }\n },\n MuiCardContent: {\n styleOverrides: {\n root: {\n paddingBottom: 20,\n paddingLeft: 24,\n paddingRight: 24,\n paddingTop: 20\n }\n }\n },\n MuiCardHeader: {\n styleOverrides: {\n root: {\n paddingBottom: 16,\n paddingLeft: 24,\n paddingRight: 24,\n paddingTop: 16\n },\n subheader: {\n fontSize: 14\n },\n title: {\n fontSize: 16\n }\n }\n },\n MuiCheckbox: {\n defaultProps: {\n checkedIcon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n width=\"18\"\n height=\"18\"\n rx=\"4\"\n fill=\"currentColor\"\n />\n <rect\n x=\"2\"\n y=\"2\"\n width=\"14\"\n height=\"14\"\n rx=\"2\"\n fill=\"currentColor\"\n />\n <path\n d=\"M13.6666 6.0835L7.24992 12.5002L4.33325 9.5835\"\n stroke=\"white\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ),\n indeterminateIcon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M14 0H4C1.79086 0 0 1.79086 0 4V14C0 16.2091 1.79086 18 4 18H14C16.2091 18 18 16.2091 18 14V4C18 1.79086 16.2091 0 14 0Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M13.6666 9H5\"\n stroke=\"white\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n },\n styleOverrides: {\n root: {\n transition: 'color 250ms',\n ':hover, &.Mui-checked:hover, &.MuiCheckbox-indeterminate:hover': {\n backgroundColor: 'transparent'\n }\n }\n }\n },\n MuiChip: {\n defaultProps: {\n deleteIcon: <XCircleIcon />\n },\n styleOverrides: {\n avatar: {\n borderRadius: 6\n },\n root: {\n borderRadius: 6,\n fontWeight: 400,\n letterSpacing: 0\n }\n }\n },\n MuiCssBaseline: {\n styleOverrides: {\n html: {\n height: '100%',\n overflowY: 'scroll'\n },\n body: {\n height: '100%'\n },\n '& #root': {\n height: '100%'\n },\n '& #nprogress .bar': {\n zIndex: 2000\n }\n }\n },\n MuiDialogActions: {\n styleOverrides: {\n root: {\n paddingBottom: 32,\n paddingLeft: 32,\n paddingRight: 32,\n paddingTop: 24,\n '&>:not(:first-of-type)': {\n marginLeft: 16\n }\n }\n }\n },\n MuiDialogContent: {\n styleOverrides: {\n root: {\n paddingBottom: 8,\n paddingLeft: 32,\n paddingRight: 32,\n paddingTop: 8\n }\n }\n },\n MuiDialogTitle: {\n styleOverrides: {\n root: {\n fontSize: 24,\n fontWeight: 600,\n paddingBottom: 24,\n paddingLeft: 32,\n paddingRight: 32,\n paddingTop: 32\n }\n }\n },\n MuiFormControlLabel: {\n styleOverrides: {\n label: {\n fontSize: 14,\n letterSpacing: 0.15,\n lineHeight: 1.43\n }\n }\n },\n MuiIcon: {\n styleOverrides: {\n fontSizeLarge: {\n fontSize: 32\n }\n }\n },\n MuiIconButton: {\n styleOverrides: {\n root: {\n borderRadius: 6,\n padding: 8\n },\n sizeSmall: {\n padding: 4\n }\n }\n },\n MuiListItem: {\n styleOverrides: {\n button: {\n '&:before': {\n borderRadius: '0px 2px 2px 0px',\n bottom: 0,\n content: '\"\"',\n left: 0,\n position: 'absolute',\n top: 0,\n transform: 'scaleX(0)',\n transformOrigin: 'left center',\n transition: 'transform 0.25s',\n width: 2\n },\n '&:active:before': {\n transform: 'scaleX(1)'\n }\n },\n dense: {\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n paddingTop: 6\n }\n }\n },\n MuiListItemText: {\n defaultProps: {\n primaryTypographyProps: {\n variant: 'body2'\n }\n }\n },\n MuiListSubheader: {\n styleOverrides: {\n root: {\n backgroundColor: 'transparent'\n }\n }\n },\n MuiMenuItem: {\n styleOverrides: {\n root: {\n fontSize: 14,\n fontWeight: 400,\n letterSpacing: 0.15,\n lineHeight: 1.43\n }\n }\n },\n MuiRadio: {\n styleOverrides: {\n root: {\n transition: 'color 250ms',\n ':hover, &.Mui-checked:hover': {\n backgroundColor: 'transparent'\n }\n }\n }\n },\n MuiSelect: {\n styleOverrides: {\n filled: {\n '&:focus': {\n backgroundColor: 'transparent'\n }\n }\n }\n },\n MuiSkeleton: {\n styleOverrides: {\n root: {\n borderRadius: 4\n }\n }\n },\n MuiSvgIcon: {\n styleOverrides: {\n fontSizeLarge: {\n fontSize: 32\n }\n }\n },\n MuiSwitch: {\n styleOverrides: {\n root: {\n borderRadius: 48,\n height: 24,\n marginBottom: 8,\n marginLeft: 8,\n marginRight: 8,\n marginTop: 8,\n padding: 0,\n width: 44\n },\n switchBase: {\n padding: 4,\n '&:hover': {\n backgroundColor: 'transparent'\n },\n '&.Mui-checked+.MuiSwitch-track': {\n opacity: 1\n },\n '&.Mui-disabled': {\n '&+.MuiSwitch-track': {\n opacity: 1\n }\n },\n '&.Mui-checked.Mui-disabled+.MuiSwitch-track': {\n opacity: 0.5\n }\n },\n track: {\n opacity: 1\n },\n thumb: {\n height: 16,\n width: 16\n }\n }\n },\n MuiTab: {\n styleOverrides: {\n root: {\n fontSize: 14,\n fontWeight: 400,\n letterSpacing: 0.15,\n lineHeight: 1.71,\n [breakpoints.up('sm')]: {\n marginLeft: 16,\n marginRight: 16,\n minWidth: 'fit-content',\n paddingLeft: 0,\n paddingRight: 0,\n '&:first-of-type': {\n marginLeft: 0\n }\n }\n }\n }\n },\n MuiTableHead: {\n styleOverrides: {\n root: {\n '.MuiTableCell-root': {\n fontSize: 11,\n fontWeight: 600,\n textTransform: 'uppercase'\n }\n }\n }\n },\n MuiTableRow: {\n styleOverrides: {\n root: {\n ':last-of-type .MuiTableCell-root': {\n borderWidth: 0\n }\n }\n }\n }\n },\n shape: {\n borderRadius: 6\n },\n typography: {\n fontFamily: 'Inter, sans-serif',\n // fontFamily: 'Lilita One, cursive',\n h1: {\n fontSize: 48,\n fontWeight: 600,\n lineHeight: 1.5\n },\n h2: {\n fontSize: 36,\n fontWeight: 600,\n lineHeight: 1.5\n },\n h3: {\n fontSize: 32,\n fontWeight: 600,\n lineHeight: 1.5\n },\n h4: {\n fontSize: 24,\n fontWeight: 600,\n lineHeight: 1.5\n },\n h5: {\n fontSize: 18,\n fontWeight: 600,\n lineHeight: 1.5\n },\n h6: {\n fontSize: 16,\n fontWeight: 600,\n lineHeight: 1.5\n },\n body1: {},\n body2: {\n lineHeight: 1.6\n },\n subtitle1: {\n fontSize: 16,\n fontWeight: 500,\n letterSpacing: 0,\n lineHeight: 1.75\n },\n subtitle2: {\n fontSize: 14,\n fontWeight: 500,\n letterSpacing: 0,\n lineHeight: 1.75\n },\n caption: {\n fontWeight: 400,\n lineHeight: 1.6\n },\n overline: {\n fontSize: 12,\n fontWeight: 600,\n letterSpacing: 1,\n lineHeight: 2.46\n },\n button: {\n fontWeight: 500,\n textTransform: 'none'\n }\n }\n};\n\nconst lightThemeOptions = {\n components: {\n MuiAutocomplete: {\n styleOverrides: {\n paper: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: lightNeutral[400]\n }\n }\n },\n MuiAvatar: {\n styleOverrides: {\n root: {\n backgroundColor: lightNeutral[200],\n color: lightText.secondary\n }\n }\n },\n MuiButton: {\n styleOverrides: {\n root: {\n ':focus': {\n boxShadow: `${alpha(lightPrimary.main, 0.25)} 0 0 0 0.2rem`\n }\n }\n }\n },\n MuiCheckbox: {\n defaultProps: {\n icon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n width=\"18\"\n height=\"18\"\n rx=\"4\"\n fill=\"currentColor\"\n />\n <rect\n x=\"2\"\n y=\"2\"\n width=\"14\"\n height=\"14\"\n rx=\"2\"\n fill={lightBackground.paper}\n />\n </svg>\n )\n },\n styleOverrides: {\n root: {\n color: lightText.secondary,\n ':hover:not(.Mui-checked)': {\n color: lightText.primary\n }\n }\n }\n },\n MuiChip: {\n styleOverrides: {\n avatar: {\n color: lightNeutral[700]\n }\n }\n },\n MuiListItem: {\n styleOverrides: {\n button: {\n '&:before': {\n backgroundColor: lightPrimary.main\n }\n }\n }\n },\n MuiMenu: {\n styleOverrides: {\n paper: {\n border: `1px solid ${lightNeutral[300]}`\n }\n }\n },\n MuiRadio: {\n defaultProps: {\n checkedIcon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n width=\"18\"\n height=\"18\"\n rx=\"9\"\n fill=\"currentColor\"\n />\n <rect\n x=\"2\"\n y=\"2\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n fill=\"currentColor\"\n />\n <rect\n x=\"5\"\n y=\"5\"\n width=\"8\"\n height=\"8\"\n rx=\"4\"\n fill={lightBackground.paper}\n />\n </svg>\n ),\n icon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n width=\"18\"\n height=\"18\"\n rx=\"9\"\n fill=\"currentColor\"\n />\n <rect\n x=\"2\"\n y=\"2\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n fill={lightBackground.paper}\n />\n </svg>\n )\n },\n styleOverrides: {\n root: {\n color: lightText.secondary,\n ':hover:not(.Mui-checked)': {\n color: lightText.primary\n }\n }\n }\n },\n MuiSkeleton: {\n styleOverrides: {\n root: {\n backgroundColor: lightNeutral[100]\n }\n }\n },\n MuiSwitch: {\n styleOverrides: {\n root: {\n ':focus-within': {\n boxShadow: `${alpha(lightPrimary.main, 0.25)} 0 0 0 0.2rem`\n }\n },\n switchBase: {\n '&.Mui-checked+.MuiSwitch-track': {\n backgroundColor: lightSuccess.main\n },\n '&.Mui-disabled': {\n '&+.MuiSwitch-track': {\n backgroundColor: alpha(lightText.primary, 0.08)\n },\n '.MuiSwitch-thumb': {\n backgroundColor: alpha(lightText.primary, 0.26)\n }\n },\n '&.Mui-checked.Mui-disabled+.MuiSwitch-track': {\n backgroundColor: lightSuccess.main\n }\n },\n track: {\n backgroundColor: lightNeutral[500]\n },\n thumb: {\n backgroundColor: '#ffffff'\n }\n }\n },\n MuiTableCell: {\n styleOverrides: {\n root: {\n borderBottom: `1px solid ${lightNeutral[200]}`\n }\n }\n },\n MuiTableHead: {\n styleOverrides: {\n root: {\n backgroundColor: lightNeutral[100],\n borderBottom: `1px solid ${lightNeutral[200]}`,\n '.MuiTableCell-root': {\n color: lightText.secondary\n }\n }\n }\n },\n MuiTableRow: {\n styleOverrides: {\n root: {\n '&.MuiTableRow-hover:hover': {\n backgroundColor: lightNeutral[100]\n }\n }\n }\n },\n MuiToggleButton: {\n styleOverrides: {\n root: {\n borderColor: lightNeutral[300],\n '& .MuiSvgIcon-root': {\n color: alpha(lightText.primary, 0.38)\n }\n }\n }\n }\n },\n palette: {\n action: {\n active: alpha(lightText.secondary, 0.86),\n disabled: alpha(lightText.primary, 0.26),\n disabledBackground: alpha(lightText.primary, 0.08),\n focus: alpha(lightText.primary, 0.12),\n hover: alpha(lightText.primary, 0.06),\n selected: alpha(lightText.primary, 0.08)\n },\n background: {\n default: lightBackground.default,\n paper: lightBackground.paper\n },\n divider: lightNeutral[200],\n error: {\n contrastText: lightError.contrast,\n dark: lightError.dark,\n light: lightError.light,\n main: lightError.main\n },\n info: {\n contrastText: lightInfo.contrast,\n dark: lightInfo.dark,\n light: lightInfo.light,\n main: lightInfo.main\n },\n mode: 'light',\n primary: {\n contrastText: lightPrimary.contrast,\n dark: lightPrimary.dark,\n light: lightPrimary.light,\n main: lightPrimary.main\n },\n secondary: {\n contrastText: lightSecondary.contrast,\n dark: lightSecondary.dark,\n light: lightSecondary.light,\n main: lightSecondary.main\n },\n success: {\n contrastText: lightSuccess.contrast,\n dark: lightSuccess.dark,\n light: lightSuccess.light,\n main: lightSuccess.main\n },\n text: {\n disabled: alpha(lightText.primary, 0.38),\n primary: lightText.primary,\n secondary: lightText.secondary\n },\n warning: {\n contrastText: lightWarning.contrast,\n dark: lightWarning.dark,\n light: lightWarning.light,\n main: lightWarning.main\n },\n button: {\n contrastText: buttonNeutral.contrast,\n dark: buttonNeutral.dark,\n light: buttonNeutral.light,\n main: buttonNeutral.main,\n ...buttonNeutral\n },\n white: {\n contrastText: '#010101',\n dark: '#FFFFFF',\n light: '#FFFFFF',\n main: '#FFFFFF'\n },\n base: {\n contrastText: '#FFFFFF',\n dark: '#2d85f3',\n light: '#2d85f3',\n main: '#2d85f3',\n },\n darker: {\n contrastText: '#FFFFFF',\n dark: '#40444f',\n light: '#40444f',\n main: '#40444f',\n },\n neutral: lightNeutral,\n youtube: '#ff0000',\n twitch: '#6441a5',\n twitter: '#1cb7eb'\n },\n shadows: [\n 'none',\n '0px 1px 2px rgba(9, 30, 66, 0.2)',\n '0px 1px 3px rgba(9, 30, 66, 0.12)',\n '0px 2px 4px rgba(9, 30, 66, 0.08)',\n '0px 3px 5px rgba(9, 30, 66, 0.08)',\n '0px 3px 5px -1px rgba(9, 30, 66, 0.08)',\n '0px 5px 7px rgba(9, 30, 66, 0.08)',\n '0px 6px 8px rgba(9, 30, 66, 0.08)',\n '0px 8px 12px rgba(9, 30, 66, 0.08)',\n '0px 9px 14px rgba(9, 30, 66, 0.08)',\n '0px 10px 16px rgba(9, 30, 66, 0.08)',\n '0px 11px 18px rgba(9, 30, 66, 0.08)',\n '0px 12px 20px rgba(9, 30, 66, 0.08)',\n '0px 13px 22px rgba(9, 30, 66, 0.08)',\n '0px 14px 24px rgba(9, 30, 66, 0.08)',\n '0px 15px 26px rgba(9, 30, 66, 0.08)',\n '0px 18px 28px rgba(9, 30, 66, 0.08)',\n '0px 20px 30px rgba(9, 30, 66, 0.08)',\n '0px 22px 32px rgba(9, 30, 66, 0.08)',\n '0px 24px 34px rgba(9, 30, 66, 0.08)',\n '0px 26px 36px rgba(9, 30, 66, 0.08)',\n '0px 28px 38px rgba(9, 30, 66, 0.08)',\n '0px 30px 40px rgba(9, 30, 66, 0.08)',\n '0px 32px 42px rgba(9, 30, 66, 0.08)',\n '0px 36px 46px rgba(9, 30, 66, 0.12)'\n ]\n};\n\nconst darkThemeOptions = {\n components: {\n MuiAutocomplete: {\n styleOverrides: {\n paper: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: darkNeutral[400]\n }\n }\n },\n MuiAvatar: {\n styleOverrides: {\n root: {\n backgroundColor: darkNeutral[200],\n color: darkText.secondary\n }\n }\n },\n MuiButton: {\n styleOverrides: {\n root: {\n ':focus': {\n boxShadow: `${alpha(lightPrimary.main, 0.25)} 0 0 0 0.2rem`\n }\n }\n }\n },\n MuiCard: {\n styleOverrides: {\n root: {\n backgroundImage: 'none'\n }\n }\n },\n MuiCheckbox: {\n defaultProps: {\n icon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n width=\"18\"\n height=\"18\"\n rx=\"4\"\n fill=\"currentColor\"\n />\n <rect\n x=\"2\"\n y=\"2\"\n width=\"14\"\n height=\"14\"\n rx=\"2\"\n fill={darkBackground.paper}\n />\n </svg>\n )\n },\n styleOverrides: {\n root: {\n color: darkText.secondary,\n ':hover:not(.Mui-checked)': {\n color: darkText.primary\n }\n }\n }\n },\n MuiChip: {\n styleOverrides: {\n avatar: {\n color: darkNeutral[700]\n }\n }\n },\n MuiListItem: {\n styleOverrides: {\n button: {\n '&:before': {\n backgroundColor: darkPrimary.main\n }\n }\n }\n },\n MuiMenu: {\n styleOverrides: {\n paper: {\n border: `1px solid ${darkNeutral[300]}`\n }\n }\n },\n MuiPaper: {\n styleOverrides: {\n root: {\n backgroundImage: 'none'\n }\n }\n },\n MuiRadio: {\n defaultProps: {\n checkedIcon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n width=\"18\"\n height=\"18\"\n rx=\"9\"\n fill=\"currentColor\"\n />\n <rect\n x=\"2\"\n y=\"2\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n fill=\"currentColor\"\n />\n <rect\n x=\"5\"\n y=\"5\"\n width=\"8\"\n height=\"8\"\n rx=\"4\"\n fill={darkBackground.paper}\n />\n </svg>\n ),\n icon: (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <rect\n width=\"18\"\n height=\"18\"\n rx=\"9\"\n fill=\"currentColor\"\n />\n <rect\n x=\"2\"\n y=\"2\"\n width=\"14\"\n height=\"14\"\n rx=\"7\"\n fill={darkBackground.paper}\n />\n </svg>\n )\n },\n styleOverrides: {\n root: {\n color: darkText.secondary,\n ':hover:not(.Mui-checked)': {\n color: darkText.primary\n }\n }\n }\n },\n MuiSkeleton: {\n styleOverrides: {\n root: {\n backgroundColor: darkNeutral[100]\n }\n }\n },\n MuiSwitch: {\n styleOverrides: {\n root: {\n ':focus-within': {\n boxShadow: `${alpha(lightPrimary.main, 0.25)} 0 0 0 0.2rem`\n }\n },\n switchBase: {\n '&.Mui-checked+.MuiSwitch-track': {\n backgroundColor: darkSuccess.main\n },\n '&.Mui-disabled': {\n '&+.MuiSwitch-track': {\n backgroundColor: alpha(lightText.primary, 0.08)\n },\n '.MuiSwitch-thumb': {\n backgroundColor: alpha(lightText.primary, 0.26)\n }\n },\n '&.Mui-checked.Mui-disabled+.MuiSwitch-track': {\n backgroundColor: darkSuccess.main\n }\n },\n track: {\n backgroundColor: darkNeutral[500]\n },\n thumb: {\n backgroundColor: '#ffffff'\n }\n }\n },\n MuiTableCell: {\n styleOverrides: {\n root: {\n borderBottom: `1px solid ${darkNeutral[200]}`\n }\n }\n },\n MuiTableHead: {\n styleOverrides: {\n root: {\n backgroundColor: darkNeutral[100],\n borderBottom: `1px solid ${darkNeutral[200]}`,\n '.MuiTableCell-root': {\n color: darkText.secondary\n }\n }\n }\n },\n MuiTableRow: {\n styleOverrides: {\n root: {\n '&.MuiTableRow-hover:hover': {\n backgroundColor: darkNeutral[100]\n }\n }\n }\n },\n MuiToggleButton: {\n styleOverrides: {\n root: {\n borderColor: darkNeutral[300],\n '& .MuiSvgIcon-root': {\n color: alpha(darkText.primary, 0.38)\n }\n }\n }\n }\n },\n palette: {\n action: {\n active: alpha(darkText.secondary, 0.86),\n disabled: alpha(darkText.primary, 0.26),\n disabledBackground: alpha(darkText.primary, 0.08),\n focus: alpha(darkText.primary, 0.12),\n hover: alpha(darkText.primary, 0.06),\n selected: alpha(darkText.primary, 0.08)\n },\n background: {\n default: darkBackground.default,\n paper: darkBackground.paper\n },\n divider: darkNeutral[200],\n error: {\n contrastText: darkError.contrast,\n dark: darkError.dark,\n light: darkError.light,\n main: darkError.main\n },\n info: {\n contrastText: darkInfo.contrast,\n dark: darkInfo.dark,\n light: darkInfo.light,\n main: darkInfo.main\n },\n mode: 'dark',\n primary: {\n contrastText: darkPrimary.contrast,\n dark: darkPrimary.dark,\n light: darkPrimary.light,\n main: darkPrimary.main\n },\n secondary: {\n contrastText: darkSecondary.contrast,\n dark: darkSecondary.dark,\n light: darkSecondary.light,\n main: darkSecondary.main\n },\n success: {\n contrastText: darkSuccess.contrast,\n dark: darkSuccess.dark,\n light: darkSuccess.light,\n main: darkSuccess.main\n },\n text: {\n disabled: alpha(darkText.primary, 0.38),\n primary: darkText.primary,\n secondary: darkText.secondary,\n base: '#2d85f3',\n dark: '#010101',\n gold: '#fde001',\n faded: '#546283'\n },\n warning: {\n contrastText: darkWarning.contrast,\n dark: darkWarning.dark,\n light: darkWarning.light,\n main: darkWarning.main\n },\n neutral: darkNeutral,\n white: {\n contrastText: '#010101',\n dark: '#FFFFFF',\n light: '#FFFFFF',\n main: '#FFFFFF'\n },\n base: {\n contrastText: '#FFFFFF',\n dark: '#2d85f3',\n light: '#2d85f3',\n main: '#2d85f3',\n },\n darker: {\n contrastText: '#FFFFFF',\n dark: '#40444f',\n light: '#40444f',\n main: '#40444f',\n },\n youtube: '#ff0000',\n twitch: '#6441a5',\n twitter: '#1cb7eb'\n },\n shadows: [\n 'none',\n '0px 2px 1px -1px rgba(0, 0, 0, 0.2),0px 1px 1px 0px rgba(0, 0, 0, 0.14),0px 1px 3px 0px rgba(0, 0, 0, 0.12)',\n '0px 3px 1px -2px rgba(0, 0, 0, 0.2),0px 2px 2px 0px rgba(0, 0, 0, 0.14),0px 1px 5px 0px rgba(0, 0, 0, 0.12)',\n '0px 3px 3px -2px rgba(0, 0, 0, 0.2),0px 3px 4px 0px rgba(0, 0, 0, 0.14),0px 1px 8px 0px rgba(0, 0, 0, 0.12)',\n '0px 2px 4px -1px rgba(0, 0, 0, 0.2),0px 4px 5px 0px rgba(0, 0, 0, 0.14),0px 1px 10px 0px rgba(0, 0, 0, 0.12)',\n '0px 3px 5px -1px rgba(0, 0, 0, 0.2),0px 5px 8px 0px rgba(0, 0, 0, 0.14),0px 1px 14px 0px rgba(0, 0, 0, 0.12)',\n '0px 3px 5px -1px rgba(0, 0, 0, 0.2),0px 6px 10px 0px rgba(0, 0, 0, 0.14),0px 1px 18px 0px rgba(0, 0, 0, 0.12)',\n '0px 4px 5px -2px rgba(0, 0, 0, 0.2),0px 7px 10px 1px rgba(0, 0, 0, 0.14),0px 2px 16px 1px rgba(0, 0, 0, 0.12)',\n '0px 5px 5px -3px rgba(0, 0, 0, 0.2),0px 8px 10px 1px rgba(0, 0, 0, 0.14),0px 3px 14px 2px rgba(0, 0, 0, 0.12)',\n '0px 5px 6px -3px rgba(0, 0, 0, 0.2),0px 9px 12px 1px rgba(0, 0, 0, 0.14),0px 3px 16px 2px rgba(0, 0, 0, 0.12)',\n '0px 6px 6px -3px rgba(0, 0, 0, 0.2),0px 10px 14px 1px rgba(0, 0, 0, 0.14),0px 4px 18px 3px rgba(0, 0, 0, 0.12)',\n '0px 6px 7px -4px rgba(0, 0, 0, 0.2),0px 11px 15px 1px rgba(0, 0, 0, 0.14),0px 4px 20px 3px rgba(0, 0, 0, 0.12)',\n '0px 7px 8px -4px rgba(0, 0, 0, 0.2),0px 12px 17px 2px rgba(0, 0, 0, 0.14),0px 5px 22px 4px rgba(0, 0, 0, 0.12)',\n '0px 7px 8px -4px rgba(0, 0, 0, 0.2),0px 13px 19px 2px rgba(0, 0, 0, 0.14),0px 5px 24px 4px rgba(0, 0, 0, 0.12)',\n '0px 7px 9px -4px rgba(0, 0, 0, 0.2),0px 14px 21px 2px rgba(0, 0, 0, 0.14),0px 5px 26px 4px rgba(0, 0, 0, 0.12)',\n '0px 8px 9px -5px rgba(0, 0, 0, 0.2),0px 15px 22px 2px rgba(0, 0, 0, 0.14),0px 6px 28px 5px rgba(0, 0, 0, 0.12)',\n '0px 8px 10px -5px rgba(0, 0, 0, 0.2),0px 16px 24px 2px rgba(0, 0, 0, 0.14),0px 6px 30px 5px rgba(0, 0, 0, 0.12)',\n '0px 8px 11px -5px rgba(0, 0, 0, 0.2),0px 17px 26px 2px rgba(0, 0, 0, 0.14),0px 6px 32px 5px rgba(0, 0, 0, 0.12)',\n '0px 9px 11px -5px rgba(0, 0, 0, 0.2),0px 18px 28px 2px rgba(0, 0, 0, 0.14),0px 7px 34px 6px rgba(0, 0, 0, 0.12)',\n '0px 9px 12px -6px rgba(0, 0, 0, 0.2),0px 19px 29px 2px rgba(0, 0, 0, 0.14),0px 7px 36px 6px rgba(0, 0, 0, 0.12)',\n '0px 10px 13px -6px rgba(0, 0, 0, 0.2),0px 20px 31px 3px rgba(0, 0, 0, 0.14),0px 8px 38px 7px rgba(0, 0, 0, 0.12)',\n '0px 10px 13px -6px rgba(0, 0, 0, 0.2),0px 21px 33px 3px rgba(0, 0, 0, 0.14),0px 8px 40px 7px rgba(0, 0, 0, 0.12)',\n '0px 10px 14px -6px rgba(0, 0, 0, 0.2),0px 22px 35px 3px rgba(0, 0, 0, 0.14),0px 8px 42px 7px rgba(0, 0, 0, 0.12)',\n '0px 11px 14px -7px rgba(0, 0, 0, 0.2),0px 23px 36px 3px rgba(0, 0, 0, 0.14),0px 9px 44px 8px rgba(0, 0, 0, 0.12)',\n '0px 11px 15px -7px rgba(0, 0, 0, 0.2),0px 24px 38px 3px rgba(0, 0, 0, 0.14),0px 9px 46px 8px rgba(0, 0, 0, 0.12)'\n ]\n};\n\nexport const createCustomTheme = (config = {}) => {\n let themeOptions = config.theme === 'light'\n ? lightThemeOptions\n : darkThemeOptions;\n\n if (!themeOptions) {\n console.warn(new Error(`The theme ${config.theme} is not valid`));\n themeOptions = lightThemeOptions;\n }\n\n const theme = responsiveFontSizes(createMuiTheme({ ...baseThemeOptions }, { ...themeOptions }, {\n direction: config.direction\n }));\n\n return theme;\n};\n","import { useEffect } from 'react';\nimport { useRoutes } from 'react-router-dom';\nimport { CssBaseline, ThemeProvider } from '@material-ui/core';\nimport { Theme } from 'react-daisyui';\nimport { initializeI18n } from './i18n';\nimport { gtmConfig } from './config';\nimport { useSettings } from './contexts/settings-context';\nimport { useAuth } from './hooks/use-auth';\nimport gtm from './lib/gtm';\nimport { routes } from './routes';\nimport { createCustomTheme } from './theme';\n\nexport const App = () => {\n const content = useRoutes(routes);\n const { settings } = useSettings();\n const { isInitialized } = useAuth();\n\n useEffect(() => {\n gtm.initialize(gtmConfig);\n initializeI18n(settings.language);\n }, [settings]);\n\n const theme = createCustomTheme({\n direction: settings.direction,\n theme: settings.theme\n });\n\n return (\n <Theme dataTheme=\"dark\">\n <ThemeProvider theme={theme}>\n <CssBaseline />\n {isInitialized && content}\n </ThemeProvider>\n </Theme>\n );\n};\n","import 'simplebar/dist/simplebar.min.css';\nimport 'nprogress/nprogress.css';\nimport { StrictMode } from 'react';\nimport ReactDOM from 'react-dom';\nimport { BrowserRouter } from 'react-router-dom';\nimport { HelmetProvider } from 'react-helmet-async';\nimport { Toaster } from 'react-hot-toast';\nimport AdapterDateFns from '@material-ui/lab/AdapterDateFns';\nimport LocalizationProvider from '@material-ui/lab/LocalizationProvider';\nimport { AuthProvider } from './contexts/jwt-auth-context';\nimport { SettingsProvider } from './contexts/settings-context';\nimport { App } from './app';\n// import './index.css';\n\nReactDOM.render(\n <StrictMode>\n <HelmetProvider>\n <BrowserRouter>\n <LocalizationProvider dateAdapter={AdapterDateFns}>\n <SettingsProvider>\n <AuthProvider>\n <App />\n <Toaster position=\"bottom-right\" />\n </AuthProvider>\n </SettingsProvider>\n </LocalizationProvider>\n </BrowserRouter>\n </HelmetProvider>\n </StrictMode>, document.getElementById('root')\n);\n","import { createContext, useContext, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nconst initialSettings = {\n direction: 'ltr',\n language: 'en',\n pinSidebar: true,\n theme: 'dark'\n};\n\nexport const restoreSettings = () => {\n let settings = null;\n\n try {\n const storedData = window.localStorage.getItem('settings');\n\n if (storedData) {\n settings = JSON.parse(storedData);\n } else {\n settings = {\n direction: 'ltr',\n language: 'en',\n pinSidebar: true,\n // theme: window.matchMedia('(prefers-color-scheme: dark)').matches\n // ? 'dark'\n // : 'light'\n theme: 'dark'\n };\n }\n } catch (err) {\n console.error(err);\n // If stored data is not a strigified JSON this will fail,\n // that's why we catch the error\n }\n\n return settings;\n};\n\nexport const storeSettings = (settings) => {\n window.localStorage.setItem('settings', JSON.stringify(settings));\n};\n\nexport const SettingsContext = createContext({\n settings: initialSettings,\n saveSettings: () => { }\n});\n\nexport const SettingsProvider = (props) => {\n const { children } = props;\n const [forceDark, setForceDark] = useState(false);\n const [settings, setSettings] = useState(initialSettings);\n\n useEffect(() => {\n const restoredSettings = restoreSettings();\n\n if (restoredSettings) {\n if (forceDark) {\n restoredSettings.theme = 'dark';\n }\n setSettings(restoredSettings);\n }\n }, [forceDark]);\n\n const saveSettings = (updatedSettings) => {\n setSettings(updatedSettings);\n storeSettings(updatedSettings);\n };\n\n return (\n <SettingsContext.Provider\n value={{\n settings,\n saveSettings,\n setSettings,\n restoreSettings,\n setForceDark\n }}\n >\n {children}\n </SettingsContext.Provider>\n );\n};\n\nSettingsProvider.propTypes = {\n children: PropTypes.node.isRequired\n};\n\nexport const SettingsConsumer = SettingsContext.Consumer;\n\nexport const useSettings = () => useContext(SettingsContext);\n"],"sourceRoot":""}