diff --git a/src/components/md-deck/PrintPreview.tsx b/src/components/md-deck/PrintPreview.tsx index 13682a2..b2059e5 100644 --- a/src/components/md-deck/PrintPreview.tsx +++ b/src/components/md-deck/PrintPreview.tsx @@ -2,6 +2,7 @@ import { For, Show } from 'solid-js'; import type { DeckStore } from './hooks/deckStore'; import { usePageLayout } from './hooks/usePageLayout'; import { usePDFExport, type ExportOptions } from './hooks/usePDFExport'; +import { usePlotterExport } from './hooks/usePlotterExport'; import { getShapeSvgClipPath } from './hooks/shape-styles'; import { PrintPreviewHeader } from './PrintPreviewHeader'; import { PrintPreviewFooter } from './PrintPreviewFooter'; @@ -20,6 +21,7 @@ export function PrintPreview(props: PrintPreviewProps) { const { store } = props; const { getA4Size, pages, cropMarks } = usePageLayout(store); const { exportToPDF } = usePDFExport(store, props.onClose); + const { exportToPlt } = usePlotterExport(store); const frontVisibleLayers = () => store.state.frontLayerConfigs.filter((l) => l.visible); const backVisibleLayers = () => store.state.backLayerConfigs.filter((l) => l.visible); @@ -39,6 +41,10 @@ export function PrintPreview(props: PrintPreviewProps) { await exportToPDF(pages(), cropMarks(), options); }; + const handleExportPlt = () => { + exportToPlt(pages()); + }; + return (
@@ -46,6 +52,7 @@ export function PrintPreview(props: PrintPreviewProps) { store={store} pageCount={pages().length} onExport={handleExport} + onExportPlt={handleExportPlt} onClose={props.onClose} /> diff --git a/src/components/md-deck/PrintPreviewHeader.tsx b/src/components/md-deck/PrintPreviewHeader.tsx index 16294c1..f95ce98 100644 --- a/src/components/md-deck/PrintPreviewHeader.tsx +++ b/src/components/md-deck/PrintPreviewHeader.tsx @@ -4,6 +4,7 @@ export interface PrintPreviewHeaderProps { store: DeckStore; pageCount: number; onExport: () => void; + onExportPlt: () => void; onClose: () => void; } @@ -86,6 +87,13 @@ export function PrintPreviewHeader(props: PrintPreviewHeaderProps) {
+