feat(cms): add storage based website content management
This commit is contained in:
parent
7d5689cfa4
commit
12d31f5468
31 changed files with 1347 additions and 158 deletions
|
|
@ -3,6 +3,7 @@ import AdminShell from "@/components/admin/AdminShell";
|
|||
import { requireAdminSession } from "@/lib/admin/auth";
|
||||
import { adminConfigurationStatus, appVersion, checkStorage, configDirectory, dataDirectory, isDockerEnvironment, olympusStatus, uploadDirectory } from "@/lib/runtime/config";
|
||||
import { getSmtpSettings, isSmtpConfigured } from "@/lib/mail/config";
|
||||
import { getContentSystemStatus } from "@/lib/content/service";
|
||||
|
||||
export default async function AdminSystemPage() {
|
||||
if (!await requireAdminSession()) redirect("/admin/login");
|
||||
|
|
@ -13,7 +14,7 @@ export default async function AdminSystemPage() {
|
|||
} catch {
|
||||
storage = "error";
|
||||
}
|
||||
const smtpSettings = await getSmtpSettings();
|
||||
const [smtpSettings, contentStatus] = await Promise.all([getSmtpSettings(), getContentSystemStatus()]);
|
||||
const smtpConfigured = isSmtpConfigured(smtpSettings);
|
||||
|
||||
return (
|
||||
|
|
@ -37,6 +38,10 @@ export default async function AdminSystemPage() {
|
|||
<div><dt>SMTP</dt><dd>{smtpConfigured ? "configured" : "missing"}</dd></div>
|
||||
<div><dt>Letzte SMTP-Testmail</dt><dd>{smtpSettings.lastTestAt ? `${new Date(smtpSettings.lastTestAt).toLocaleString("de-DE")} (${smtpSettings.lastTestStatus})` : "keine"}</dd></div>
|
||||
<div><dt>Letzter SMTP-Formularversand</dt><dd>{smtpSettings.lastDeliveryAt ? `${new Date(smtpSettings.lastDeliveryAt).toLocaleString("de-DE")} (${smtpSettings.lastDeliveryStatus})` : "keiner"}</dd></div>
|
||||
<div><dt>Content Version</dt><dd>{contentStatus.version}</dd></div>
|
||||
<div><dt>Letzte Content-Änderung</dt><dd>{contentStatus.lastModified ? new Date(contentStatus.lastModified).toLocaleString("de-DE") : "keine"}</dd></div>
|
||||
<div><dt>Anzahl Seiten</dt><dd>{contentStatus.pageCount}</dd></div>
|
||||
<div><dt>Anzahl Medien</dt><dd>{contentStatus.mediaCount}</dd></div>
|
||||
</dl>
|
||||
</section>
|
||||
<section className="admin-card">
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue