feat(frontend): add React UI — procurement office, wizard, suppliers, inventory panel (dash port), role-based login

This commit is contained in:
ali_mohaghegh
2026-08-25 19:08:15 +03:30
parent 170aed66ea
commit 4e105c5cd5
103 changed files with 16352 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
import type { Milestone } from "../lib/types";
import { JalaliDatePicker } from "./JalaliDatePicker";
import { NumberInput } from "./NumberInput";
export interface MilestoneRowProps {
milestone: Milestone;
onChange: (m: Milestone) => void;
onRemove: () => void;
}
// یک ردیف مرحله‌ی پرداخت: تاریخ + مبلغ + دکمه‌ی حذف
export function MilestoneRow({ milestone, onChange, onRemove }: MilestoneRowProps) {
return (
<div className="milestone-row">
<JalaliDatePicker
value={milestone.when_iso}
onChange={(iso) => onChange({ ...milestone, when_iso: iso })}
placeholder="تاریخ"
className="w-36 shrink-0"
/>
<div className="ms-amount-wrap">
<NumberInput
value={milestone.amount}
onChange={(amount) => onChange({ ...milestone, amount })}
placeholder="مبلغ (تومان)"
showWords
/>
</div>
<button type="button" className="ms-x" title="حذف" onClick={onRemove}>
×
</button>
</div>
);
}