lhj #67

Merged
hjlee merged 6 commits from lhj into dev 2025-09-26 17:13:00 +09:00
28 changed files with 133 additions and 97 deletions
Showing only changes of commit c0414abaa0 - Show all commits

View File

@ -186,7 +186,7 @@ export default function BatchManagementPage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 헤더 */}
<div className="flex items-center justify-between">
<div>

View File

@ -163,7 +163,7 @@ export default function CollectionManagementPage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 헤더 */}
<div className="flex items-center justify-between">
<div>

View File

@ -12,7 +12,7 @@ export default function CommonCodeManagementPage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 페이지 제목 */}
<div className="flex items-center justify-between bg-white rounded-lg shadow-sm border p-6">
<div>

View File

@ -6,7 +6,7 @@ import { CompanyManagement } from "@/components/admin/CompanyManagement";
export default function CompanyPage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 페이지 제목 */}
<div className="flex items-center justify-between bg-white rounded-lg shadow-sm border p-6">
<div>

View File

@ -59,7 +59,7 @@ export default function DataFlowEditPage() {
}
return (
<div className="space-y-6">
<div className="space-y-8">
{/* 헤더 */}
<div className="flex items-center justify-between">
<div className="flex items-center space-x-4">

View File

@ -77,7 +77,7 @@ export default function DataFlowPage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 페이지 제목 */}
<div className="flex items-center justify-between bg-white rounded-lg shadow-sm border p-6">
<div>
@ -93,10 +93,10 @@ export default function DataFlowPage() {
</div>
{/* 단계별 내용 */}
<div className="space-y-6">
<div className="space-y-8">
{/* 관계도 목록 단계 */}
{currentStep === "list" && (
<div className="space-y-6">
<div className="space-y-8">
<div className="flex items-center justify-between bg-white rounded-lg shadow-sm border p-4">
<h2 className="text-xl font-semibold text-gray-800">{stepConfig.list.title}</h2>
</div>
@ -106,7 +106,7 @@ export default function DataFlowPage() {
{/* 관계도 설계 단계 */}
{currentStep === "design" && (
<div className="space-y-6">
<div className="space-y-8">
<div className="flex items-center justify-between bg-white rounded-lg shadow-sm border p-4">
<h2 className="text-xl font-semibold text-gray-800">{stepConfig.design.title}</h2>
</div>

View File

@ -162,7 +162,7 @@ export default function ExternalCallConfigsPage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 페이지 헤더 */}
<div className="flex items-center justify-between">
<div>

View File

@ -221,7 +221,7 @@ export default function ExternalConnectionsPage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 페이지 제목 */}
<div className="flex items-center justify-between bg-white rounded-lg shadow-sm border p-6">
<div>

View File

@ -5,7 +5,7 @@ import MultiLang from "@/components/admin/MultiLang";
export default function I18nPage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6">
<div className="w-full max-w-none px-4 py-8">
<MultiLang />
</div>
</div>

View File

@ -221,7 +221,7 @@ export default function LayoutManagementPage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 페이지 제목 */}
<div className="flex items-center justify-between bg-white rounded-lg shadow-sm border p-6">
<div>

View File

@ -5,7 +5,7 @@ import { MenuManagement } from "@/components/admin/MenuManagement";
export default function MenuPage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 페이지 제목 */}
<div className="flex items-center justify-between bg-white rounded-lg shadow-sm border p-6">
<div>

View File

@ -6,7 +6,7 @@ import MonitoringDashboard from "@/components/admin/MonitoringDashboard";
export default function MonitoringPage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 헤더 */}
<div>
<h1 className="text-2xl font-bold"></h1>

View File

@ -1,18 +1,27 @@
import { Users, Shield, Settings, BarChart3, Palette, Layout, Database, Package } from "lucide-react";
import {
Users, Shield, Settings, BarChart3, Palette, Layout, Database, Package
} from "lucide-react";
import Link from "next/link";
/**
*
*/
export default function AdminPage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
{/* 관리자 기능 카드들 */}
<div className="mx-auto max-w-7xl grid gap-6 md:grid-cols-2 lg:grid-cols-3">
<div className="w-full max-w-none px-4 pt-12 pb-16 space-y-16">
{/* 주요 관리 기능 */}
<div className="mx-auto max-w-7xl space-y-10">
<div className="text-center mb-8">
<h2 className="text-2xl font-bold text-gray-900 mb-2"> </h2>
<p className="text-gray-600"> </p>
</div>
<div className="grid gap-6 md:grid-cols-2 lg:grid-cols-3">
<Link href="/admin/userMng" className="block">
<div className="rounded-lg border bg-white p-6 shadow-sm transition-colors hover:bg-gray-50">
<div className="flex items-center gap-4">
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-gradient-to-br from-blue-200 to-blue-300">
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-blue-100">
<Users className="h-6 w-6 text-blue-600" />
</div>
<div>
@ -25,8 +34,8 @@ export default function AdminPage() {
<div className="rounded-lg border bg-white p-6 shadow-sm">
<div className="flex items-center gap-4">
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-gradient-to-br from-emerald-200 to-emerald-300">
<Shield className="h-6 w-6 text-emerald-600" />
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-emerald-100">
<Shield className="h-6 w-6 text-emerald-600" />
</div>
<div>
<h3 className="font-semibold text-gray-900"> </h3>
@ -37,8 +46,8 @@ export default function AdminPage() {
<div className="rounded-lg border bg-white p-6 shadow-sm">
<div className="flex items-center gap-4">
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-gradient-to-br from-violet-200 to-violet-300">
<Settings className="h-6 w-6 text-violet-600" />
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-violet-100">
<Settings className="h-6 w-6 text-violet-600" />
</div>
<div>
<h3 className="font-semibold text-gray-900"> </h3>
@ -49,8 +58,8 @@ export default function AdminPage() {
<div className="rounded-lg border bg-white p-6 shadow-sm">
<div className="flex items-center gap-4">
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-gradient-to-br from-amber-200 to-amber-300">
<BarChart3 className="h-6 w-6 text-amber-600" />
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-amber-100">
<BarChart3 className="h-6 w-6 text-amber-600" />
</div>
<div>
<h3 className="font-semibold text-gray-900"> </h3>
@ -62,7 +71,7 @@ export default function AdminPage() {
<Link href="/admin/screenMng" className="block">
<div className="rounded-lg border bg-white p-6 shadow-sm transition-colors hover:bg-gray-50">
<div className="flex items-center gap-4">
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-gradient-to-br from-indigo-200 to-indigo-300">
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-indigo-100">
<Palette className="h-6 w-6 text-indigo-600" />
</div>
<div>
@ -72,17 +81,21 @@ export default function AdminPage() {
</div>
</div>
</Link>
</div>
</div>
{/* 표준 관리 섹션 */}
<div className="mx-auto max-w-7xl space-y-4">
<h2 className="text-xl font-semibold text-gray-900"> </h2>
<div className="mx-auto max-w-7xl space-y-10">
<div className="text-center mb-8">
<h2 className="text-2xl font-bold text-gray-900 mb-2"> </h2>
<p className="text-gray-600"> </p>
</div>
<div className="grid gap-6 md:grid-cols-2 lg:grid-cols-4">
<Link href="/admin/standards" className="block">
<div className="rounded-lg border bg-white p-6 shadow-sm transition-colors hover:bg-gray-50">
<Link href="/admin/standards" className="block h-full">
<div className="rounded-lg border bg-white p-6 shadow-sm transition-colors hover:bg-gray-50 h-full">
<div className="flex items-center gap-4">
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-gradient-to-br from-teal-200 to-teal-300">
<Database className="h-6 w-6 text-teal-600" />
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-teal-100">
<Database className="h-6 w-6 text-teal-600" />
</div>
<div>
<h3 className="font-semibold text-gray-900"> </h3>
@ -92,11 +105,11 @@ export default function AdminPage() {
</div>
</Link>
<Link href="/admin/templates" className="block">
<div className="rounded-lg border bg-white p-6 shadow-sm transition-colors hover:bg-gray-50">
<Link href="/admin/templates" className="block h-full">
<div className="rounded-lg border bg-white p-6 shadow-sm transition-colors hover:bg-gray-50 h-full">
<div className="flex items-center gap-4">
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-gradient-to-br from-emerald-200 to-emerald-300">
<Layout className="h-6 w-6 text-emerald-600" />
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-emerald-100">
<Layout className="h-6 w-6 text-emerald-600" />
</div>
<div>
<h3 className="font-semibold text-gray-900">릿 </h3>
@ -106,11 +119,11 @@ export default function AdminPage() {
</div>
</Link>
<Link href="/admin/tableMng" className="block">
<div className="rounded-lg border bg-white p-6 shadow-sm transition-colors hover:bg-gray-50">
<Link href="/admin/tableMng" className="block h-full">
<div className="rounded-lg border bg-white p-6 shadow-sm transition-colors hover:bg-gray-50 h-full">
<div className="flex items-center gap-4">
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-gradient-to-br from-cyan-200 to-cyan-300">
<Database className="h-6 w-6 text-cyan-600" />
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-cyan-100">
<Database className="h-6 w-6 text-cyan-600" />
</div>
<div>
<h3 className="font-semibold text-gray-900"> </h3>
@ -120,11 +133,11 @@ export default function AdminPage() {
</div>
</Link>
<Link href="/admin/components" className="block">
<div className="rounded-lg border bg-white p-6 shadow-sm transition-colors hover:bg-gray-50">
<Link href="/admin/components" className="block h-full">
<div className="rounded-lg border bg-white p-6 shadow-sm transition-colors hover:bg-gray-50 h-full">
<div className="flex items-center gap-4">
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-gradient-to-br from-violet-200 to-violet-300">
<Package className="h-6 w-6 text-violet-600" />
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-violet-100">
<Package className="h-6 w-6 text-violet-600" />
</div>
<div>
<h3 className="font-semibold text-gray-900"> </h3>
@ -136,31 +149,54 @@ export default function AdminPage() {
</div>
</div>
{/* 최근 활동 */}
<div className="rounded-lg border bg-white p-6 shadow-sm">
<h3 className="mb-4 text-lg font-semibold"> </h3>
<div className="space-y-4">
<div className="flex items-center justify-between border-b border-gray-100 py-2 last:border-0">
<div>
<p className="font-medium text-gray-900"> </p>
<p className="text-sm text-gray-600"> .</p>
{/* 빠른 액세스 */}
<div className="mx-auto max-w-7xl space-y-10">
<div className="text-center mb-8">
<h2 className="text-2xl font-bold text-gray-900 mb-2"> </h2>
<p className="text-gray-600"> </p>
</div>
<div className="grid gap-6 md:grid-cols-3">
<Link href="/admin/menu" className="block">
<div className="rounded-lg border bg-white p-6 shadow-sm transition-colors hover:bg-gray-50">
<div className="flex items-center gap-4">
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-blue-100">
<Layout className="h-6 w-6 text-blue-600" />
</div>
<div>
<h3 className="font-semibold text-gray-900"> </h3>
<p className="text-sm text-gray-600"> </p>
</div>
</div>
</div>
<span className="text-sm text-gray-500">2 </span>
</div>
<div className="flex items-center justify-between border-b border-gray-100 py-2 last:border-0">
<div>
<p className="font-medium text-gray-900"> </p>
<p className="text-sm text-gray-600"> .</p>
</Link>
<Link href="/admin/external-connections" className="block">
<div className="rounded-lg border bg-white p-6 shadow-sm transition-colors hover:bg-gray-50">
<div className="flex items-center gap-4">
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-green-100">
<Database className="h-6 w-6 text-green-600" />
</div>
<div>
<h3 className="font-semibold text-gray-900"> </h3>
<p className="text-sm text-gray-600"> </p>
</div>
</div>
</div>
<span className="text-sm text-gray-500">15 </span>
</div>
<div className="flex items-center justify-between border-b border-gray-100 py-2 last:border-0">
<div>
<p className="font-medium text-gray-900"> </p>
<p className="text-sm text-gray-600"> .</p>
</Link>
<Link href="/admin/commonCode" className="block">
<div className="rounded-lg border bg-white p-6 shadow-sm transition-colors hover:bg-gray-50">
<div className="flex items-center gap-4">
<div className="flex h-12 w-12 items-center justify-center rounded-lg bg-purple-100">
<Settings className="h-6 w-6 text-purple-600" />
</div>
<div>
<h3 className="font-semibold text-gray-900"> </h3>
<p className="text-sm text-gray-600"> </p>
</div>
</div>
</div>
<span className="text-sm text-gray-500">1 </span>
</div>
</Link>
</div>
</div>
</div>

View File

@ -67,7 +67,7 @@ export default function ScreenManagementPage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-6">
{/* 페이지 제목 */}
<div className="flex items-center justify-between bg-white rounded-lg shadow-sm border p-6">
<div>
@ -80,7 +80,7 @@ export default function ScreenManagementPage() {
<div className="flex-1 overflow-hidden">
{/* 화면 목록 단계 */}
{currentStep === "list" && (
<div className="space-y-6">
<div className="space-y-8">
<div className="flex items-center justify-between bg-white rounded-lg shadow-sm border p-4">
<h2 className="text-xl font-semibold text-gray-800">{stepConfig.list.title}</h2>
<Button className="bg-blue-600 hover:bg-blue-700 shadow-sm" onClick={() => goToNextStep("design")}>
@ -100,7 +100,7 @@ export default function ScreenManagementPage() {
{/* 화면 설계 단계 */}
{currentStep === "design" && (
<div className="space-y-6">
<div className="space-y-8">
<div className="flex items-center justify-between bg-white rounded-lg shadow-sm border p-4">
<h2 className="text-xl font-semibold text-gray-800">{stepConfig.design.title}</h2>
<Button variant="outline" className="shadow-sm" onClick={() => goToStep("list")}>
@ -113,7 +113,7 @@ export default function ScreenManagementPage() {
{/* 템플릿 관리 단계 */}
{currentStep === "template" && (
<div className="space-y-6">
<div className="space-y-8">
<div className="flex items-center justify-between bg-white rounded-lg shadow-sm border p-4">
<h2 className="text-xl font-semibold text-gray-800">{stepConfig.template.title}</h2>
<div className="flex gap-2">

View File

@ -204,7 +204,7 @@ export default function EditWebTypePage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 헤더 */}
<div className="mb-6 flex items-center gap-4">
<Link href={`/admin/standards/${webType}`}>
@ -231,7 +231,7 @@ export default function EditWebTypePage() {
<CardTitle> </CardTitle>
<CardDescription> .</CardDescription>
</CardHeader>
<CardContent className="space-y-6">
<CardContent className="space-y-8">
{/* 웹타입 코드 (읽기 전용) */}
<div className="space-y-2">
<Label htmlFor="web_type"> </Label>

View File

@ -81,7 +81,7 @@ export default function WebTypeDetailPage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 헤더 */}
<div className="mb-6 flex items-center justify-between">
<div className="flex items-center gap-4">
@ -114,7 +114,7 @@ export default function WebTypeDetailPage() {
</div>
</div>
<Tabs defaultValue="overview" className="space-y-6">
<Tabs defaultValue="overview" className="space-y-8">
<TabsList>
<TabsTrigger value="overview" className="flex items-center gap-2">
<Eye className="h-4 w-4" />
@ -131,7 +131,7 @@ export default function WebTypeDetailPage() {
</TabsList>
{/* 개요 탭 */}
<TabsContent value="overview" className="space-y-6">
<TabsContent value="overview" className="space-y-8">
<div className="grid grid-cols-1 gap-6 md:grid-cols-2">
{/* 기본 정보 */}
<Card>
@ -212,7 +212,7 @@ export default function WebTypeDetailPage() {
</TabsContent>
{/* 설정 탭 */}
<TabsContent value="config" className="space-y-6">
<TabsContent value="config" className="space-y-8">
<div className="grid grid-cols-1 gap-6 md:grid-cols-2">
{/* 기본 설정 */}
<Card>
@ -269,7 +269,7 @@ export default function WebTypeDetailPage() {
</TabsContent>
{/* JSON 데이터 탭 */}
<TabsContent value="json" className="space-y-6">
<TabsContent value="json" className="space-y-8">
<Card>
<CardHeader>
<CardTitle> JSON </CardTitle>

View File

@ -160,7 +160,7 @@ export default function NewWebTypePage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 헤더 */}
<div className="mb-6 flex items-center gap-4">
<Link href="/admin/standards">
@ -182,7 +182,7 @@ export default function NewWebTypePage() {
<CardTitle> </CardTitle>
<CardDescription> .</CardDescription>
</CardHeader>
<CardContent className="space-y-6">
<CardContent className="space-y-8">
{/* 웹타입 코드 */}
<div className="space-y-2">
<Label htmlFor="web_type">

View File

@ -128,7 +128,7 @@ export default function WebTypesManagePage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 페이지 제목 */}
<div className="flex items-center justify-between bg-white rounded-lg shadow-sm border p-6">
<div>

View File

@ -541,7 +541,7 @@ export default function TableManagementPage() {
}, [selectedTable, columns.length, totalColumns, columnsLoading, pageSize, loadColumnTypes]);
return (
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 페이지 제목 */}
<div className="flex items-center justify-between bg-white rounded-lg shadow-sm border p-6">
<div>

View File

@ -130,7 +130,7 @@ export default function TemplatesManagePage() {
if (error) {
return (
<div className="container mx-auto p-6">
<div className="w-full max-w-none px-4 py-8">
<Card>
<CardContent className="flex flex-col items-center justify-center py-8">
<p className="mb-4 text-red-600">릿 .</p>
@ -146,7 +146,7 @@ export default function TemplatesManagePage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 페이지 제목 */}
<div className="flex items-center justify-between bg-white rounded-lg shadow-sm border p-6">
<div>

View File

@ -9,7 +9,7 @@ import { UserManagement } from "@/components/admin/UserManagement";
export default function UserMngPage() {
return (
<div className="min-h-screen bg-gray-50">
<div className="container mx-auto p-6 space-y-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
{/* 페이지 제목 */}
<div className="flex items-center justify-between bg-white rounded-lg shadow-sm border p-6">
<div>

View File

@ -357,7 +357,7 @@ export default function ValidationDemoPage() {
};
return (
<div className="container mx-auto space-y-6 py-6">
<div className="container mx-auto space-y-8 py-6">
{/* 헤더 */}
<div className="flex items-center justify-between">
<div>

View File

@ -9,7 +9,7 @@ import { Badge } from "@/components/ui/badge";
*/
export default function MainPage() {
return (
<div className="space-y-6">
<div className="pt-10 space-y-6">
{/* 메인 컨텐츠 */}
{/* Welcome Message */}
<Card>

View File

@ -219,7 +219,7 @@ export default function MultiLangPage() {
const filteredLangKeys = getFilteredLangKeys();
return (
<div className="container mx-auto space-y-6 p-6">
<div className="w-full max-w-none px-4 py-8 space-y-8">
<div className="flex items-center justify-between">
<h1 className="text-3xl font-bold"> </h1>
<Button> </Button>

View File

@ -1,6 +1,6 @@
export default function MainHomePage() {
return (
<div className="space-y-6">
<div className="pt-10 space-y-6">
{/* 대시보드 컨텐츠 */}
<div className="rounded-lg border bg-white p-6 shadow-sm">
<h3 className="mb-4 text-lg font-semibold">WACE !</h3>

View File

@ -147,7 +147,7 @@ export default function ScreenViewPage() {
const screenHeight = layout?.screenResolution?.height || 800;
return (
<div className="h-full w-full overflow-auto bg-white">
<div className="h-full w-full overflow-auto bg-white pt-10">
{layout && layout.components.length > 0 ? (
// 캔버스 컴포넌트들을 정확한 해상도로 표시
<div

View File

@ -451,8 +451,8 @@ function AppLayoutInner({ children }: AppLayoutProps) {
</div>
</aside>
{/* 가운데 컨텐츠 영역 */}
<main className="flex-1 min-w-0 bg-white overflow-hidden">{children}</main>
{/* 가운데 컨텐츠 영역 - overflow 문제 해결 */}
<main className="flex-1 min-w-0 bg-white overflow-auto">{children}</main>
</div>
{/* 프로필 수정 모달 */}

View File

@ -3144,9 +3144,9 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
isSaving={isSaving}
/>
{/* 메인 캔버스 영역 (스크롤 가능한 컨테이너) */}
<div className="relative flex-1 overflow-auto bg-gray-100 p-8">
{/* 해상도 정보 표시 */}
{/* 메인 캔버스 영역 (스크롤 가능한 컨테이너) - 좌우 최소화, 위아래 넉넉한 여유 */}
<div className="relative flex-1 overflow-auto bg-gray-100 px-2 py-6">
{/* 해상도 정보 표시 - 적당한 여백 */}
<div className="mb-4 flex items-center justify-center">
<div className="rounded-lg border bg-white px-4 py-2 shadow-sm">
<span className="text-sm font-medium text-gray-700">
@ -3155,11 +3155,11 @@ export default function ScreenDesigner({ selectedScreen, onBackToList }: ScreenD
</div>
</div>
{/* 실제 작업 캔버스 (해상도 크기) */}
{/* 실제 작업 캔버스 (해상도 크기) - 반응형 개선 */}
<div
className="mx-auto bg-white shadow-lg"
style={{
width: screenResolution.width,
width: screenResolution.width,
height: Math.max(screenResolution.height, 800), // 최소 높이 보장
minHeight: screenResolution.height
}}