feat: full site build — Project/Melody schema (Option A), admin CRUD, public sections, uploads, email+SMTP, internal analytics, legal pages, docs

This commit is contained in:
2026-08-05 20:53:40 +02:00
parent d87f3033c6
commit c26f41511f
122 changed files with 15068 additions and 41 deletions
+36
View File
@@ -0,0 +1,36 @@
import type { Locale } from "@/lib/i18n";
const directoryCopy = {
ar: {
segment: "melodies",
eyebrow: "الألحان",
title: "ألحان ومقاطع صوتية مختارة",
description: "استمع إلى مجموعة من الألحان والمقاطع الصوتية المنشورة.",
empty: "لا توجد ألحان منشورة ضمن هذا التصنيف بعد.",
filterLabel: "فلترة الألحان حسب التصنيف",
all: "الكل",
play: "تشغيل",
download: "تحميل الصوت",
back: "العودة إلى الألحان",
},
en: {
segment: "melodies",
eyebrow: "Melodies",
title: "Selected melodies and audio pieces",
description: "Listen to a collection of published melodies and audio pieces.",
empty: "No published melodies are available in this category yet.",
filterLabel: "Filter melodies by category",
all: "All",
play: "Play",
download: "Download audio",
back: "Back to melodies",
},
} as const;
export function getMelodyDirectoryCopy(locale: Locale) {
return directoryCopy[locale];
}
export function getMelodyPath(locale: Locale, slug?: string) {
return `/${locale}/melodies${slug ? `/${slug}` : ""}`;
}