feat(components): copy url to clipboard when uploading image

This commit is contained in:
diced 2021-08-24 10:17:04 -07:00
parent 474024ea55
commit 386cad0474
No known key found for this signature in database
GPG key ID: 85AB64C74535D76E
3 changed files with 5 additions and 5 deletions

View file

@ -6,7 +6,7 @@
"dev": "NODE_ENV=development node server", "dev": "NODE_ENV=development node server",
"build": "npm-run-all build:schema build:next", "build": "npm-run-all build:schema build:next",
"build:next": "next build", "build:next": "next build",
"build:schema": "prisma generate --schema=prisma/schema.shared.prisma", "build:schema": "prisma generate --schema=prisma/schema.sqlite.prisma",
"start": "node server", "start": "node server",
"lint": "next lint", "lint": "next lint",
"ts-node": "./node_modules/.bin/ts-node --compiler-options \"{\\\"module\\\":\\\"commonjs\\\"}\" --transpile-only", "ts-node": "./node_modules/.bin/ts-node --compiler-options \"{\\\"module\\\":\\\"commonjs\\\"}\" --transpile-only",

View file

@ -3,13 +3,13 @@ import { Typography, Button, CardActionArea, Paper, Box } from '@material-ui/cor
import { Upload as UploadIcon } from '@material-ui/icons'; import { Upload as UploadIcon } from '@material-ui/icons';
import Dropzone from 'react-dropzone'; import Dropzone from 'react-dropzone';
import useFetch from 'hooks/useFetch';
import Backdrop from 'components/Backdrop'; import Backdrop from 'components/Backdrop';
import Alert from 'components/Alert'; import Alert from 'components/Alert';
import { useStoreSelector } from 'lib/redux/store'; import { useStoreSelector } from 'lib/redux/store';
import CenteredBox from 'components/CenteredBox'; import CenteredBox from 'components/CenteredBox';
import copy from 'copy-to-clipboard';
export default function Manage({ route }) { export default function Upload({ route }) {
const user = useStoreSelector(state => state.user); const user = useStoreSelector(state => state.user);
const [file, setFile] = useState(null); const [file, setFile] = useState(null);
@ -34,7 +34,8 @@ export default function Manage({ route }) {
if (res.ok && json.error === undefined) { if (res.ok && json.error === undefined) {
setOpen(true); setOpen(true);
setSeverity('success'); setSeverity('success');
setMessage(`File uploaded! ${json.url}`); setMessage(`Copied to clipboard! ${json.url}`);
copy(json.url);
} else { } else {
setOpen(true); setOpen(true);
setSeverity('error'); setSeverity('error');

View file

@ -22,7 +22,6 @@ async function handler(req: NextApiReq, res: NextApiRes) {
}); });
if (!user) return res.forbid('authorization incorect'); if (!user) return res.forbid('authorization incorect');
if (!req.file) return res.error('no file'); if (!req.file) return res.error('no file');
console.log(req.file);
const ext = req.file.originalname.split('.').pop(); const ext = req.file.originalname.split('.').pop();