units,lesson as standalone

This commit is contained in:
2026-07-10 11:45:02 +08:00
parent 182bd93d10
commit 01a2c63b06
60 changed files with 3217 additions and 606 deletions
@@ -85,21 +85,21 @@ function NotificationTemplatesInner() {
return (
<section className="bg-muted/60 min-h-full">
<PageMeta title="Notification Templates - STARR" />
<PageMeta title="Announcement Templates - STARR" />
<div className="lg:container lg:mx-auto lg:px-0 flex flex-col items-start px-4 py-10">
<div className="w-full max-w-6xl mx-auto">
<div className="flex flex-col gap-2 mb-6">
<AppBreadcrumb items={[
{ label: "Home", icon: <House className="size-4" />, to: "/admin" },
{ label: "Notifications", to: "/admin/notifications" },
{ label: "Announcements", to: "/admin/announcements" },
{ label: "Templates" },
]} />
</div>
<div className="flex items-center justify-between mb-6">
<div>
<h1 className="text-xl font-semibold">Notification Templates</h1>
<h1 className="text-xl font-semibold">Announcement Templates</h1>
<p className="text-sm text-muted-foreground mt-0.5">
Title and message wording for every automated notification STARR sends.
</p>
@@ -179,7 +179,7 @@ function NotificationTemplatesInner() {
<TemplateCard
key={item.notification_template_id}
item={item}
onEdit={(t) => navigate(`/admin/notification-templates/${t.notification_template_id}/edit`)}
onEdit={(t) => navigate(`/admin/announcement-templates/${t.notification_template_id}/edit`)}
/>
))}
</div>