feat(ui): sayım ekranı, tüketim analizi ve sayım hatırlatmaları
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
import type { Metadata } from "next";
|
||||
import { notFound } from "next/navigation";
|
||||
import { StockAnalysisView } from "@/features/stock/components/stock-analysis-view";
|
||||
import { getStockAnalysis } from "@/features/stock/service";
|
||||
import { tr } from "@/i18n/tr";
|
||||
import { requireActiveHousehold } from "@/lib/dal";
|
||||
|
||||
export const metadata: Metadata = { title: tr.stock.analysis.title };
|
||||
|
||||
/** /stok/analiz — ürün tipi başına aylık ortalama tüketim ve fire. */
|
||||
export default async function StockAnalysisPage() {
|
||||
const { user, household } = await requireActiveHousehold("viewer");
|
||||
const data = await getStockAnalysis(user.id, household.id);
|
||||
if (!data) notFound();
|
||||
return <StockAnalysisView data={data} />;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
import type { Metadata } from "next";
|
||||
import { notFound } from "next/navigation";
|
||||
import { CountSheet } from "@/features/stock/components/count-sheet";
|
||||
import { getCountSheet } from "@/features/stock/service";
|
||||
import { tr } from "@/i18n/tr";
|
||||
import { requireActiveHousehold } from "@/lib/dal";
|
||||
|
||||
export const metadata: Metadata = { title: tr.stock.count.title };
|
||||
|
||||
/** /stok/sayim?kategori=<id> — periyodik sayım: beklenen → sayılan (kategori alt ağacıyla). */
|
||||
export default async function StockCountPage({ searchParams }: PageProps<"/stok/sayim">) {
|
||||
const { user, household } = await requireActiveHousehold("viewer");
|
||||
const sp = await searchParams;
|
||||
const kategori =
|
||||
typeof sp.kategori === "string" && /^[a-f0-9]{24}$/i.test(sp.kategori) ? sp.kategori : null;
|
||||
const data = await getCountSheet(user.id, household.id, kategori);
|
||||
if (!data) notFound();
|
||||
return <CountSheet key={`${kategori ?? "all"}-${data.today}`} data={data} />;
|
||||
}
|
||||
Reference in New Issue
Block a user