import { PageHeader } from "@/components/admin/form"; import { MEDIA_BUCKET_ID, Q, storage } from "@/lib/appwrite-rest"; import { requireSessionSecret } from "@/lib/auth"; import { Upload } from "lucide-react"; import { DeleteButton } from "@/components/admin/delete-button"; import { uploadMedia, deleteMediaFile } from "@/lib/admin-actions"; async function listFiles() { try { const secret = await requireSessionSecret(); const res = await storage.listFiles( MEDIA_BUCKET_ID, [Q.orderDesc("$createdAt"), Q.limit(100)], secret, ); return res.files; } catch { return []; } } function fileViewUrl(id: string) { return storage.fileViewUrl(MEDIA_BUCKET_ID, id); } export default async function MediaPage() { const files = await listFiles(); async function deleteAction(formData: FormData) { "use server"; const id = String(formData.get("id")); await deleteMediaFile(id); } return (
{files.length === 0 && (
Henüz görsel yüklenmemiş.
)} {files.map((f) => { const url = fileViewUrl(f.$id); return (
{/* eslint-disable-next-line @next/next/no-img-element */} {f.name}

{f.name}

{(f.sizeOriginal / 1024).toFixed(0)} KB

); })}
); }