client-web/build/static/js/753.ada359e6.chunk.js.map
{"version":3,"file":"static/js/753.ada359e6.chunk.js","mappings":"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","sources":["pages/Owner/NewAppModal.tsx","pages/Owner/DeletAppModal.tsx","pages/Owner/EditAppModal.tsx","pages/Owner/RotateModal.tsx","pages/Owner/Apps.tsx","pages/Owner/index.tsx","../node_modules/@mui/material/esm/useMediaQuery/useMediaQuery.js"],"sourcesContent":["import React, { useState } from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport Box from \"@mui/material/Box\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { useFormik } from \"formik\";\nimport TextField from \"@mui/material/TextField\";\nimport { useStoreState } from \"../../store\";\nimport LoadingButton from '@mui/lab/LoadingButton';\nimport * as http from '../../http'\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Checkbox from \"@mui/material/Checkbox\";\n\ntype TProps = {\n open: boolean;\n setOpen: React.Dispatch<React.SetStateAction<boolean>>;\n};\n\nexport default function NewAppModal({ open, setOpen }: TProps) {\n const fileRef = React.useRef<HTMLInputElement>(null);\n const setApp = useStoreState((state) => state.setApp);\n const [loading, setLoading] = useState(false)\n\n const formik = useFormik({\n initialValues: {\n appName: \"\",\n appDescription: \"\",\n appGoogleId: \"\",\n defaultAccessProfileOpen: false,\n defaultAccessAssetsOpen: false,\n usersCanFree: false,\n newUserTokenGift: 0,\n coinsDayliBonus: 0,\n },\n validate: (values) => {\n const errors: Record<string, string> = {};\n\n if (!values.appName) {\n errors.appName = \"Required\";\n }\n\n return errors;\n },\n onSubmit: ({\n appName,\n appDescription,\n appGoogleId,\n defaultAccessAssetsOpen,\n defaultAccessProfileOpen,\n usersCanFree\n }) => {\n setLoading(true);\n const fd = new FormData();\n let file;\n if (fileRef.current) {\n const files = fileRef.current.files;\n if (files) {\n file = files[0];\n }\n }\n\n if (file) {\n fd.append(\"file\", file);\n }\n\n fd.append(\"appName\", appName);\n fd.append(\"appDescription\", appDescription);\n fd.append(\"appGoogleId\", appGoogleId);\n fd.append(\"defaultAccessAssetsOpen\", defaultAccessAssetsOpen.toString());\n fd.append(\"defaultAccessProfileOpen\", defaultAccessProfileOpen.toString());\n fd.append(\"usersCanFree\", usersCanFree.toString());\n\n http.createApp(fd)\n .then(response => {\n setApp(response.data.app)\n setOpen(false)\n })\n .finally(() => setLoading(false))\n }\n });\n\n return (\n <Dialog onClose={() => {}} open={open}>\n <Box>\n <DialogTitle\n style={{ display: \"flex\", justifyContent: \"space-between\" }}\n >\n New App\n <IconButton disabled={loading} onClick={() => setOpen(false)}>\n <CloseIcon />\n </IconButton>\n </DialogTitle>\n <Box sx={{ width: \"100%\", typography: \"body1\", padding: 1 }}>\n <form onSubmit={formik.handleSubmit}>\n <Box>\n <TextField\n error={\n formik.touched.appName && formik.errors.appName ? true : false\n }\n helperText={\n formik.touched.appName && formik.errors.appName\n ? formik.errors.appName\n : \"\"\n }\n margin=\"dense\"\n label=\"App Name\"\n name=\"appName\"\n variant=\"standard\"\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n value={formik.values.appName}\n />\n </Box>\n <Box>\n <TextField\n margin=\"dense\"\n label=\"Google Client Id\"\n name=\"appGoogleId\"\n variant=\"standard\"\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n value={formik.values.appGoogleId}\n />\n </Box>\n <Box style={{ display: \"inline-flex\", flexDirection: \"column\" }}>\n <FormControlLabel\n checked={formik.values.defaultAccessProfileOpen}\n name=\"defaultAccessProfileOpen\"\n control={\n <Checkbox\n onChange={(e) =>\n formik.setFieldValue(\n \"defaultAccessProfileOpen\",\n e.target.checked\n )\n }\n />\n }\n label=\"defaultAccessProfileOpen\"\n labelPlacement=\"end\"\n onChange={formik.handleChange}\n />\n <FormControlLabel\n checked={formik.values.defaultAccessAssetsOpen}\n name=\"defaultAccessAssetsOpen\"\n control={\n <Checkbox\n onChange={(e) =>\n formik.setFieldValue(\n \"defaultAccessAssetsOpen\",\n e.target.checked\n )\n }\n />\n }\n label=\"defaultAccessAssetsOpen\"\n labelPlacement=\"end\"\n />\n <FormControlLabel\n checked={formik.values.usersCanFree}\n name=\"usersCanFree\"\n control={\n <Checkbox\n onChange={(e) =>\n formik.setFieldValue(\"usersCanFree\", e.target.checked)\n }\n />\n }\n label=\"usersCanFree\"\n labelPlacement=\"end\"\n />\n\n <input ref={fileRef} type=\"file\" accept=\"image/*\"></input>\n <LoadingButton\n loading={loading}\n variant=\"contained\"\n style={{ marginTop: \"15px\" }}\n type=\"submit\"\n disabled={loading}\n >\n Create App\n </LoadingButton>\n </Box>\n </form>\n </Box>\n </Box>\n </Dialog>\n );\n}\n","import * as React from 'react';\nimport Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport LoadingButton from '@mui/lab/LoadingButton';\nimport { useTheme } from '@mui/material/styles';\nimport * as http from '../../http'\nimport { useStoreState } from '../../store'\n\ntype TProps = {\n open: boolean;\n setOpen: React.Dispatch<React.SetStateAction<boolean>>;\n app?: {\n appName: string\n _id: string\n } | null;\n};\n\nexport default function DeletAppModal(props: TProps) {\n const [loading, setLoading] = React.useState(false)\n const deleteApp = useStoreState(state => state.deleteApp)\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down('md'));\n\n const onDelete = () => {\n if (props.app && props.app?._id) {\n setLoading(true)\n http.deleteApp(props.app._id)\n .then(() => {\n deleteApp(props.app?._id as string)\n props.setOpen(false)\n })\n .finally(() => setLoading(false))\n }\n }\n\n return (\n <div>\n <Dialog\n fullScreen={fullScreen}\n open={props.open}\n onClose={() => {}}\n aria-labelledby=\"responsive-dialog-title\"\n >\n <DialogTitle id=\"responsive-dialog-title\">\n Are you sure want to remove application {props.app?.appName}\n </DialogTitle>\n <DialogContent>\n <DialogContentText>\n Your app clients(mobile, web) will not be able to send requests to Platform API after deleting the app\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button disabled={loading} variant=\"contained\" autoFocus onClick={() => props.setOpen(false)}>\n Cancel\n </Button>\n <LoadingButton variant=\"contained\" loading={loading} color=\"error\" onClick={onDelete} autoFocus>\n Delete\n </LoadingButton>\n </DialogActions>\n </Dialog>\n </div>\n );\n}\n","import React, { useState } from \"react\";\nimport Dialog from \"@mui/material/Dialog\";\nimport DialogTitle from \"@mui/material/DialogTitle\";\nimport Box from \"@mui/material/Box\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { useFormik } from \"formik\";\nimport TextField from \"@mui/material/TextField\";\nimport { useStoreState } from \"../../store\";\nimport LoadingButton from '@mui/lab/LoadingButton';\nimport * as http from '../../http'\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Checkbox from \"@mui/material/Checkbox\";\n\ntype TProps = {\n open: boolean;\n setOpen: React.Dispatch<React.SetStateAction<boolean>>;\n app: {\n _id: string,\n appName: string,\n appDescription: string,\n appGoogleId: string,\n defaultAccessProfileOpen: boolean,\n defaultAccessAssetsOpen: boolean,\n usersCanFree: boolean,\n }\n};\n\nexport default function EditAppModal({ open, setOpen, app }: TProps) {\n const fileRef = React.useRef<HTMLInputElement>(null);\n const [loading, setLoading] = useState(false)\n const updateApp = useStoreState(state => state.updateApp)\n\n const formik = useFormik({\n initialValues: {\n appName: app.appName,\n appDescription: app.appDescription ? app.appDescription : '',\n appGoogleId: app.appGoogleId ? app.appGoogleId : '',\n defaultAccessProfileOpen: app.defaultAccessProfileOpen,\n defaultAccessAssetsOpen: app.defaultAccessAssetsOpen,\n usersCanFree: app.usersCanFree\n },\n validate: (values) => {\n const errors: Record<string, string> = {};\n\n if (!values.appName) {\n errors.appName = \"Required\";\n }\n\n return errors;\n },\n onSubmit: ({\n appName,\n appDescription,\n appGoogleId,\n defaultAccessAssetsOpen,\n defaultAccessProfileOpen,\n usersCanFree\n }) => {\n setLoading(true);\n const fd = new FormData();\n let file;\n if (fileRef.current) {\n const files = fileRef.current.files;\n if (files) {\n file = files[0];\n }\n }\n\n if (file) {\n fd.append(\"file\", file);\n }\n\n fd.append(\"appName\", appName);\n fd.append(\"appDesctription\", appDescription);\n fd.append(\"appGoogleId\", appGoogleId);\n fd.append(\"defaultAccessAssetsOpen\", defaultAccessAssetsOpen.toString());\n fd.append(\"defaultAccessProfileOpen\", defaultAccessProfileOpen.toString());\n fd.append(\"usersCanFree\", usersCanFree.toString());\n\n http.updateApp(app._id, fd)\n .then(response => {\n updateApp(response.data.app)\n setOpen(false)\n })\n .finally(() => setLoading(false))\n }\n });\n\n return (\n <Dialog onClose={() => {}} open={open}>\n <Box>\n <DialogTitle\n style={{ display: \"flex\", justifyContent: \"space-between\" }}\n >\n Edit App\n <IconButton disabled={loading} onClick={() => setOpen(false)}>\n <CloseIcon />\n </IconButton>\n </DialogTitle>\n <Box sx={{ width: \"100%\", typography: \"body1\", padding: 1 }}>\n <form onSubmit={formik.handleSubmit}>\n <Box>\n <TextField\n error={\n formik.touched.appName && formik.errors.appName ? true : false\n }\n helperText={\n formik.touched.appName && formik.errors.appName\n ? formik.errors.appName\n : \"\"\n }\n margin=\"dense\"\n label=\"App Name\"\n name=\"appName\"\n variant=\"standard\"\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n value={formik.values.appName}\n />\n </Box>\n <Box>\n <TextField\n margin=\"dense\"\n label=\"Google Client Id\"\n name=\"appGoogleId\"\n variant=\"standard\"\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n value={formik.values.appGoogleId}\n />\n </Box>\n <Box style={{ display: \"inline-flex\", flexDirection: \"column\" }}>\n <FormControlLabel\n checked={formik.values.defaultAccessProfileOpen}\n name=\"defaultAccessProfileOpen\"\n control={\n <Checkbox\n onChange={(e) =>\n formik.setFieldValue(\n \"defaultAccessProfileOpen\",\n e.target.checked\n )\n }\n />\n }\n label=\"defaultAccessProfileOpen\"\n labelPlacement=\"end\"\n onChange={formik.handleChange}\n />\n <FormControlLabel\n checked={formik.values.defaultAccessAssetsOpen}\n name=\"defaultAccessAssetsOpen\"\n control={\n <Checkbox\n onChange={(e) =>\n formik.setFieldValue(\n \"defaultAccessAssetsOpen\",\n e.target.checked\n )\n }\n />\n }\n label=\"defaultAccessAssetsOpen\"\n labelPlacement=\"end\"\n />\n <FormControlLabel\n checked={formik.values.usersCanFree}\n name=\"usersCanFree\"\n control={\n <Checkbox\n onChange={(e) =>\n formik.setFieldValue(\"usersCanFree\", e.target.checked)\n }\n />\n }\n label=\"usersCanFree\"\n labelPlacement=\"end\"\n />\n\n <input ref={fileRef} type=\"file\" accept=\"image/*\"></input>\n <LoadingButton\n loading={loading}\n variant=\"contained\"\n style={{ marginTop: \"15px\" }}\n type=\"submit\"\n >\n Update App\n </LoadingButton>\n </Box>\n </form>\n </Box>\n </Box>\n </Dialog>\n );\n}\n","import * as React from 'react';\nimport Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport LoadingButton from '@mui/lab/LoadingButton';\nimport { useTheme } from '@mui/material/styles';\nimport * as http from '../../http'\nimport { useStoreState } from '../../store'\n\ntype TProps = {\n open: boolean;\n setOpen: React.Dispatch<React.SetStateAction<boolean>>;\n app?: {\n appName: string\n _id: string\n } | null;\n};\n\nexport default function RotateModal(props: TProps) {\n const [loading, setLoading] = React.useState(false)\n const updateApp = useStoreState(state => state.updateApp)\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down('md'));\n\n const onRotate = () => {\n if (props.app && props.app?._id) {\n setLoading(true)\n http.rotateAppJwt(props.app._id)\n .then((response) => {\n updateApp(response.data.app)\n props.setOpen(false)\n })\n .finally(() => setLoading(false))\n }\n }\n\n return (\n <div>\n <Dialog\n fullScreen={fullScreen}\n open={props.open}\n onClose={() => {}}\n aria-labelledby=\"responsive-dialog-title\"\n >\n <DialogTitle id=\"responsive-dialog-title\">\n Are you sure want to rotate JWT for application {props.app?.appName}\n </DialogTitle>\n <DialogContent>\n <DialogContentText>\n You will need to update your app clients(mobile, web) with new App Jwt\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button disabled={loading} variant=\"contained\" autoFocus onClick={() => props.setOpen(false)}>\n Cancel\n </Button>\n <LoadingButton variant=\"contained\" loading={loading} color=\"error\" onClick={onRotate} autoFocus>\n Rotate\n </LoadingButton>\n </DialogActions>\n </Dialog>\n </div>\n );\n}\n","import * as React from \"react\";\nimport Table from \"@mui/material/Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableContainer from \"@mui/material/TableContainer\";\nimport TableHead from \"@mui/material/TableHead\";\nimport TableRow from \"@mui/material/TableRow\";\nimport Paper from \"@mui/material/Paper\";\nimport Box from \"@mui/material/Box\";\nimport { IconButton, Typography } from \"@mui/material\";\nimport AddCircleIcon from \"@mui/icons-material/AddCircle\";\nimport { useStoreState } from \"../../store\";\nimport NoDataImage from \"../../components/NoDataImage\";\nimport NewAppModal from \"./NewAppModal\";\nimport DeleteAppModal from './DeletAppModal';\nimport EditAppModal from \"./EditAppModal\";\nimport RotateModal from \"./RotateModal\";\n\nexport default function BasicTable() {\n const apps = useStoreState((state) => state.apps)\n const [open, setOpen] = React.useState(false)\n const [showDelete, setShowDelete] = React.useState(false)\n const [showEdit, setShowEdit] = React.useState(false)\n const [showRotate, setShowRotate] = React.useState(false)\n const [currentApp, setCurrentApp] = React.useState({\n _id: '',\n appName: '',\n appDescription: '',\n appGoogleId: '',\n defaultAccessProfileOpen: false,\n defaultAccessAssetsOpen: false,\n usersCanFree: false\n })\n\n const onDelete = (app: any) => {\n setCurrentApp(app)\n setShowDelete(true)\n }\n\n const onEdit = (app: any) => {\n setCurrentApp(app)\n setShowEdit(true)\n }\n\n const onRotateJwt = (app: any) => {\n setCurrentApp(app)\n setShowRotate(true)\n }\n\n return (\n <TableContainer\n component={Paper}\n style={{ margin: \"0 auto\" }}\n >\n <Box style={{ display: \"flex\", alignItems: \"center\" }}>\n <Typography variant=\"h6\" style={{ margin: \"16px\" }}>\n Apps\n </Typography>\n <IconButton onClick={() => setOpen(true)} size=\"large\">\n <AddCircleIcon fontSize=\"large\"></AddCircleIcon>\n </IconButton>\n </Box>\n { apps.length === 0 && (\n <Box style={{display: 'flex', flexDirection: 'column', alignItems: 'center'}}>\n <NoDataImage></NoDataImage>\n <Typography style={{marginTop: '20px', marginBottom: '20px'}}>You have not created any apps.</Typography>\n </Box>\n ) }\n\n {\n apps.length > 0 && (\n <Table sx={{ minWidth: 650 }} aria-label=\"simple table\">\n <TableHead>\n <TableRow>\n <TableCell width={200}>Application Name</TableCell>\n <TableCell align=\"right\">Is Assets Open</TableCell>\n <TableCell align=\"right\">Is Profile Open</TableCell>\n <TableCell align=\"right\">Is Users Can Free</TableCell>\n <TableCell align=\"right\">Created</TableCell>\n <TableCell align=\"right\">Actions</TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {apps.map((app) => (\n <TableRow\n key={app._id}\n sx={{ \"&:last-child td, &:last-child th\": { border: 0 } }}\n >\n <TableCell component=\"th\" scope=\"row\">\n {app.appName}\n </TableCell>\n <TableCell align=\"right\">\n {app.defaultAccessAssetsOpen.toString()}\n </TableCell>\n <TableCell align=\"right\">\n {app.defaultAccessProfileOpen.toString()}\n </TableCell>\n <TableCell align=\"right\">{app.usersCanFree.toString()}</TableCell>\n <TableCell align=\"right\">\n {new Date(app.createdAt).toDateString()}\n </TableCell>\n <TableCell align=\"right\">\n <Box style={{display: 'flex', flexDirection: 'column'}}>\n <a href=\"/\" onClick={(e) => {\n e.preventDefault()\n onDelete(app)\n }}>Delete</a>\n <a \n href={`data:text/json;chatset=utf-8,${encodeURIComponent(\n JSON.stringify({appJwt: app.appToken})\n )}`}\n style={{display: 'none'}}\n download = \"data.json\"\n id={`app-jwt-${app._id}`}\n >download jwt</a>\n <a href=\"/\" onClick={(e) => {\n e.preventDefault()\n const el = document.querySelector(`#app-jwt-${app._id}`) as HTMLElement\n el?.click()\n }}>\n Download App JWT\n </a>\n <a href=\"/\" onClick={(e) => {\n e.preventDefault()\n onRotateJwt(app)\n }}>Rotate App Jwt</a>\n <a href=\"/\" onClick={(e) => {\n e.preventDefault()\n onEdit(app)\n }}>Edit</a>\n </Box>\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n </Table>\n )\n }\n <NewAppModal open={open} setOpen={setOpen}></NewAppModal>\n <DeleteAppModal app={currentApp} open={showDelete} setOpen={setShowDelete}/>\n <RotateModal app={currentApp} open={showRotate} setOpen={setShowRotate}></RotateModal>\n {showEdit && <EditAppModal app={currentApp} open={showEdit} setOpen={setShowEdit}></EditAppModal>}\n </TableContainer>\n );\n}\n","import * as React from \"react\";\nimport { useStoreState } from \"../../store\";\nimport { useHistory } from \"react-router-dom\";\nimport Apps from \"./Apps\";\nimport Box from \"@mui/material/Box\";\nimport Users from \"./Users\";\nimport { Container } from \"@mui/material\";\n\nexport default function Owner() {\n return (\n <div style={{ backgroundColor: \"#edf0f4\", padding: \"20px\" }}>\n <Container maxWidth={\"lg\"}>\n <Box style={{ marginTop: \"20px\" }}>\n <Apps />\n </Box>\n\n <Box style={{ marginTop: \"20px\" }}>\n <Users />\n </Box>\n </Container>\n </div>\n );\n}\n","import * as React from 'react';\nimport { getThemeProps, useThemeWithoutDefault as useTheme } from '@mui/system';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\n\n/**\n * @deprecated Not used internally. Use `MediaQueryListEvent` from lib.dom.d.ts instead.\n */\n\nfunction useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr) {\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const [match, setMatch] = React.useState(() => {\n if (noSsr && supportMatchMedia) {\n return matchMedia(query).matches;\n }\n if (ssrMatchMedia) {\n return ssrMatchMedia(query).matches;\n }\n\n // Once the component is mounted, we rely on the\n // event listeners to return the correct matches value.\n return defaultMatches;\n });\n useEnhancedEffect(() => {\n let active = true;\n if (!supportMatchMedia) {\n return undefined;\n }\n const queryList = matchMedia(query);\n const updateMatch = () => {\n // Workaround Safari wrong implementation of matchMedia\n // TODO can we remove it?\n // https://github.com/mui/material-ui/pull/17315#issuecomment-528286677\n if (active) {\n setMatch(queryList.matches);\n }\n };\n updateMatch();\n // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n queryList.addListener(updateMatch);\n return () => {\n active = false;\n queryList.removeListener(updateMatch);\n };\n }, [query, matchMedia, supportMatchMedia]);\n return match;\n}\n\n// eslint-disable-next-line no-useless-concat -- Workaround for https://github.com/webpack/webpack/issues/14814\nconst maybeReactUseSyncExternalStore = React['useSyncExternalStore' + ''];\nfunction useMediaQueryNew(query, defaultMatches, matchMedia, ssrMatchMedia) {\n const getDefaultSnapshot = React.useCallback(() => defaultMatches, [defaultMatches]);\n const getServerSnapshot = React.useMemo(() => {\n if (ssrMatchMedia !== null) {\n const {\n matches\n } = ssrMatchMedia(query);\n return () => matches;\n }\n return getDefaultSnapshot;\n }, [getDefaultSnapshot, query, ssrMatchMedia]);\n const [getSnapshot, subscribe] = React.useMemo(() => {\n if (matchMedia === null) {\n return [getDefaultSnapshot, () => () => {}];\n }\n const mediaQueryList = matchMedia(query);\n return [() => mediaQueryList.matches, notify => {\n // TODO: Use `addEventListener` once support for Safari < 14 is dropped\n mediaQueryList.addListener(notify);\n return () => {\n mediaQueryList.removeListener(notify);\n };\n }];\n }, [getDefaultSnapshot, matchMedia, query]);\n const match = maybeReactUseSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return match;\n}\nexport default function useMediaQuery(queryInput, options = {}) {\n const theme = useTheme();\n // Wait for jsdom to support the match media feature.\n // All the browsers MUI support have this built-in.\n // This defensive check is here for simplicity.\n // Most of the time, the match media logic isn't central to people tests.\n const supportMatchMedia = typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined';\n const {\n defaultMatches = false,\n matchMedia = supportMatchMedia ? window.matchMedia : null,\n ssrMatchMedia = null,\n noSsr\n } = getThemeProps({\n name: 'MuiUseMediaQuery',\n props: options,\n theme\n });\n if (process.env.NODE_ENV !== 'production') {\n if (typeof queryInput === 'function' && theme === null) {\n console.error(['MUI: The `query` argument provided is invalid.', 'You are providing a function without a theme in the context.', 'One of the parent elements needs to use a ThemeProvider.'].join('\\n'));\n }\n }\n let query = typeof queryInput === 'function' ? queryInput(theme) : queryInput;\n query = query.replace(/^@media( ?)/m, '');\n\n // TODO: Drop `useMediaQueryOld` and use `use-sync-external-store` shim in `useMediaQueryNew` once the package is stable\n const useMediaQueryImplementation = maybeReactUseSyncExternalStore !== undefined ? useMediaQueryNew : useMediaQueryOld;\n const match = useMediaQueryImplementation(query, defaultMatches, matchMedia, ssrMatchMedia, noSsr);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue({\n query,\n match\n });\n }\n return match;\n}"],"names":["NewAppModal","open","setOpen","fileRef","React","setApp","useStoreState","state","useState","loading","setLoading","formik","useFormik","initialValues","appName","appDescription","appGoogleId","defaultAccessProfileOpen","defaultAccessAssetsOpen","usersCanFree","newUserTokenGift","coinsDayliBonus","validate","values","errors","onSubmit","file","fd","FormData","current","files","append","toString","http","then","response","data","app","finally","Dialog","onClose","Box","DialogTitle","style","display","justifyContent","IconButton","disabled","onClick","Close","sx","width","typography","padding","handleSubmit","TextField","error","touched","helperText","margin","label","name","variant","onChange","handleChange","onBlur","handleBlur","value","flexDirection","FormControlLabel","checked","control","Checkbox","e","setFieldValue","target","labelPlacement","ref","type","accept","LoadingButton","marginTop","DeletAppModal","props","deleteApp","theme","useTheme","fullScreen","useMediaQuery","breakpoints","down","id","DialogContent","DialogContentText","DialogActions","Button","autoFocus","color","_id","EditAppModal","updateApp","RotateModal","BasicTable","apps","showDelete","setShowDelete","showEdit","setShowEdit","showRotate","setShowRotate","currentApp","setCurrentApp","TableContainer","component","Paper","alignItems","Typography","size","AddCircle","fontSize","length","NoDataImage","marginBottom","Table","minWidth","TableHead","TableRow","TableCell","align","TableBody","map","border","scope","Date","createdAt","toDateString","href","preventDefault","onDelete","encodeURIComponent","JSON","stringify","appJwt","appToken","download","el","document","querySelector","click","onRotateJwt","onEdit","Owner","backgroundColor","Container","maxWidth","Users","useMediaQueryOld","query","defaultMatches","matchMedia","ssrMatchMedia","noSsr","supportMatchMedia","window","matches","match","setMatch","useEnhancedEffect","active","queryList","updateMatch","addListener","removeListener","maybeReactUseSyncExternalStore","useMediaQueryNew","getDefaultSnapshot","getServerSnapshot","mediaQueryList","notify","getSnapshot","subscribe","queryInput","options","getThemeProps","replace","useMediaQueryImplementation","undefined"],"sourceRoot":""}