From dc185135f0b4f85774ce1ffef739fc737b324fd5 Mon Sep 17 00:00:00 2001 From: Leopoldadmin Date: Mon, 22 Jun 2026 23:50:04 +0000 Subject: [PATCH] T24: Use shared types from cad.types.ts in importService --- frontend/src/services/importService.ts | 65 ++++---------------------- 1 file changed, 10 insertions(+), 55 deletions(-) diff --git a/frontend/src/services/importService.ts b/frontend/src/services/importService.ts index 0257d23..23dd74b 100644 --- a/frontend/src/services/importService.ts +++ b/frontend/src/services/importService.ts @@ -1,55 +1,10 @@ import type { YjsDocument } from '../crdt/YjsDocument'; - -// ── Types ──────────────────────────────────────────────────────────────────── - -interface CADLayer { - id: string; - name: string; - visible: boolean; - locked: boolean; - color?: string; - lineType?: string; - transparency?: number; - sortOrder?: number; -} - -interface CADProperties { - fill?: string; - stroke?: string; - strokeWidth?: number; - rotation?: number; - lineType?: 'solid' | 'dashed' | 'dotted'; - radius?: number; - x1?: number; - y1?: number; - x2?: number; - y2?: number; - points?: Array<{ x: number; y: number }>; - text?: string; - fontSize?: number; - startAngle?: number; - endAngle?: number; - [key: string]: unknown; -} - -interface CADElement { - id: string; - type: string; - layerId: string; - x: number; - y: number; - width: number; - height: number; - properties: CADProperties; -} - -interface ImportData { - version: string; - exportedAt: number; - projectMeta: Record; - layers: CADLayer[]; - elements: CADElement[]; -} +import type { + CADLayer, + CADProperties, + CADElement, + ImportData, +} from '../types/cad.types'; export interface ImportResult { success: boolean; @@ -59,7 +14,7 @@ export interface ImportResult { warnings: string[]; } -// ── JSON Import ────────────────────────────────────────────────────────────── +// ── JSON Import ─────────────────────────────────────────────────────────────── /** * Import a JSON string (from exportJSON) into a YjsDocument. @@ -173,7 +128,7 @@ export async function importJSONFile(file: File, yjsDoc: YjsDocument): Promise = { @@ -506,7 +461,7 @@ function aciToHex(aci: number): string { return aciMap[aci] || '#000000'; } -// ── Unified Import ─────────────────────────────────────────────────────────── +// ── Unified Import ──────────────────────────────────────────────────────────── export type ImportFormat = 'json' | 'dxf';