mirror of https://github.com/MaxLeiter/Drift
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			35 lines
		
	
	
		
			788 B
		
	
	
	
		
			TypeScript
		
	
			
		
		
	
	
			35 lines
		
	
	
		
			788 B
		
	
	
	
		
			TypeScript
		
	
import NewPost from "@components/new-post"
 | 
						|
import { useRouter } from "next/navigation"
 | 
						|
import { cookies } from "next/headers"
 | 
						|
import { TOKEN_COOKIE_NAME } from "@lib/constants"
 | 
						|
import { getPostWithFiles } from "app/prisma"
 | 
						|
import { useRedirectIfNotAuthed } from "@lib/server/hooks/use-redirect-if-not-authed"
 | 
						|
 | 
						|
const NewFromExisting = async ({
 | 
						|
	params
 | 
						|
}: {
 | 
						|
	params: {
 | 
						|
		id: string
 | 
						|
	}
 | 
						|
}) => {
 | 
						|
	const { id } = params
 | 
						|
	const router = useRouter()
 | 
						|
	const cookieList = cookies()
 | 
						|
	useRedirectIfNotAuthed()
 | 
						|
	const driftToken = cookieList.get(TOKEN_COOKIE_NAME)
 | 
						|
 | 
						|
	if (!driftToken) {
 | 
						|
		return router.push("/signin")
 | 
						|
	}
 | 
						|
 | 
						|
	if (!id) {
 | 
						|
		return router.push("/new")
 | 
						|
	}
 | 
						|
 | 
						|
	const post = await getPostWithFiles(id)
 | 
						|
 | 
						|
	return <NewPost initialPost={post} newPostParent={id} />
 | 
						|
}
 | 
						|
 | 
						|
export default NewFromExisting
 |