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
+32 -12

No files matched your search

@@ -4,6 +4,9 @@ import { CommandesAutoTabs } from "./tabs";
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() {
const [rows, cadences, fournisseurs] = await Promise.all([
pgGetCommandesAuto(),
+8
View File
@@ -1,5 +1,13 @@
@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
═══════════════════════════════════════════ */
+13 -11
View File
@@ -1,21 +1,12 @@
import type { Metadata } from "next";
import { Inter } from "next/font/google";
import { ThemeProvider } from "@/components/shared/theme-provider";
import "./globals.css";
const inter = Inter({
subsets: ["latin"],
variable: "--font-sans",
display: "swap",
});
import { Providers } from "./providers";
export const metadata: Metadata = {
title: "CollectFlow — Dashboard Décisionnel",
description: "Révision d'Assortiment Haute Performance",
};
import { Providers } from "./providers";
export default function RootLayout({
children,
}: Readonly<{
@@ -23,7 +14,18 @@ export default function RootLayout({
}>) {
return (
<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>
{children}
</Providers>
+8 -1
View File
@@ -45,10 +45,17 @@ export async function getFournisseursPourCadence(): Promise<{ code: string; nom:
* de la dernière réception (FF Nancy).
*/
export async function listCadences(): Promise<CadenceView[]> {
const [rows, receptions] = await Promise.all([
let rows: typeof commandeCadences.$inferSelect[] = [];
let receptions = new Map<string, string>();
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();