"use client" import { useState } from "react" import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle, } from "@/components/ui/dialog" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Checkbox } from "@/components/ui/checkbox" import type { DocPageNumberSettings, DocPageSetup } from "@/lib/drive/doc-page-setup" import { cmToMm, mmToCm } from "@/lib/drive/doc-page-setup" export function DocsHeaderFooterFormatDialog({ open, onOpenChange, pageSetup, onApply, }: { open: boolean onOpenChange: (open: boolean) => void pageSetup: DocPageSetup | null onApply: (patch: Partial) => void }) { const headerCm = mmToCm(pageSetup?.headerMarginMm ?? pageSetup?.marginsMm.top ?? 20) const footerCm = mmToCm(pageSetup?.footerMarginMm ?? pageSetup?.marginsMm.bottom ?? 20) const [headerMarginCm, setHeaderMarginCm] = useState(headerCm) const [footerMarginCm, setFooterMarginCm] = useState(footerCm) const [differentFirst, setDifferentFirst] = useState( pageSetup?.headerFooterDifferentFirstPage ?? false ) const [differentOddEven, setDifferentOddEven] = useState( pageSetup?.headerFooterDifferentOddEven ?? false ) return ( En-têtes et pieds de page

Marges

setHeaderMarginCm(Number(e.target.value) || 0)} />
setFooterMarginCm(Number(e.target.value) || 0)} />

Mise en page

) } export function DocsPageNumbersDialog({ open, onOpenChange, settings, onApply, }: { open: boolean onOpenChange: (open: boolean) => void settings: DocPageNumberSettings | null | undefined onApply: (settings: DocPageNumberSettings) => void }) { const [placement, setPlacement] = useState<"header" | "footer">( settings?.placement ?? "header" ) const [startAt, setStartAt] = useState(settings?.startAt ?? 1) const [showOnFirstPage, setShowOnFirstPage] = useState(settings?.showOnFirstPage ?? true) return ( Numéros de page

Position

setStartAt(Number(e.target.value) || 0)} className="w-24" />
) }