Merge pull request #3 from R0m1k3/claude/exciting-goldberg-wILkj

Claude/exciting goldberg w i lkj
This commit is contained in:
LogiFlow authored and GitHub committed 2026-06-03 13:59:52 +02:00
commit 02a10caa4b
4 files changed
+35 -15

No files matched your search

@@ -4,6 +4,9 @@ import { CommandesAutoTabs } from "./tabs";
export type { PgCommandeAutoRow }; export type { PgCommandeAutoRow };
// Données live (DB + API FF Nancy) : rendu à la requête, jamais prérendu au build.
export const dynamic = "force-dynamic";
export default async function CommandesAutoPage() { export default async function CommandesAutoPage() {
const [rows, cadences, fournisseurs] = await Promise.all([ const [rows, cadences, fournisseurs] = await Promise.all([
pgGetCommandesAuto(), pgGetCommandesAuto(),
+8
View File
@@ -1,5 +1,13 @@
@import "tailwindcss"; @import "tailwindcss";
/* Police de l'app : Inter (chargée via <link> dans le layout, fallback système).
Définie ici pour que l'utilitaire `font-sans` et var(--font-sans) la prennent
sans recourir à next/font/google (pas de fetch réseau au build). */
@theme {
--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}
/* ═══════════════════════════════════════════ /* ═══════════════════════════════════════════
CollectFlow — Apple-inspired Design System CollectFlow — Apple-inspired Design System
═══════════════════════════════════════════ */ ═══════════════════════════════════════════ */
+13 -11
View File
@@ -1,21 +1,12 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import { Inter } from "next/font/google";
import { ThemeProvider } from "@/components/shared/theme-provider";
import "./globals.css"; import "./globals.css";
import { Providers } from "./providers";
const inter = Inter({
subsets: ["latin"],
variable: "--font-sans",
display: "swap",
});
export const metadata: Metadata = { export const metadata: Metadata = {
title: "CollectFlow — Dashboard Décisionnel", title: "CollectFlow — Dashboard Décisionnel",
description: "Révision d'Assortiment Haute Performance", description: "Révision d'Assortiment Haute Performance",
}; };
import { Providers } from "./providers";
export default function RootLayout({ export default function RootLayout({
children, children,
}: Readonly<{ }: Readonly<{
@@ -23,7 +14,18 @@ export default function RootLayout({
}>) { }>) {
return ( return (
<html lang="fr" suppressHydrationWarning> <html lang="fr" suppressHydrationWarning>
<body className={`${inter.variable} font-sans antialiased`}> <head>
{/* Inter chargé côté navigateur (et non au build) pour éviter toute
dépendance réseau à Google Fonts pendant `next build` (Docker). */}
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous" />
{/* eslint-disable-next-line @next/next/no-page-custom-font */}
<link
href="https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap"
rel="stylesheet"
/>
</head>
<body className="font-sans antialiased">
<Providers> <Providers>
{children} {children}
</Providers> </Providers>
+11 -4
View File
@@ -45,10 +45,17 @@ export async function getFournisseursPourCadence(): Promise<{ code: string; nom:
* de la dernière réception (FF Nancy). * de la dernière réception (FF Nancy).
*/ */
export async function listCadences(): Promise<CadenceView[]> { export async function listCadences(): Promise<CadenceView[]> {
const [rows, receptions] = await Promise.all([ let rows: typeof commandeCadences.$inferSelect[] = [];
db.select().from(commandeCadences), let receptions = new Map<string, string>();
pgGetDerniereReceptionParFournisseur(), try {
]); [rows, receptions] = await Promise.all([
db.select().from(commandeCadences),
pgGetDerniereReceptionParFournisseur(),
]);
} catch (e) {
console.error("[cadence] listCadences error:", (e as Error).message);
return [];
}
const now = Date.now(); const now = Date.now();