mirror of
https://github.com/R0m1k3/CollectFlow.git
synced 2026-10-11 17:26:32 +02:00
feat: Implement core grid state management with Zustand, define grid data types, and introduce a heatmap cell component.
This commit is contained in:
1 parent
b408de4c9c
commit
f15fbe69ec
4 files changed
+8
-1
No files matched your search
@@ -145,6 +145,10 @@ export function FloatingSummaryBar() {
|
||||
</div>
|
||||
|
||||
<div className="flex space-x-12 items-center">
|
||||
<Stat
|
||||
label="Nombre de Produits"
|
||||
value={summary.totalProducts.toLocaleString("fr-FR")}
|
||||
/>
|
||||
<Stat
|
||||
label="Volume Total Vendu"
|
||||
value={Math.round(summary.totalQuantite).toLocaleString("fr-FR")}
|
||||
|
||||
@@ -15,7 +15,7 @@ function getHeatmapClass(value: number | null): string {
|
||||
|
||||
export const HeatmapCell = React.memo(({ value }: HeatmapCellProps) => {
|
||||
const heatClass = getHeatmapClass(value);
|
||||
const display = value === null || value === 0 ? "—" : Math.round(Math.abs(value)).toString();
|
||||
const display = value === null || value === 0 ? "0" : Math.round(Math.abs(value)).toString();
|
||||
|
||||
return (
|
||||
<div
|
||||
|
||||
@@ -42,6 +42,7 @@ function computeSummary(rows: ProductRow[], drafts: Record<string, GammeCode>):
|
||||
const totalCa = active.reduce((s, r) => s + (r.totalCa ?? 0), 0);
|
||||
const totalMarge = active.reduce((s, r) => s + (r.totalMarge ?? 0), 0);
|
||||
return {
|
||||
totalProducts: rows.length,
|
||||
totalRows: active.length,
|
||||
totalQuantite: active.reduce((s, r) => s + (r.totalQuantite ?? 0), 0),
|
||||
totalCa,
|
||||
@@ -65,6 +66,7 @@ export const useGridStore = create<GridState>()(
|
||||
search: "",
|
||||
},
|
||||
summary: {
|
||||
totalProducts: 0,
|
||||
totalRows: 0,
|
||||
totalQuantite: 0,
|
||||
totalCa: 0,
|
||||
|
||||
@@ -70,6 +70,7 @@ export interface ProductRow {
|
||||
|
||||
/** Summary bar totals for the currently visible/filtered rows */
|
||||
export interface GridSummary {
|
||||
totalProducts: number;
|
||||
totalRows: number;
|
||||
totalQuantite: number;
|
||||
totalCa: number;
|
||||
|
||||
Reference in new issue
Block a user