Navigating in server components.
Unanswered
Bumble bee posted this in #help-forum
Bumble beeOP
import { Button } from "@/components/ui/button";
import { utapi } from "@/server/uploadthing";
import Image from "next/image";
import Link from "next/link";
import { Separator } from "@/components/ui/separator"
import { createStudentSubmition } from "@/lib/actions/submission.actions";
import { ISubmission } from "@/lib/database/models/submission.model";
import { getUserObjectId } from "@/helpers";
import { redirect } from "next/navigation";
async function uploadFiles(formData: FormData) {
"use server";
const files = formData.getAll("files");
//@ts-ignore
const response = await utapi.uploadFiles(files);
if(response) {
const submission: ISubmission = {
// assignmentRef: '',
studentRef: getUserObjectId(),
submittedFileUrl: response[0].data?.url!,
status: 'Submitted'
}
try {
const createdSubmission = await createStudentSubmition(submission);
if(createdSubmission) {
const createdSubmissionJSON = JSON.parse(JSON.stringify(createdSubmission));
console.log(createdSubmissionJSON);
}
} catch (error) {
console.log(error);
}
}
}
type submitAssignmentFormProps = {
assignmentRef: string
}
const submitAssignmentForm = ({}: submitAssignmentFormProps) => {
return (
<div className="flex flex-col items-center justify-center min-h-screen bg-white">
<form action={uploadFiles} className="flex flex-col items-center space-y-4 bg-white p-8">
...
...
...
</form>
</div>
)
}
export default submitAssignmentForm; can somebody help me, i dont know how to navigate/route/redirect to an url after the submission is created. I know about useRouter and link but im in a server component