From 5ce820d5c4baa030b073e9905a88f79b3b75cd38 Mon Sep 17 00:00:00 2001 From: MarconLP <13001502+MarconLP@users.noreply.github.com> Date: Wed, 12 Apr 2023 12:58:29 +0200 Subject: [PATCH] redirect to video page after upload --- src/components/VideoUploadModal.tsx | 13 ++++++++----- src/server/api/routers/video.ts | 6 +++++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/components/VideoUploadModal.tsx b/src/components/VideoUploadModal.tsx index 8ebefd3..42a30c1 100644 --- a/src/components/VideoUploadModal.tsx +++ b/src/components/VideoUploadModal.tsx @@ -2,8 +2,10 @@ import { type ChangeEvent, Fragment, useState } from "react"; import { Dialog, Transition } from "@headlessui/react"; import { api } from "~/utils/api"; import axios from "axios"; +import { useRouter } from "next/router"; export default function VideoUploadModal() { + const router = useRouter(); const [isOpen, setIsOpen] = useState(false); const [file, setFile] = useState(); const getSignedUrl = api.video.getUploadUrl.useMutation(); @@ -24,14 +26,15 @@ export default function VideoUploadModal() { const handleSubmit = async (): Promise => { if (!file) return; - const presignedUrl = await getSignedUrl.mutateAsync({ key: file.name }); + const { signedUrl, id } = await getSignedUrl.mutateAsync({ + key: file.name, + }); await axios - .put(presignedUrl, file.slice(), { + .put(signedUrl, file.slice(), { headers: { "Content-Type": file.type }, }) - .then((response) => { - console.log(response); - console.log("Successfully uploaded ", file.name); + .then(() => { + router.push("share/" + id); }) .catch((err) => console.error(err)); }; diff --git a/src/server/api/routers/video.ts b/src/server/api/routers/video.ts index 728e862..981ca5e 100644 --- a/src/server/api/routers/video.ts +++ b/src/server/api/routers/video.ts @@ -64,6 +64,10 @@ export const videoRouter = createTRPCRouter({ const signedUrl = await getSignedUrl(s3, putObjectCommand); - return signedUrl; + return { + success: true, + id: video.id, + signedUrl, + }; }), });