client-web/build-prod/static/js/639.53b99eab.chunk.js.map
{"version":3,"file":"static/js/639.53b99eab.chunk.js","mappings":"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","sources":["pages/Owner/NewAppModal.tsx","../node_modules/@mui/material/esm/useMediaQuery/useMediaQuery.js","pages/Owner/DeletAppModal.tsx","pages/Owner/EditAppModal.tsx","pages/Owner/RotateModal.tsx","pages/Owner/Apps.tsx","pages/Owner/index.tsx"],"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 { 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}","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"],"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","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","useMediaQuery","queryInput","options","theme","useTheme","getThemeProps","props","replace","useMediaQueryImplementation","undefined","DeletAppModal","deleteApp","fullScreen","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"],"sourceRoot":""}