feat(v3.2.5): update mui & embed vars
This commit is contained in:
parent
b5d2e7040e
commit
dc52b00a00
32 changed files with 337 additions and 315 deletions
20
.babelrc
20
.babelrc
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"presets": [
|
||||
"next/babel"
|
||||
],
|
||||
"plugins": [
|
||||
[
|
||||
"babel-plugin-transform-imports",
|
||||
{
|
||||
"@material-ui/core": {
|
||||
"transform": "@material-ui/core/${member}",
|
||||
"preventFullImport": true
|
||||
},
|
||||
"@material-ui/icons": {
|
||||
"transform": "@material-ui/icons/${member}",
|
||||
"preventFullImport": true
|
||||
}
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
12
package.json
12
package.json
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "zip3",
|
||||
"version": "3.2.4",
|
||||
"version": "3.2.5",
|
||||
"scripts": {
|
||||
"prepare": "husky install",
|
||||
"dev": "NODE_ENV=development node server",
|
||||
|
@ -9,16 +9,15 @@
|
|||
"build:schema": "prisma generate --schema=prisma/schema.prisma",
|
||||
"start": "node server",
|
||||
"lint": "next lint",
|
||||
"seed": "ts-node --compiler-options \"{\\\"module\\\":\\\"commonjs\\\"}\" --transpile-only prisma/seed.ts",
|
||||
"semantic-release": "semantic-release"
|
||||
"seed": "ts-node --compiler-options \"{\\\"module\\\":\\\"commonjs\\\"}\" --transpile-only prisma/seed.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@emotion/react": "^11.4.0",
|
||||
"@emotion/styled": "^11.3.0",
|
||||
"@iarna/toml": "2.2.5",
|
||||
"@material-ui/core": "^5.0.0-alpha.37",
|
||||
"@material-ui/icons": "^5.0.0-alpha.37",
|
||||
"@material-ui/styles": "^5.0.0-alpha.35",
|
||||
"@mui/icons-material": "^5.0.0",
|
||||
"@mui/material": "^5.0.2",
|
||||
"@mui/styles": "^5.0.1",
|
||||
"@prisma/client": "^3.1.1",
|
||||
"@reduxjs/toolkit": "^1.6.0",
|
||||
"argon2": "^0.28.2",
|
||||
|
@ -44,7 +43,6 @@
|
|||
"@types/cookie": "^0.4.0",
|
||||
"@types/multer": "^1.4.6",
|
||||
"@types/node": "^15.12.2",
|
||||
"babel-plugin-transform-imports": "^2.0.0",
|
||||
"eslint": "^7.32.0",
|
||||
"eslint-config-next": "11.0.0",
|
||||
"husky": "^6.0.0",
|
||||
|
|
2
prisma/migrations/20211003022626_site_name/migration.sql
Normal file
2
prisma/migrations/20211003022626_site_name/migration.sql
Normal file
|
@ -0,0 +1,2 @@
|
|||
-- AlterTable
|
||||
ALTER TABLE "User" ADD COLUMN "embedSiteName" TEXT DEFAULT E'{image.file} • {user.name}';
|
|
@ -17,6 +17,7 @@ model User {
|
|||
customTheme Theme?
|
||||
embedTitle String?
|
||||
embedColor String @default("#2f3136")
|
||||
embedSiteName String? @default("{image.file} • {user.name}")
|
||||
images Image[]
|
||||
urls Url[]
|
||||
}
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
module.exports = {
|
||||
branches: ['trunk'],
|
||||
plugins: [
|
||||
'@semantic-release/commit-analyzer',
|
||||
'@semantic-release/github',
|
||||
'@semantic-release/changelog'
|
||||
]
|
||||
};
|
|
@ -1,5 +1,5 @@
|
|||
import React from 'react';
|
||||
import { Snackbar, Alert as MuiAlert } from '@material-ui/core';
|
||||
import { Snackbar, Alert as MuiAlert } from '@mui/material';
|
||||
|
||||
export default function Alert({ open, setOpen, severity, message }) {
|
||||
return (
|
||||
|
|
|
@ -2,7 +2,7 @@ import React from 'react';
|
|||
import {
|
||||
Backdrop as MuiBackdrop,
|
||||
CircularProgress,
|
||||
} from '@material-ui/core';
|
||||
} from '@mui/material';
|
||||
|
||||
export default function Backdrop({ open }) {
|
||||
return (
|
||||
|
|
|
@ -3,7 +3,7 @@ import {
|
|||
Card as MuiCard,
|
||||
CardContent,
|
||||
Typography,
|
||||
} from '@material-ui/core';
|
||||
} from '@mui/material';
|
||||
|
||||
export default function Card(props) {
|
||||
const { name, children, ...other } = props;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import React from 'react';
|
||||
import { Box } from '@material-ui/core';
|
||||
import { Box } from '@mui/material';
|
||||
|
||||
export default function CenteredBox({ children, ...other }) {
|
||||
return (
|
||||
|
|
|
@ -9,8 +9,8 @@ import {
|
|||
DialogTitle,
|
||||
DialogActions,
|
||||
DialogContent,
|
||||
} from '@material-ui/core';
|
||||
import AudioIcon from '@material-ui/icons/Audiotrack';
|
||||
} from '@mui/material';
|
||||
import AudioIcon from '@mui/icons-material/Audiotrack';
|
||||
import copy from 'copy-to-clipboard';
|
||||
import useFetch from 'hooks/useFetch';
|
||||
|
||||
|
|
|
@ -22,8 +22,7 @@ import {
|
|||
DialogContent,
|
||||
DialogContentText,
|
||||
DialogTitle,
|
||||
Select,
|
||||
} from '@material-ui/core';
|
||||
} from '@mui/material';
|
||||
import {
|
||||
Menu as MenuIcon,
|
||||
Home as HomeIcon,
|
||||
|
@ -36,10 +35,11 @@ import {
|
|||
PeopleAlt as UsersIcon,
|
||||
Brush as BrushIcon,
|
||||
Link as URLIcon,
|
||||
} from '@material-ui/icons';
|
||||
} from '@mui/icons-material';
|
||||
import copy from 'copy-to-clipboard';
|
||||
import Backdrop from './Backdrop';
|
||||
import { friendlyThemeName, themes } from './Theming';
|
||||
import { friendlyThemeName, themes } from 'components/Theming';
|
||||
import Select from 'components/input/Select';
|
||||
import { useRouter } from 'next/router';
|
||||
import { useStoreDispatch } from 'lib/redux/store';
|
||||
import { updateUser } from 'lib/redux/reducers/user';
|
||||
|
@ -157,7 +157,7 @@ export default function Layout({ children, user, loading, noPaper }) {
|
|||
setAnchorEl(null);
|
||||
};
|
||||
|
||||
const handleUpdateTheme = async (event: React.ChangeEvent<{ value: string }>) => {
|
||||
const handleUpdateTheme = async event => {
|
||||
const newUser = await useFetch('/api/user', 'PATCH', {
|
||||
systemTheme: event.target.value || 'dark_blue',
|
||||
});
|
||||
|
|
|
@ -4,7 +4,7 @@ import React, { forwardRef } from 'react';
|
|||
import clsx from 'clsx';
|
||||
import { useRouter } from 'next/router';
|
||||
import NextLink from 'next/link';
|
||||
import MuiLink from '@material-ui/core/Link';
|
||||
import MuiLink from '@mui/material/Link';
|
||||
|
||||
export const NextLinkComposed = forwardRef(function NextLinkComposed(props: any, ref) {
|
||||
const { to, linkAs, href, replace, scroll, passHref, shallow, prefetch, locale, ...other } =
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React from 'react';
|
||||
import { ThemeProvider } from '@emotion/react';
|
||||
import { CssBaseline } from '@material-ui/core';
|
||||
import { CssBaseline } from '@mui/material';
|
||||
|
||||
// themes
|
||||
import dark_blue from 'lib/themes/dark_blue';
|
||||
|
|
28
src/components/input/Select.tsx
Normal file
28
src/components/input/Select.tsx
Normal file
|
@ -0,0 +1,28 @@
|
|||
import React from 'react';
|
||||
import { styled, Select as MuiSelect, Input } from '@mui/material';
|
||||
import { makeStyles } from '@mui/styles';
|
||||
import { useTheme } from '@mui/system';
|
||||
|
||||
const CssInput = styled(Input)(({ theme }) => ({
|
||||
'& label.Mui-focused': {
|
||||
color: 'white',
|
||||
},
|
||||
'&': {
|
||||
color: 'white',
|
||||
},
|
||||
'&:before': {
|
||||
borderBottomColor: '#fff8',
|
||||
},
|
||||
'&&:hover:before': {
|
||||
borderBottomColor: theme.palette.primary.dark,
|
||||
},
|
||||
'&:after': {
|
||||
borderBottomColor: theme.palette.primary.main,
|
||||
},
|
||||
}));
|
||||
|
||||
export default function Select({ ...other }) {
|
||||
return (
|
||||
<MuiSelect input={<CssInput />} {...other}/>
|
||||
);
|
||||
}
|
41
src/components/input/TextInput.tsx
Normal file
41
src/components/input/TextInput.tsx
Normal file
|
@ -0,0 +1,41 @@
|
|||
import React from 'react';
|
||||
import { styled, TextField, Box } from '@mui/material';
|
||||
|
||||
const CssTextField = styled(TextField)(({ theme }) => ({
|
||||
'& label.Mui-focused': {
|
||||
color: 'white',
|
||||
},
|
||||
'& input': {
|
||||
color: 'white',
|
||||
},
|
||||
'& .MuiInput-underline:before': {
|
||||
borderBottomColor: '#fff8',
|
||||
},
|
||||
'&& .MuiInput-underline:hover:before': {
|
||||
borderBottomColor: theme.palette.primary.dark,
|
||||
},
|
||||
'& .MuiInput-underline:after': {
|
||||
borderBottomColor: theme.palette.primary.main,
|
||||
},
|
||||
}));
|
||||
|
||||
|
||||
export default function TextInput({ id, label, formik, ...other }) {
|
||||
return (
|
||||
<Box>
|
||||
<CssTextField
|
||||
id={id}
|
||||
name={id}
|
||||
label={label}
|
||||
value={formik.values[id]}
|
||||
onChange={formik.handleChange}
|
||||
error={formik.touched[id] && Boolean(formik.errors[id])}
|
||||
helperText={formik.touched[id] && formik.errors[id]}
|
||||
// @ts-ignore
|
||||
variant='standard'
|
||||
sx={{ pb: 0.5 }}
|
||||
{...other}
|
||||
/>
|
||||
</Box>
|
||||
);
|
||||
}
|
|
@ -15,8 +15,8 @@ import {
|
|||
CardActionArea,
|
||||
CardMedia,
|
||||
Card as MuiCard,
|
||||
} from '@material-ui/core';
|
||||
import AudioIcon from '@material-ui/icons/Audiotrack';
|
||||
} from '@mui/material';
|
||||
import AudioIcon from '@mui/icons-material/Audiotrack';
|
||||
|
||||
import Link from 'components/Link';
|
||||
import Card from 'components/Card';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React, { useEffect, useState } from 'react';
|
||||
import { Grid, Pagination, Box, Typography, Accordion, AccordionSummary, AccordionDetails } from '@material-ui/core';
|
||||
import { ExpandMore } from '@material-ui/icons';
|
||||
import { Grid, Pagination, Box, Typography, Accordion, AccordionSummary, AccordionDetails } from '@mui/material';
|
||||
import { ExpandMore } from '@mui/icons-material';
|
||||
|
||||
import Backdrop from 'components/Backdrop';
|
||||
import ZiplineImage from 'components/Image';
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
import React, { useState } from 'react';
|
||||
import { TextField, Button, Box, Typography, Select, MenuItem } from '@material-ui/core';
|
||||
import Download from '@material-ui/icons/Download';
|
||||
import { Button, Box, Typography, MenuItem, Tooltip } from '@mui/material';
|
||||
import Download from '@mui/icons-material/Download';
|
||||
|
||||
import { useFormik } from 'formik';
|
||||
import * as yup from 'yup';
|
||||
import useFetch from 'hooks/useFetch';
|
||||
import Backdrop from 'components/Backdrop';
|
||||
import Alert from 'components/Alert';
|
||||
import TextInput from 'components/input/TextInput';
|
||||
import Select from 'components/input/Select';
|
||||
import Link from 'components/Link';
|
||||
import { useStoreDispatch, useStoreSelector } from 'lib/redux/store';
|
||||
import { updateUser } from 'lib/redux/reducers/user';
|
||||
import { useRouter } from 'next/router';
|
||||
|
@ -56,21 +59,19 @@ const themeValidationSchema = yup.object({
|
|||
|
||||
});
|
||||
|
||||
function TextInput({ id, label, formik, ...other }) {
|
||||
function VarsTooltip({ children }) {
|
||||
return (
|
||||
<TextField
|
||||
id={id}
|
||||
name={id}
|
||||
label={label}
|
||||
value={formik.values[id]}
|
||||
onChange={formik.handleChange}
|
||||
error={formik.touched[id] && Boolean(formik.errors[id])}
|
||||
helperText={formik.touched[id] && formik.errors[id]}
|
||||
variant='standard'
|
||||
fullWidth
|
||||
sx={{ pb: 0.5 }}
|
||||
{...other}
|
||||
/>
|
||||
<Tooltip title={
|
||||
<>
|
||||
<Typography><b>{'{image.file}'}</b> - file name</Typography>
|
||||
<Typography><b>{'{image.mimetype}'}</b> - mimetype</Typography>
|
||||
<Typography><b>{'{image.id}'}</b> - id of the image</Typography>
|
||||
<Typography><b>{'{user.name}'}</b> - your username</Typography>
|
||||
visit <Link href='https://zipline.diced.me/docs/variables'>the docs</Link> for more variables
|
||||
</>
|
||||
}>
|
||||
{children}
|
||||
</Tooltip>
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -116,6 +117,7 @@ export default function Manage() {
|
|||
password: '',
|
||||
embedTitle: user.embedTitle ?? '',
|
||||
embedColor: user.embedColor,
|
||||
embedSiteName: user.embedSiteName ?? '',
|
||||
},
|
||||
validationSchema,
|
||||
onSubmit: async values => {
|
||||
|
@ -123,6 +125,7 @@ export default function Manage() {
|
|||
const cleanPassword = values.password.trim();
|
||||
const cleanEmbedTitle = values.embedTitle.trim();
|
||||
const cleanEmbedColor = values.embedColor.trim();
|
||||
const cleanEmbedSiteName = values.embedSiteName.trim();
|
||||
|
||||
if (cleanUsername === '') return formik.setFieldError('username', 'Username can\'t be nothing');
|
||||
|
||||
|
@ -133,6 +136,7 @@ export default function Manage() {
|
|||
password: cleanPassword === '' ? null : cleanPassword,
|
||||
embedTitle: cleanEmbedTitle === '' ? null : cleanEmbedTitle,
|
||||
embedColor: cleanEmbedColor === '' ? null : cleanEmbedColor,
|
||||
embedSiteName: cleanEmbedSiteName === '' ? null : cleanEmbedSiteName,
|
||||
};
|
||||
|
||||
const newUser = await useFetch('/api/user', 'PATCH', data);
|
||||
|
@ -190,12 +194,16 @@ export default function Manage() {
|
|||
<Backdrop open={loading}/>
|
||||
<Alert open={open} setOpen={setOpen} message={message} severity={severity} />
|
||||
|
||||
<Typography variant='h4' pb={2}>Manage User</Typography>
|
||||
<Typography variant='h4'>Manage User</Typography>
|
||||
<VarsTooltip>
|
||||
<Typography variant='caption' color='GrayText'>Want to use variables in embed text? Hover on this or visit <Link href='https://zipline.diced.me/docs/variables'>the docs</Link> for more variables</Typography>
|
||||
</VarsTooltip>
|
||||
<form onSubmit={formik.handleSubmit}>
|
||||
<TextInput id='username' label='Username' formik={formik} />
|
||||
<TextInput id='password' label='Password' formik={formik} type='password' />
|
||||
<TextInput id='embedTitle' label='Embed Title' formik={formik} />
|
||||
<TextInput id='embedColor' label='Embed Color' formik={formik} />
|
||||
<TextInput fullWidth id='username' label='Username' formik={formik} />
|
||||
<TextInput fullWidth id='password' label='Password' formik={formik} type='password' />
|
||||
<TextInput fullWidth id='embedTitle' label='Embed Title' formik={formik} />
|
||||
<TextInput fullWidth id='embedColor' label='Embed Color' formik={formik} />
|
||||
<TextInput fullWidth id='embedSiteName' label='Embed Site Name' formik={formik} />
|
||||
<Box
|
||||
display='flex'
|
||||
justifyContent='right'
|
||||
|
@ -223,14 +231,14 @@ export default function Manage() {
|
|||
<MenuItem value='dark'>Dark Theme</MenuItem>
|
||||
<MenuItem value='light'>Light Theme</MenuItem>
|
||||
</Select>
|
||||
<TextInput id='primary' label='Primary Color' formik={customThemeFormik} />
|
||||
<TextInput id='secondary' label='Secondary Color' formik={customThemeFormik} />
|
||||
<TextInput id='error' label='Error Color' formik={customThemeFormik} />
|
||||
<TextInput id='warning' label='Warning Color' formik={customThemeFormik} />
|
||||
<TextInput id='info' label='Info Color' formik={customThemeFormik} />
|
||||
<TextInput id='border' label='Border Color' formik={customThemeFormik} />
|
||||
<TextInput id='mainBackground' label='Main Background' formik={customThemeFormik} />
|
||||
<TextInput id='paperBackground' label='Paper Background' formik={customThemeFormik} />
|
||||
<TextInput fullWidth id='primary' label='Primary Color' formik={customThemeFormik} />
|
||||
<TextInput fullWidth id='secondary' label='Secondary Color' formik={customThemeFormik} />
|
||||
<TextInput fullWidth id='error' label='Error Color' formik={customThemeFormik} />
|
||||
<TextInput fullWidth id='warning' label='Warning Color' formik={customThemeFormik} />
|
||||
<TextInput fullWidth id='info' label='Info Color' formik={customThemeFormik} />
|
||||
<TextInput fullWidth id='border' label='Border Color' formik={customThemeFormik} />
|
||||
<TextInput fullWidth id='mainBackground' label='Main Background' formik={customThemeFormik} />
|
||||
<TextInput fullWidth id='paperBackground' label='Paper Background' formik={customThemeFormik} />
|
||||
<Box
|
||||
display='flex'
|
||||
justifyContent='right'
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React, { useState } from 'react';
|
||||
import { Typography, Button, CardActionArea, Paper, Box } from '@material-ui/core';
|
||||
import { Upload as UploadIcon } from '@material-ui/icons';
|
||||
import { Typography, Button, CardActionArea, Paper, Box } from '@mui/material';
|
||||
import { Upload as UploadIcon } from '@mui/icons-material';
|
||||
import Dropzone from 'react-dropzone';
|
||||
|
||||
import Backdrop from 'components/Backdrop';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React, { useEffect, useState } from 'react';
|
||||
import { Grid, Card, CardHeader, Box, Typography, IconButton, Link, Dialog, DialogContent, DialogActions, Button, DialogTitle, TextField } from '@material-ui/core';
|
||||
import { ContentCopy as CopyIcon, DeleteForever as DeleteIcon, Add as AddIcon } from '@material-ui/icons';
|
||||
import { Grid, Card, CardHeader, Box, Typography, IconButton, Link, Dialog, DialogContent, DialogActions, Button, DialogTitle, TextField } from '@mui/material';
|
||||
import { ContentCopy as CopyIcon, DeleteForever as DeleteIcon, Add as AddIcon } from '@mui/icons-material';
|
||||
|
||||
import Backdrop from 'components/Backdrop';
|
||||
import useFetch from 'hooks/useFetch';
|
||||
|
|
|
@ -14,8 +14,8 @@ import {
|
|||
TextField,
|
||||
Switch,
|
||||
FormControlLabel,
|
||||
} from '@material-ui/core';
|
||||
import { Delete as DeleteIcon, Add as AddIcon } from '@material-ui/icons';
|
||||
} from '@mui/material';
|
||||
import { Delete as DeleteIcon, Add as AddIcon } from '@mui/icons-material';
|
||||
|
||||
import { useStoreSelector } from 'lib/redux/store';
|
||||
import Backdrop from 'components/Backdrop';
|
||||
|
|
16
src/lib/clientUtils.ts
Normal file
16
src/lib/clientUtils.ts
Normal file
|
@ -0,0 +1,16 @@
|
|||
import { Image, User } from '@prisma/client';
|
||||
|
||||
export function parse(str: string, image: Image, user: User) {
|
||||
if (!str) return null;
|
||||
|
||||
return str
|
||||
.replace(/{user.admin}/gi, user.administrator ? 'yes' : 'no')
|
||||
.replace(/{user.id}/gi, user.id.toString())
|
||||
.replace(/{user.name}/gi, user.username)
|
||||
.replace(/{image.id}/gi, image.id.toString())
|
||||
.replace(/{image.mime}/gi, image.mimetype)
|
||||
.replace(/{image.file}/gi, image.file)
|
||||
.replace(/{image.created_at.full_string}/gi, image.created_at.toLocaleString())
|
||||
.replace(/{image.created_at.time_string}/gi, image.created_at.toLocaleTimeString())
|
||||
.replace(/{image.created_at.date_string}/gi, image.created_at.toLocaleDateString());
|
||||
}
|
|
@ -6,6 +6,7 @@ export interface User {
|
|||
token: string;
|
||||
embedTitle: string;
|
||||
embedColor: string;
|
||||
embedSiteName: string;
|
||||
systemTheme: string;
|
||||
customTheme?: Theme;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { createTheme as muiCreateTheme } from '@material-ui/core/styles';
|
||||
import { createTheme as muiCreateTheme } from '@mui/material/styles';
|
||||
|
||||
export interface ThemeOptions {
|
||||
type: 'dark' | 'light';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import React from 'react';
|
||||
import { Box, Typography } from '@material-ui/core';
|
||||
import { Box, Typography } from '@mui/material';
|
||||
|
||||
export default function FourOhFour() {
|
||||
return (
|
||||
|
|
|
@ -1,14 +1,18 @@
|
|||
import React, { useEffect, useRef, useState } from 'react';
|
||||
import Head from 'next/head';
|
||||
import { GetServerSideProps } from 'next';
|
||||
import { Box } from '@material-ui/core';
|
||||
import { Box } from '@mui/material';
|
||||
import config from 'lib/config';
|
||||
import prisma from 'lib/prisma';
|
||||
import getFile from '../../server/static';
|
||||
import { parse } from 'lib/clientUtils';
|
||||
|
||||
export default function EmbeddedImage({ image, title, username, color, normal, embed }) {
|
||||
export default function EmbeddedImage({ image, user, normal }) {
|
||||
const dataURL = (route: string) => `${route}/${image.file}`;
|
||||
|
||||
// reapply date from workaround
|
||||
image.created_at = new Date(image.created_at);
|
||||
|
||||
const updateImage = () => {
|
||||
const imageEl = document.getElementById('image_content') as HTMLImageElement;
|
||||
|
||||
|
@ -25,18 +29,11 @@ export default function EmbeddedImage({ image, title, username, color, normal, e
|
|||
return (
|
||||
<>
|
||||
<Head>
|
||||
{embed && (
|
||||
{image.embed && (
|
||||
<>
|
||||
{title ? (
|
||||
<>
|
||||
<meta property='og:site_name' content={`${image.file} • ${username}`} />
|
||||
<meta property='og:title' content={title} />
|
||||
</>
|
||||
) : (
|
||||
<meta property='og:title' content={`${image.file} • ${username}`} />
|
||||
)}
|
||||
<meta property='theme-color' content={color}/>
|
||||
<meta property='og:url' content={dataURL(normal)} />
|
||||
{user.embedSiteName && (<meta property='og:site_name' content={parse(user.embedSiteName, image, user)} />)}
|
||||
{user.embedTitle && (<meta property='og:title' content={parse(user.embedTitle, image, user)} />)}
|
||||
<meta property='theme-color' content={user.embedColor}/>
|
||||
</>
|
||||
)}
|
||||
<meta property='og:image' content={dataURL('/r')} />
|
||||
|
@ -98,6 +95,7 @@ export const getServerSideProps: GetServerSideProps = async (context) => {
|
|||
invisible: true,
|
||||
userId: true,
|
||||
embed: true,
|
||||
created_at: true,
|
||||
},
|
||||
});
|
||||
if (!image) return { notFound: true };
|
||||
|
@ -114,12 +112,17 @@ export const getServerSideProps: GetServerSideProps = async (context) => {
|
|||
select: {
|
||||
embedTitle: true,
|
||||
embedColor: true,
|
||||
embedSiteName: true,
|
||||
username: true,
|
||||
id: true,
|
||||
},
|
||||
where: {
|
||||
id: image.userId,
|
||||
},
|
||||
});
|
||||
|
||||
//@ts-ignore workaround because next wont allow date
|
||||
image.created_at = image.created_at.toString();
|
||||
|
||||
if (!image.mimetype.startsWith('image')) {
|
||||
const data = await getFile(config.uploader.directory, id);
|
||||
|
@ -132,11 +135,8 @@ export const getServerSideProps: GetServerSideProps = async (context) => {
|
|||
return {
|
||||
props: {
|
||||
image,
|
||||
title: user.embedTitle,
|
||||
color: user.embedColor,
|
||||
username: user.username,
|
||||
user,
|
||||
normal: config.uploader.route,
|
||||
embed: image.embed,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
|
|
@ -22,4 +22,4 @@ class MyDocument extends Document {
|
|||
}
|
||||
}
|
||||
|
||||
export default MyDocument;
|
||||
export default MyDocument;
|
|
@ -54,7 +54,7 @@ async function handler(req: NextApiReq, res: NextApiRes) {
|
|||
|
||||
|
||||
// @ts-ignore
|
||||
images.map(image => image.url = `${config.uploader.route}/${image.file}`);
|
||||
images.map(image => image.url = `/r/${image.file}`);
|
||||
if (req.query.filter && req.query.filter === 'media') images = images.filter(x => /^(video|audio|image)/.test(x.mimetype));
|
||||
|
||||
return res.json(req.query.paged ? chunk(images, 16) : images);
|
||||
|
|
|
@ -41,6 +41,11 @@ async function handler(req: NextApiReq, res: NextApiRes) {
|
|||
data: { embedColor: req.body.embedColor },
|
||||
});
|
||||
|
||||
if (req.body.embedSiteName) await prisma.user.update({
|
||||
where: { id: user.id },
|
||||
data: { embedSiteName: req.body.embedSiteName },
|
||||
});
|
||||
|
||||
if (req.body.systemTheme) await prisma.user.update({
|
||||
where: { id: user.id },
|
||||
data: { systemTheme: req.body.systemTheme },
|
||||
|
@ -72,6 +77,7 @@ async function handler(req: NextApiReq, res: NextApiRes) {
|
|||
administrator: true,
|
||||
embedColor: true,
|
||||
embedTitle: true,
|
||||
embedSiteName: true,
|
||||
id: true,
|
||||
images: false,
|
||||
password: false,
|
||||
|
|
|
@ -1,35 +1,15 @@
|
|||
import React, { useEffect, useState } from 'react';
|
||||
import { Typography, Box, TextField, Stack, Button } from '@material-ui/core';
|
||||
import { Color } from '@material-ui/core/Alert/Alert';
|
||||
import { Typography, Box, TextField, Stack, Button, styled } from '@mui/material';
|
||||
import { useRouter } from 'next/router';
|
||||
import Alert from 'components/Alert';
|
||||
import Backdrop from 'components/Backdrop';
|
||||
import TextInput from 'components/input/TextInput';
|
||||
import useFetch from 'hooks/useFetch';
|
||||
import { useFormik } from 'formik';
|
||||
|
||||
|
||||
function TextInput({ id, label, formik, ...other }) {
|
||||
return (
|
||||
<Box>
|
||||
<TextField
|
||||
id={id}
|
||||
name={id}
|
||||
label={label}
|
||||
value={formik.values[id]}
|
||||
onChange={formik.handleChange}
|
||||
error={formik.touched[id] && Boolean(formik.errors[id])}
|
||||
helperText={formik.touched[id] && formik.errors[id]}
|
||||
variant='standard'
|
||||
sx={{ pb: 0.5 }}
|
||||
{...other}
|
||||
/>
|
||||
</Box>
|
||||
);
|
||||
}
|
||||
|
||||
export default function Login() {
|
||||
const [open, setOpen] = useState(false);
|
||||
const [severity, setSeverity] = useState<Color>('success');
|
||||
const [severity, setSeverity] = useState('success');
|
||||
const [message, setMessage] = useState('');
|
||||
const [loadingOpen, setLoadingOpen] = useState(false);
|
||||
const router = useRouter();
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React, { useEffect } from 'react';
|
||||
import { useRouter } from 'next/router';
|
||||
import { Backdrop, CircularProgress } from '@material-ui/core';
|
||||
import { Backdrop, CircularProgress } from '@mui/material';
|
||||
|
||||
export default function Logout() {
|
||||
const router = useRouter();
|
||||
|
|
335
yarn.lock
335
yarn.lock
|
@ -62,13 +62,20 @@
|
|||
core-js-pure "^3.14.0"
|
||||
regenerator-runtime "^0.13.4"
|
||||
|
||||
"@babel/runtime@7.15.3", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.13.10", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
|
||||
"@babel/runtime@7.15.3", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.13.10", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
|
||||
version "7.15.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.3.tgz#2e1c2880ca118e5b2f9988322bd8a7656a32502b"
|
||||
integrity sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==
|
||||
dependencies:
|
||||
regenerator-runtime "^0.13.4"
|
||||
|
||||
"@babel/runtime@^7.15.4", "@babel/runtime@^7.3.1", "@babel/runtime@^7.8.3":
|
||||
version "7.15.4"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a"
|
||||
integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==
|
||||
dependencies:
|
||||
regenerator-runtime "^0.13.4"
|
||||
|
||||
"@babel/types@7.15.0":
|
||||
version "7.15.0"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd"
|
||||
|
@ -77,7 +84,7 @@
|
|||
"@babel/helper-validator-identifier" "^7.14.9"
|
||||
to-fast-properties "^2.0.0"
|
||||
|
||||
"@babel/types@^7.14.5", "@babel/types@^7.4":
|
||||
"@babel/types@^7.14.5":
|
||||
version "7.14.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz#3bb997ba829a2104cedb20689c4a5b8121d383ff"
|
||||
integrity sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==
|
||||
|
@ -240,7 +247,7 @@
|
|||
source-map "^0.5.7"
|
||||
stylis "^4.0.3"
|
||||
|
||||
"@emotion/cache@^11.0.0", "@emotion/cache@^11.4.0":
|
||||
"@emotion/cache@^11.4.0":
|
||||
version "11.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.4.0.tgz#293fc9d9a7a38b9aad8e9337e5014366c3b09ac0"
|
||||
integrity sha512-Zx70bjE7LErRO9OaZrhf22Qye1y4F7iDl+ITjet0J+i+B88PrAOBkKvaAWhxsZf72tDLajwCgfCjJ2dvH77C3g==
|
||||
|
@ -392,115 +399,114 @@
|
|||
semver "^7.3.4"
|
||||
tar "^6.1.0"
|
||||
|
||||
"@material-ui/core@^5.0.0-alpha.37":
|
||||
version "5.0.0-alpha.37"
|
||||
resolved "https://registry.yarnpkg.com/@material-ui/core/-/core-5.0.0-alpha.37.tgz#f2b526056ecceaa1c95083838c3c66cc3f00a106"
|
||||
integrity sha512-6jE8WbEM9EIzSBzQqcEeoU+Y15setZW7fNvoIn44tqvQy75ATwIziPIKThCOtMtc1X7D8SpG4EXEwsFzMlGgcw==
|
||||
"@mui/core@5.0.0-alpha.49":
|
||||
version "5.0.0-alpha.49"
|
||||
resolved "https://registry.yarnpkg.com/@mui/core/-/core-5.0.0-alpha.49.tgz#e74d6ec7f83f85b55d48aa05ea6b7cefff88ce1b"
|
||||
integrity sha512-bZ7UgH84AuKf/IT0U+knHEelDxLV0lNVFg7rKkkDfXEwUpTtAZEtZPFJjNngapSB/4MuFjaFsttex+0DGC5Z1Q==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.4.4"
|
||||
"@material-ui/private-theming" "5.0.0-alpha.35"
|
||||
"@material-ui/styled-engine" "5.0.0-alpha.34"
|
||||
"@material-ui/system" "5.0.0-alpha.37"
|
||||
"@material-ui/types" "6.0.1"
|
||||
"@material-ui/unstyled" "5.0.0-alpha.37"
|
||||
"@material-ui/utils" "5.0.0-alpha.35"
|
||||
"@babel/runtime" "^7.15.4"
|
||||
"@emotion/is-prop-valid" "^1.1.0"
|
||||
"@mui/utils" "^5.0.1"
|
||||
clsx "^1.1.1"
|
||||
prop-types "^15.7.2"
|
||||
react-is "^17.0.2"
|
||||
|
||||
"@mui/icons-material@^5.0.0":
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.0.1.tgz#fb7ffeba0b3604aab4a9b91644d2fc1aabb3b4f1"
|
||||
integrity sha512-AZehR/Uvi9VodsNPk9ae1lENKrf1evqx9suiP6VIqu7NxjZOlw/m/yA2gRAMmLEmIGr7EChfi/wcXuq6BpM9vw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.15.4"
|
||||
|
||||
"@mui/material@^5.0.2":
|
||||
version "5.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.0.2.tgz#380cf0ef42c538a68158b4da19c317178b22d10f"
|
||||
integrity sha512-LD2xHSjTLmbN0UoCuKTu09L/7JjpEzg+Cophf+dVJOTNoK7VI0Eqv3bmpF/9pDIk5dVKmeU9Eh4t2lW1ZifM6A==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.15.4"
|
||||
"@mui/core" "5.0.0-alpha.49"
|
||||
"@mui/system" "^5.0.2"
|
||||
"@mui/types" "^7.0.0"
|
||||
"@mui/utils" "^5.0.1"
|
||||
"@popperjs/core" "^2.4.4"
|
||||
"@types/react-transition-group" "^4.2.0"
|
||||
clsx "^1.0.4"
|
||||
csstype "^3.0.2"
|
||||
"@types/react-transition-group" "^4.4.3"
|
||||
clsx "^1.1.1"
|
||||
csstype "^3.0.9"
|
||||
hoist-non-react-statics "^3.3.2"
|
||||
prop-types "^15.7.2"
|
||||
react-is "^17.0.0"
|
||||
react-transition-group "^4.4.0"
|
||||
react-is "^17.0.2"
|
||||
react-transition-group "^4.4.2"
|
||||
|
||||
"@material-ui/icons@^5.0.0-alpha.37":
|
||||
version "5.0.0-alpha.37"
|
||||
resolved "https://registry.yarnpkg.com/@material-ui/icons/-/icons-5.0.0-alpha.37.tgz#8579986e0a3b4586dc7fbf23234d8bfe909b6c3c"
|
||||
integrity sha512-VlUYYCvHyMGTrZB1pxdDIEqCeKle6STys8p+DMbzGbUQ/CuuVqRkA06a73FQaMdAUBgc5VMKrsUg2hwj1UkTfQ==
|
||||
"@mui/private-theming@^5.0.1":
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.0.1.tgz#50a0ea6ad5a8d1d78072859c4bdaaa6b6584d986"
|
||||
integrity sha512-R8Cf2+32cG1OXFAqTighA5Mx9R5BQ57cN1ZVaNgfgdbI87Yig2fVMdFSPrw3txcjKlnwsvFJF8AdwQMqq1tJ3Q==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.4.4"
|
||||
|
||||
"@material-ui/private-theming@5.0.0-alpha.35":
|
||||
version "5.0.0-alpha.35"
|
||||
resolved "https://registry.yarnpkg.com/@material-ui/private-theming/-/private-theming-5.0.0-alpha.35.tgz#6efb33abff0cdee5890b0ddf67564244b35630f2"
|
||||
integrity sha512-D02L9kYjnMd8PtJUSXpiBk13+FnjQIDWINzBtRJXpwDooA7M3ejtTGPp+YJnP/wYs4nKdh852/+WiRk3VI5q4Q==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.4.4"
|
||||
"@material-ui/utils" "5.0.0-alpha.35"
|
||||
"@babel/runtime" "^7.15.4"
|
||||
"@mui/utils" "^5.0.1"
|
||||
prop-types "^15.7.2"
|
||||
|
||||
"@material-ui/styled-engine@5.0.0-alpha.34":
|
||||
version "5.0.0-alpha.34"
|
||||
resolved "https://registry.yarnpkg.com/@material-ui/styled-engine/-/styled-engine-5.0.0-alpha.34.tgz#d1cee8130b2adb14d68cd8107744cdc027ee4b6f"
|
||||
integrity sha512-1j+4tIxS6x3McJ+3O9mxwzjkci/uu09nnON7ZDgqX9O3f15D8CP8cmAy0PDm47M4utMwIqj+EaS4Y6d2PZWF5Q==
|
||||
"@mui/styled-engine@^5.0.1":
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.0.1.tgz#401e3e0ff846ad1b1e7e097c8050b36d7b68343e"
|
||||
integrity sha512-j40nCbaKr1HAZYqpX61XvZYsadYskjo3u6+pRFFaewSViAkkD1rjjbubpnh15nqVfYmijtHMZJ9/l1x1hamvfQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.4.4"
|
||||
"@emotion/cache" "^11.0.0"
|
||||
"@babel/runtime" "^7.15.4"
|
||||
"@emotion/cache" "^11.4.0"
|
||||
prop-types "^15.7.2"
|
||||
|
||||
"@material-ui/styles@^5.0.0-alpha.35":
|
||||
version "5.0.0-alpha.35"
|
||||
resolved "https://registry.yarnpkg.com/@material-ui/styles/-/styles-5.0.0-alpha.35.tgz#fc6c993d7cffb7630e4fd13a35871bb5fd670651"
|
||||
integrity sha512-GQ99bQkKjyC6AJXEdYvRcZ6k4xarZl3ybxQ3UPGlDxlLUbtE5dHT5Mg88NON7kVhSZOS4sTqE+c2ggvvLYja5g==
|
||||
"@mui/styles@^5.0.1":
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@mui/styles/-/styles-5.0.1.tgz#1634d08d892b5c7e85c9f84e4fc8bc02a5fb0f7a"
|
||||
integrity sha512-hCtR2ZVOkoIhpTan02I4UEShnZxe59WwhKRJqauMs/addXByhAHHCNheTdiV++Irl/fyyFObmzPM0CUD3q6FIA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.4.4"
|
||||
"@babel/runtime" "^7.15.4"
|
||||
"@emotion/hash" "^0.8.0"
|
||||
"@material-ui/private-theming" "5.0.0-alpha.35"
|
||||
"@material-ui/types" "6.0.1"
|
||||
"@material-ui/utils" "5.0.0-alpha.35"
|
||||
clsx "^1.0.4"
|
||||
csstype "^3.0.2"
|
||||
"@mui/private-theming" "^5.0.1"
|
||||
"@mui/types" "^7.0.0"
|
||||
"@mui/utils" "^5.0.1"
|
||||
clsx "^1.1.1"
|
||||
csstype "^3.0.9"
|
||||
hoist-non-react-statics "^3.3.2"
|
||||
jss "^10.0.3"
|
||||
jss-plugin-camel-case "^10.0.3"
|
||||
jss-plugin-default-unit "^10.0.3"
|
||||
jss-plugin-global "^10.0.3"
|
||||
jss-plugin-nested "^10.0.3"
|
||||
jss-plugin-props-sort "^10.0.3"
|
||||
jss-plugin-rule-value-function "^10.0.3"
|
||||
jss-plugin-vendor-prefixer "^10.0.3"
|
||||
jss "^10.8.0"
|
||||
jss-plugin-camel-case "^10.8.0"
|
||||
jss-plugin-default-unit "^10.8.0"
|
||||
jss-plugin-global "^10.8.0"
|
||||
jss-plugin-nested "^10.8.0"
|
||||
jss-plugin-props-sort "^10.8.0"
|
||||
jss-plugin-rule-value-function "^10.8.0"
|
||||
jss-plugin-vendor-prefixer "^10.8.0"
|
||||
prop-types "^15.7.2"
|
||||
|
||||
"@material-ui/system@5.0.0-alpha.37":
|
||||
version "5.0.0-alpha.37"
|
||||
resolved "https://registry.yarnpkg.com/@material-ui/system/-/system-5.0.0-alpha.37.tgz#0bac409badb8e9fcbd3c3da05ec071db2edf2630"
|
||||
integrity sha512-4eu05aXLWMzth6nsgRT6bvr88jDlPEsum0s9JZ4SO6MR/vqoVSpWk8Vesv2YifwPlvr6k+dv5XXb+DCdsYhIrQ==
|
||||
"@mui/system@^5.0.2":
|
||||
version "5.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.0.2.tgz#9999ab61801810ea01c44588fd0dcc1f64dfcedc"
|
||||
integrity sha512-K6wMbiSEYSMeYUw7zmZ2/50JFthqtuTz4OADyKc4ic2RP8ubAf/duH/nkJ4gtsKcewU4RIub0HQHl5F77WVp4Q==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.4.4"
|
||||
"@material-ui/private-theming" "5.0.0-alpha.35"
|
||||
"@material-ui/styled-engine" "5.0.0-alpha.34"
|
||||
"@material-ui/types" "6.0.1"
|
||||
"@material-ui/utils" "5.0.0-alpha.35"
|
||||
clsx "^1.0.4"
|
||||
csstype "^3.0.2"
|
||||
"@babel/runtime" "^7.15.4"
|
||||
"@mui/private-theming" "^5.0.1"
|
||||
"@mui/styled-engine" "^5.0.1"
|
||||
"@mui/types" "^7.0.0"
|
||||
"@mui/utils" "^5.0.1"
|
||||
clsx "^1.1.1"
|
||||
csstype "^3.0.9"
|
||||
prop-types "^15.7.2"
|
||||
|
||||
"@material-ui/types@6.0.1":
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@material-ui/types/-/types-6.0.1.tgz#bfcdcd3bb5091e5feac2b191db516543d84e26af"
|
||||
integrity sha512-t53C2BZE59e8ao38EDIZdM2smPDSEo5Xx9XxQ/MNM9Ph63Mu4vj5pmECiXkYp0y2OrvFiiZhcqRWV34SBOA18g==
|
||||
"@mui/types@^7.0.0":
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.0.0.tgz#a7398502bc9c508875aafcbe28aea599b2c3d203"
|
||||
integrity sha512-M/tkF2pZ4uoPhZ8pnNhlVnOFtz6F3dnYKIsnj8MuXKT6d26IE2u0UjA8B0275ggN74dR9rlHG5xJt5jgDx/Ung==
|
||||
|
||||
"@material-ui/unstyled@5.0.0-alpha.37":
|
||||
version "5.0.0-alpha.37"
|
||||
resolved "https://registry.yarnpkg.com/@material-ui/unstyled/-/unstyled-5.0.0-alpha.37.tgz#984e250f17fb7bff391ba58abfabd41bccd1d097"
|
||||
integrity sha512-otny+k5PqaoT2nK/4DqeO1yguZByDKx9zC+RjVnI47Q3gm/iuxILy5URulXar3Sg+Zbnn48MddoWOKSFKFz6ew==
|
||||
"@mui/utils@^5.0.1":
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.0.1.tgz#d4f0f41b82db6ac273920a1b5b6a4de7879271f5"
|
||||
integrity sha512-GWO104N+o9KG5fKiTEYnAg7kONKEg3vLN+VROAU0f3it6lFGLCVPcQYex/1gJ4QAy96u6Ez8/Hmmhi1+3cX0tQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.4.4"
|
||||
"@material-ui/utils" "5.0.0-alpha.35"
|
||||
clsx "^1.0.4"
|
||||
prop-types "^15.7.2"
|
||||
react-is "^17.0.0"
|
||||
|
||||
"@material-ui/utils@5.0.0-alpha.35":
|
||||
version "5.0.0-alpha.35"
|
||||
resolved "https://registry.yarnpkg.com/@material-ui/utils/-/utils-5.0.0-alpha.35.tgz#89078592c42bca5db712e82e12d56cd4be737c01"
|
||||
integrity sha512-Msu+zIXd7Y2JrTU9JIf0xjjjAMdWEIdlj2Tmj9bSYFF6bgStrQ1WXXZxxFz5GmdzT7FcLi5U3PqBynSNX/QDGA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.4.4"
|
||||
"@types/prop-types" "^15.7.3"
|
||||
"@babel/runtime" "^7.15.4"
|
||||
"@types/prop-types" "^15.7.4"
|
||||
"@types/react-is" "^16.7.1 || ^17.0.0"
|
||||
prop-types "^15.7.2"
|
||||
react-is "^17.0.0"
|
||||
react-is "^17.0.2"
|
||||
|
||||
"@napi-rs/triples@^1.0.3":
|
||||
version "1.0.3"
|
||||
|
@ -757,11 +763,16 @@
|
|||
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
|
||||
integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
|
||||
|
||||
"@types/prop-types@*", "@types/prop-types@^15.7.3":
|
||||
"@types/prop-types@*":
|
||||
version "15.7.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7"
|
||||
integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
|
||||
|
||||
"@types/prop-types@^15.7.4":
|
||||
version "15.7.4"
|
||||
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11"
|
||||
integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==
|
||||
|
||||
"@types/qs@*":
|
||||
version "6.9.6"
|
||||
resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.6.tgz#df9c3c8b31a247ec315e6996566be3171df4b3b1"
|
||||
|
@ -789,10 +800,10 @@
|
|||
hoist-non-react-statics "^3.3.0"
|
||||
redux "^4.0.0"
|
||||
|
||||
"@types/react-transition-group@^4.2.0":
|
||||
version "4.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.1.tgz#e1a3cb278df7f47f17b5082b1b3da17170bd44b1"
|
||||
integrity sha512-vIo69qKKcYoJ8wKCJjwSgCTM+z3chw3g18dkrDfVX665tMH7tmbDxEAnPdey4gTlwZz5QuHGzd+hul0OVZDqqQ==
|
||||
"@types/react-transition-group@^4.4.3":
|
||||
version "4.4.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.3.tgz#b0994da0a7023d67dbb4a8910a62112bc00d5688"
|
||||
integrity sha512-fUx5muOWSYP8Bw2BUQ9M9RK9+W1XBK/7FLJ8PTQpnpTEkn0ccyMffyEQvan4C3h53gHdx7KE5Qrxi/LnUGQtdg==
|
||||
dependencies:
|
||||
"@types/react" "*"
|
||||
|
||||
|
@ -1163,14 +1174,6 @@ babel-plugin-macros@^2.6.1:
|
|||
cosmiconfig "^6.0.0"
|
||||
resolve "^1.12.0"
|
||||
|
||||
babel-plugin-transform-imports@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-transform-imports/-/babel-plugin-transform-imports-2.0.0.tgz#9e5f49f751a9d34ba8f4bb988c7e48ed2419c6b6"
|
||||
integrity sha512-65ewumYJ85QiXdcB/jmiU0y0jg6eL6CdnDqQAqQ8JMOKh1E52VPG3NJzbVKWcgovUR5GBH8IWpCXQ7I8Q3wjgw==
|
||||
dependencies:
|
||||
"@babel/types" "^7.4"
|
||||
is-valid-path "^0.1.1"
|
||||
|
||||
balanced-match@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
||||
|
@ -1511,7 +1514,7 @@ clone@^1.0.2:
|
|||
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
|
||||
integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
|
||||
|
||||
clsx@^1.0.4:
|
||||
clsx@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188"
|
||||
integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==
|
||||
|
@ -1804,6 +1807,11 @@ csstype@^3.0.2:
|
|||
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340"
|
||||
integrity sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==
|
||||
|
||||
csstype@^3.0.9:
|
||||
version "3.0.9"
|
||||
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.9.tgz#6410af31b26bd0520933d02cbc64fce9ce3fbf0b"
|
||||
integrity sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==
|
||||
|
||||
cwd@^0.9.1:
|
||||
version "0.9.1"
|
||||
resolved "https://registry.yarnpkg.com/cwd/-/cwd-0.9.1.tgz#41e10a7e1ab833dc59c2eca83814c7de77b5a4fd"
|
||||
|
@ -3006,13 +3014,6 @@ imurmurhash@^0.1.4:
|
|||
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
|
||||
integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
|
||||
|
||||
indefinite-observable@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/indefinite-observable/-/indefinite-observable-2.0.1.tgz#574af29bfbc17eb5947793797bddc94c9d859400"
|
||||
integrity sha512-G8vgmork+6H9S8lUAg1gtXEj2JxIQTo0g2PbFiYOdjkziSI0F7UYBiVwhZRuixhBCNGczAls34+5HJPyZysvxQ==
|
||||
dependencies:
|
||||
symbol-observable "1.2.0"
|
||||
|
||||
indent-string@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
|
||||
|
@ -3127,11 +3128,6 @@ is-extendable@^0.1.0:
|
|||
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
|
||||
integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
|
||||
|
||||
is-extglob@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
|
||||
integrity sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=
|
||||
|
||||
is-extglob@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
|
||||
|
@ -3159,13 +3155,6 @@ is-generator-function@^1.0.7:
|
|||
resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.9.tgz#e5f82c2323673e7fcad3d12858c83c4039f6399c"
|
||||
integrity sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A==
|
||||
|
||||
is-glob@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
|
||||
integrity sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=
|
||||
dependencies:
|
||||
is-extglob "^1.0.0"
|
||||
|
||||
is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
|
||||
|
@ -3178,13 +3167,6 @@ is-in-browser@^1.0.2, is-in-browser@^1.1.3:
|
|||
resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835"
|
||||
integrity sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=
|
||||
|
||||
is-invalid-path@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/is-invalid-path/-/is-invalid-path-0.1.0.tgz#307a855b3cf1a938b44ea70d2c61106053714f34"
|
||||
integrity sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ=
|
||||
dependencies:
|
||||
is-glob "^2.0.0"
|
||||
|
||||
is-nan@^1.2.1:
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d"
|
||||
|
@ -3276,13 +3258,6 @@ is-typed-array@^1.1.3:
|
|||
foreach "^2.0.5"
|
||||
has-symbols "^1.0.1"
|
||||
|
||||
is-valid-path@^0.1.1:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/is-valid-path/-/is-valid-path-0.1.1.tgz#110f9ff74c37f663e1ec7915eb451f2db93ac9df"
|
||||
integrity sha1-EQ+f90w39mPh7HkV60UfLbk6yd8=
|
||||
dependencies:
|
||||
is-invalid-path "^0.1.0"
|
||||
|
||||
is-windows@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c"
|
||||
|
@ -3391,74 +3366,73 @@ jsonparse@^1.2.0:
|
|||
resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
|
||||
integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=
|
||||
|
||||
jss-plugin-camel-case@^10.0.3:
|
||||
version "10.6.0"
|
||||
resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.6.0.tgz#93d2cd704bf0c4af70cc40fb52d74b8a2554b170"
|
||||
integrity sha512-JdLpA3aI/npwj3nDMKk308pvnhoSzkW3PXlbgHAzfx0yHWnPPVUjPhXFtLJzgKZge8lsfkUxvYSQ3X2OYIFU6A==
|
||||
jss-plugin-camel-case@^10.8.0:
|
||||
version "10.8.0"
|
||||
resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.8.0.tgz#575fd849202d36713a6970796458e375754446c7"
|
||||
integrity sha512-yxlXrXwcCdGw+H4BC187dEu/RFyW8joMcWfj8Rk9UPgWTKu2Xh7Sib4iW3xXjHe/t5phOHF1rBsHleHykWix7g==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.3.1"
|
||||
hyphenate-style-name "^1.0.3"
|
||||
jss "10.6.0"
|
||||
jss "10.8.0"
|
||||
|
||||
jss-plugin-default-unit@^10.0.3:
|
||||
version "10.6.0"
|
||||
resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.6.0.tgz#af47972486819b375f0f3a9e0213403a84b5ef3b"
|
||||
integrity sha512-7y4cAScMHAxvslBK2JRK37ES9UT0YfTIXWgzUWD5euvR+JR3q+o8sQKzBw7GmkQRfZijrRJKNTiSt1PBsLI9/w==
|
||||
jss-plugin-default-unit@^10.8.0:
|
||||
version "10.8.0"
|
||||
resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.8.0.tgz#98db5962e62abbf43f1cc111e62cb70ffb09db59"
|
||||
integrity sha512-9XJV546cY9zV9OvIE/v/dOaxSi4062VfYQQfwbplRExcsU2a79Yn+qDz/4ciw6P4LV1Naq90U+OffAGRHfNq/Q==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.3.1"
|
||||
jss "10.6.0"
|
||||
jss "10.8.0"
|
||||
|
||||
jss-plugin-global@^10.0.3:
|
||||
version "10.6.0"
|
||||
resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.6.0.tgz#3e8011f760f399cbadcca7f10a485b729c50e3ed"
|
||||
integrity sha512-I3w7ji/UXPi3VuWrTCbHG9rVCgB4yoBQLehGDTmsnDfXQb3r1l3WIdcO8JFp9m0YMmyy2CU7UOV6oPI7/Tmu+w==
|
||||
jss-plugin-global@^10.8.0:
|
||||
version "10.8.0"
|
||||
resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.8.0.tgz#0c2b0c056087f5846d600f3332eeb7a1a8b9c9f2"
|
||||
integrity sha512-H/8h/bHd4e7P0MpZ9zaUG8NQSB2ie9rWo/vcCP6bHVerbKLGzj+dsY22IY3+/FNRS8zDmUyqdZx3rD8k4nmH4w==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.3.1"
|
||||
jss "10.6.0"
|
||||
jss "10.8.0"
|
||||
|
||||
jss-plugin-nested@^10.0.3:
|
||||
version "10.6.0"
|
||||
resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.6.0.tgz#5f83c5c337d3b38004834e8426957715a0251641"
|
||||
integrity sha512-fOFQWgd98H89E6aJSNkEh2fAXquC9aZcAVjSw4q4RoQ9gU++emg18encR4AT4OOIFl4lQwt5nEyBBRn9V1Rk8g==
|
||||
jss-plugin-nested@^10.8.0:
|
||||
version "10.8.0"
|
||||
resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.8.0.tgz#7ef9a815e9c9fbede41a8f52ce75cffb4c3b86d5"
|
||||
integrity sha512-MhmINZkSxyFILcFBuDoZmP1+wj9fik/b9SsjoaggkGjdvMQCES21mj4K5ZnRGVm448gIXyi9j/eZjtDzhaHUYQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.3.1"
|
||||
jss "10.6.0"
|
||||
jss "10.8.0"
|
||||
tiny-warning "^1.0.2"
|
||||
|
||||
jss-plugin-props-sort@^10.0.3:
|
||||
version "10.6.0"
|
||||
resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.6.0.tgz#297879f35f9fe21196448579fee37bcde28ce6bc"
|
||||
integrity sha512-oMCe7hgho2FllNc60d9VAfdtMrZPo9n1Iu6RNa+3p9n0Bkvnv/XX5San8fTPujrTBScPqv9mOE0nWVvIaohNuw==
|
||||
jss-plugin-props-sort@^10.8.0:
|
||||
version "10.8.0"
|
||||
resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.8.0.tgz#2a83e8ca80d72828495bad57b485f7d55a33543b"
|
||||
integrity sha512-VY+Wt5WX5GMsXDmd+Ts8+O16fpiCM81svbox++U3LDbJSM/g9FoMx3HPhwUiDfmgHL9jWdqEuvSl/JAk+mh6mQ==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.3.1"
|
||||
jss "10.6.0"
|
||||
jss "10.8.0"
|
||||
|
||||
jss-plugin-rule-value-function@^10.0.3:
|
||||
version "10.6.0"
|
||||
resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.6.0.tgz#3c1a557236a139d0151e70a82c810ccce1c1c5ea"
|
||||
integrity sha512-TKFqhRTDHN1QrPTMYRlIQUOC2FFQb271+AbnetURKlGvRl/eWLswcgHQajwuxI464uZk91sPiTtdGi7r7XaWfA==
|
||||
jss-plugin-rule-value-function@^10.8.0:
|
||||
version "10.8.0"
|
||||
resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.8.0.tgz#e011ed180789229e7ea8f75c222d34810bcab520"
|
||||
integrity sha512-R8N8Ma6Oye1F9HroiUuHhVjpPsVq97uAh+rMI6XwKLqirIu2KFb5x33hPj+vNBMxSHc9jakhf5wG0BbQ7fSDOg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.3.1"
|
||||
jss "10.6.0"
|
||||
jss "10.8.0"
|
||||
tiny-warning "^1.0.2"
|
||||
|
||||
jss-plugin-vendor-prefixer@^10.0.3:
|
||||
version "10.6.0"
|
||||
resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.6.0.tgz#e1fcd499352846890c38085b11dbd7aa1c4f2c78"
|
||||
integrity sha512-doJ7MouBXT1lypLLctCwb4nJ6lDYqrTfVS3LtXgox42Xz0gXusXIIDboeh6UwnSmox90QpVnub7au8ybrb0krQ==
|
||||
jss-plugin-vendor-prefixer@^10.8.0:
|
||||
version "10.8.0"
|
||||
resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.8.0.tgz#024b6d77be50b68e5dfca2c75f68091d8b722d61"
|
||||
integrity sha512-G1zD0J8dFwKZQ+GaZaay7A/Tg7lhDw0iEkJ/iFFA5UPuvZFpMprCMQttXcTBhLlhhWnyZ8YPn4yqp+amrhQekw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.3.1"
|
||||
css-vendor "^2.0.8"
|
||||
jss "10.6.0"
|
||||
jss "10.8.0"
|
||||
|
||||
jss@10.6.0, jss@^10.0.3:
|
||||
version "10.6.0"
|
||||
resolved "https://registry.yarnpkg.com/jss/-/jss-10.6.0.tgz#d92ff9d0f214f65ca1718591b68e107be4774149"
|
||||
integrity sha512-n7SHdCozmxnzYGXBHe0NsO0eUf9TvsHVq2MXvi4JmTn3x5raynodDVE/9VQmBdWFyyj9HpHZ2B4xNZ7MMy7lkw==
|
||||
jss@10.8.0, jss@^10.8.0:
|
||||
version "10.8.0"
|
||||
resolved "https://registry.yarnpkg.com/jss/-/jss-10.8.0.tgz#5063ee73aabd9f228ea3849df7962f0d2e213a42"
|
||||
integrity sha512-6fAMLJrVQ8epM5ghghxWqCwRR0ZamP2cKbOAtzPudcCMSNdAqtvmzQvljUZYR8OXJIeb/IpZeOXA1sDXms4R1w==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.3.1"
|
||||
csstype "^3.0.2"
|
||||
indefinite-observable "^2.0.1"
|
||||
is-in-browser "^1.1.3"
|
||||
tiny-warning "^1.0.2"
|
||||
|
||||
|
@ -4622,7 +4596,7 @@ react-fast-compare@^2.0.1:
|
|||
resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9"
|
||||
integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==
|
||||
|
||||
react-is@17.0.2, react-is@^17.0.0:
|
||||
react-is@17.0.2, react-is@^17.0.2:
|
||||
version "17.0.2"
|
||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
|
||||
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
|
||||
|
@ -4649,7 +4623,7 @@ react-refresh@0.8.3:
|
|||
resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f"
|
||||
integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==
|
||||
|
||||
react-transition-group@^4.4.0:
|
||||
react-transition-group@^4.4.2:
|
||||
version "4.4.2"
|
||||
resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470"
|
||||
integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==
|
||||
|
@ -5405,11 +5379,6 @@ symbol-observable@1.0.1:
|
|||
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4"
|
||||
integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=
|
||||
|
||||
symbol-observable@1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
|
||||
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
|
||||
|
||||
table@^6.0.9:
|
||||
version "6.7.1"
|
||||
resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2"
|
||||
|
|
Loading…
Reference in a new issue