"use client"; import React, { useState, useCallback, useRef, useEffect } from "react"; import dynamic from "next/dynamic"; import { DashboardElement, QueryResult, Position, ElementSubtype, AXIS_BASED_CHARTS, CIRCULAR_CHARTS, getChartCategory, } from "./types"; import { ChartRenderer } from "./charts/ChartRenderer"; import { GRID_CONFIG, magneticSnap, snapSizeToGrid } from "./gridUtils"; import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectTrigger, SelectValue, } from "@/components/ui/select"; // 위젯 동적 임포트 const WeatherWidget = dynamic(() => import("@/components/dashboard/widgets/WeatherWidget"), { ssr: false, loading: () =>