feat: save logos to media/logo/ subdir, add Logo generator link to admin dropdown

This commit is contained in:
openhands committed 2026-07-03 17:14:44 +02:00
1 parent 917437c5ef
commit f3367e9b7b
4 files changed
+17 -11

No files matched your search

+6 -4
View File
@@ -1,12 +1,12 @@
"use server";
import { revalidatePath } from "next/cache";
import { writeFile } from "fs/promises";
import { mkdir, writeFile } from "fs/promises";
import path from "path";
import { prisma } from "@/lib/prisma";
import { siteSettings } from "@/lib/services/site-settings";
const MEDIA_DIR = "public/assets/images/media";
const MEDIA_DIR = "public/assets/images/media/logo";
export async function saveLogo(formData: FormData): Promise<{ success: boolean; url?: string; error?: string }> {
try {
@@ -20,9 +20,10 @@ export async function saveLogo(formData: FormData): Promise<{ success: boolean;
const filePath = path.join(dir, filename);
const buffer = Buffer.from(await file.arrayBuffer());
await mkdir(dir, { recursive: true });
await writeFile(filePath, buffer);
const url = `/api/media/${filename}`;
const url = `/api/media/logo/${filename}`;
await prisma.websiteSetting.upsert({
where: { key: "cms_logo" },
@@ -53,9 +54,10 @@ export async function saveLogoFromUrl(gifUrl: string): Promise<{ success: boolea
const dir = path.join(process.cwd(), MEDIA_DIR);
const filePath = path.join(dir, filename);
await mkdir(dir, { recursive: true });
await writeFile(filePath, buffer);
const url = `/api/media/${filename}`;
const url = `/api/media/logo/${filename}`;
await prisma.websiteSetting.upsert({
where: { key: "cms_logo" },