Files
lcbp3/specs/99-archives/history/2025-12-23-frontend-refactor-v170.md
admin c90a664f53
All checks were successful
Build and Deploy / deploy (push) Successful in 1m0s
260222:1053 20260222 refactor specs/ #1 03-Data-and-Storage
2026-02-22 10:53:23 +07:00

2.0 KiB

Session History: Frontend Refactoring for v1.7.0 Schema

Date: 2025-12-23 Objective: Refactor frontend components and services to align with the v1.7.0 database schema and document numbering requirements.

1. Summary of Changes

Frontend Refactoring

  • DrawingUploadForm Refactor:
    • Implemented dynamic validation validation schemas using Zod discriminated unions.
    • Added support for Contract Drawing fields: mapCatId, volumePage.
    • Added support for Shop/AsBuilt fields: legacyDrawingNumber, revisionTitle.
    • Added full support for AS_BUILT drawing type.
    • Dynamically passes projectId to context hooks.
  • DrawingList & DrawingCard:
    • Added AS_BUILT tab support.
    • Implemented conditional rendering for new columns (Volume Page, Legacy No., Rev. Title).
  • Service Layer Updates:
    • Migrated ContractDrawingService, ShopDrawingService, and AsbuiltDrawingService to use FormData for all creation/upload methods to ensure correct binary file handling.
    • Updated Types to fully match backend DTOs.
  • Documentation:
    • Updated task.md and walkthrough.md.

2. Issues Encountered & Status

Resolved

  • Fixed Unexpected any lint errors in DrawingUploadForm (mostly).
  • Resolved type mismatches in state identifiers.

Known Issues (Pending Fix)

  • Build Failure: pnpm build failed in frontend/app/(admin)/admin/numbering/[id]/page.tsx.
    • Error: Object literal may only specify known properties, and 'templateId' does not exist in type 'Partial<NumberingTemplate>'.
    • Location: numberingApi.saveTemplate({ ...data, templateId: parseInt(params.id) });
    • Cause: The saveTemplate method likely expects a specific DTO that conflicts with the spread ...data or the explicit templateId property assignment. This needs to be addressed in the next session.

3. Next Steps

  • Fix the build error in admin/numbering/[id]/page.tsx.
  • Proceed with full end-to-end testing of the drawing upload flows.