fixed oauth and uploading and file details
This commit is contained in:
		
							parent
							
								
									799c7d7cec
								
							
						
					
					
						commit
						fbf1c95b1b
					
				| @ -14,6 +14,8 @@ services: | ||||
|       AUTH_DISCORD_SECRET: "lIrkEwb2PpMpLZM7Yb9pGVeT7YLgIC_C" | ||||
|       AUTH_TRUST_HOST: "true" | ||||
|       SKIP_ENV_VALIDATION: "true" | ||||
|       PAGE_URL: "https://file-hosting.example.com" | ||||
|       NEXTAUTH_URL: "https://file-hosting.example.com" | ||||
|     volumes: | ||||
|       - type: bind | ||||
|         source: /mnt/0TB/DATA/AppData/file-hosting/uploads | ||||
|  | ||||
| @ -6,6 +6,7 @@ | ||||
| import { useEffect, useState } from "react"; | ||||
| import toast from "react-hot-toast"; | ||||
| import { useRouter } from "next/navigation"; | ||||
| import { env } from "~/env.js"; | ||||
| 
 | ||||
| interface File { | ||||
|   id: string; | ||||
| @ -97,7 +98,7 @@ export default function FileGrid({ session }: FileGridProps) { | ||||
| 
 | ||||
|   const handleCopyUrl = (url: string) => { | ||||
|     navigator.clipboard | ||||
|       .writeText(url) | ||||
|       .writeText(env.PAGE_URL + url) | ||||
|       .then(() => toast.success("File URL copied to clipboard!")) | ||||
|       .catch(() => toast.error("Failed to copy URL.")); | ||||
|   }; | ||||
| @ -136,7 +137,7 @@ export default function FileGrid({ session }: FileGridProps) { | ||||
|             className="flex max-w-xs flex-col gap-4 rounded-xl bg-white/10 p-4 hover:bg-white/20" | ||||
|           > | ||||
|              | ||||
|             <button onClick={() => router.push(file.url)}> | ||||
|             <button onClick={() => router.push(env.PAGE_URL + file.url)}> | ||||
|               <h3 className="text-2xl font-bold">{file.name}</h3> | ||||
|             </button> | ||||
|             <div className="flex gap-2"> | ||||
|  | ||||
| @ -61,14 +61,11 @@ export async function POST(req: Request) { | ||||
|         try { | ||||
|           const filePath = path.join(uploadDir, fileName); | ||||
|           await fs.writeFile(filePath, fileBuffer); | ||||
|           const pageurl = new URL(req.url); | ||||
|           //get root path of the url
 | ||||
|           const pagePath = `${pageurl.protocol}//${pageurl.host}`; | ||||
| 
 | ||||
|           // Save file metadata to the database
 | ||||
|           const newFile = await db.file.create({ | ||||
|             data: { | ||||
|               url: `${pagePath}/share?id=${fileName}`, | ||||
|               url: `/share?id=${fileName}`, | ||||
|               name: fileName, | ||||
|               size: fileBuffer.length, | ||||
|               extension: path.extname(fileName), | ||||
|  | ||||
| @ -19,6 +19,7 @@ export const env = createEnv({ | ||||
|     NODE_ENV: z | ||||
|       .enum(["development", "test", "production"]) | ||||
|       .default("development"), | ||||
|     PAGE_URL: z.string().url(), | ||||
|   }, | ||||
| 
 | ||||
|   /** | ||||
| @ -40,6 +41,7 @@ export const env = createEnv({ | ||||
|     AUTH_DISCORD_SECRET: process.env.AUTH_DISCORD_SECRET, | ||||
|     DATABASE_URL: process.env.DATABASE_URL, | ||||
|     NODE_ENV: process.env.NODE_ENV, | ||||
|     PAGE_URL: process.env.PAGE_URL, | ||||
|   }, | ||||
|   /** | ||||
|    * Run `build` or `dev` with `SKIP_ENV_VALIDATION` to skip env validation. This is especially | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user