"use client"; import { useState, useEffect, useMemo } from "react"; import { Loader2, Search, Filter, X } from "lucide-react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Button } from "@/components/ui/button"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import dynamic from "next/dynamic"; import { useToast } from "@/hooks/use-toast"; import type { PlacedObject, MaterialData } from "@/types/digitalTwin"; import { getLayoutById, getMaterials } from "@/lib/api/digitalTwin"; const Yard3DCanvas = dynamic(() => import("./Yard3DCanvas"), { ssr: false, loading: () => (
읽기 전용 뷰
{obj.name}
Area: {obj.areaKey}
)} {obj.locaKey && (Location: {obj.locaKey}
)} {obj.materialCount !== undefined && obj.materialCount > 0 && (자재: {obj.materialCount}개
)}{selectedObject.name}
{selectedObject.type}
{selectedObject.areaKey}
{selectedObject.locaKey}
{selectedObject.materialCount}개
{material.STKKEY}
층: {material.LOLAYER} | Area: {material.AREAKEY}
{material.STKRMKS}
)}