feat(don): admin widget now displays this month's donate instead of all-time sum
This commit is contained in:
@@ -263,7 +263,7 @@ function TopRow({
|
||||
href="/donate/admin/calendar"
|
||||
>
|
||||
<WalletIcon className="absolute top-1/3 left-1/3 size-6/8 opacity-20" />
|
||||
<span>รวมทั้งหมด</span>
|
||||
<span>รวมเดือนนี้</span>
|
||||
<span className="text-3xl font-bold">{stats.total}฿</span>
|
||||
</Link>
|
||||
</div>
|
||||
@@ -291,7 +291,7 @@ export function DonateAdminPage({
|
||||
<div className="mx-auto flex w-full max-w-[max(1280px,90%)] flex-col">
|
||||
<span className="flex items-center gap-1 pt-1 pb-2 text-3xl font-semibold">
|
||||
<BitcoinIcon size={32} />
|
||||
โดเนททั้งหมด
|
||||
โดเนทเดือนนี้
|
||||
</span>
|
||||
<TopRow row={data[0]} ref={topRowRef} stats={stats} />
|
||||
<DataTable
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { desc, getTableColumns, sql, sum } from "drizzle-orm";
|
||||
import { endOfMonth, startOfMonth } from "date-fns";
|
||||
import { between, desc, getTableColumns, sql, sum } from "drizzle-orm";
|
||||
import type { Metadata } from "next";
|
||||
import { redirect } from "next/navigation";
|
||||
import { adminCheck } from "@/lib/auth";
|
||||
@@ -10,6 +11,7 @@ export default async function () {
|
||||
if (!(await adminCheck()))
|
||||
redirect(`/login?next=${encodeURIComponent("/donate/admin")}`);
|
||||
|
||||
const now = new Date();
|
||||
const [data, [stats]] = await Promise.all([
|
||||
db
|
||||
.select({
|
||||
@@ -32,6 +34,7 @@ export default async function () {
|
||||
`,
|
||||
})
|
||||
.from(donations)
|
||||
.where(between(donations.created, startOfMonth(now), endOfMonth(now)))
|
||||
.limit(1),
|
||||
]);
|
||||
return <DonateAdminPage data={data} stats={stats} />;
|
||||
|
||||
Reference in New Issue
Block a user