71 lines
2.3 KiB
TypeScript
71 lines
2.3 KiB
TypeScript
import { useState } from "react";
|
|
import { Button } from "./components/ui/button";
|
|
import TestSheetViewer from "./components/sheet/TestSheetViewer";
|
|
|
|
function App() {
|
|
const [showTestViewer, setShowTestViewer] = useState(false);
|
|
|
|
return (
|
|
<div className="min-h-screen bg-gray-50">
|
|
{/* 헤더 */}
|
|
<header className="bg-white shadow-sm border-b">
|
|
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<div className="flex justify-between items-center h-16">
|
|
<div className="flex items-center">
|
|
<h1 className="text-2xl font-bold text-blue-600">sheetEasy AI</h1>
|
|
</div>
|
|
<div className="flex items-center space-x-4">
|
|
{/* 테스트 뷰어 토글 버튼 */}
|
|
<Button
|
|
variant={showTestViewer ? "default" : "outline"}
|
|
size="sm"
|
|
onClick={() => setShowTestViewer(!showTestViewer)}
|
|
className="bg-green-500 hover:bg-green-600 text-white border-green-500"
|
|
>
|
|
🧪 테스트 뷰어
|
|
</Button>
|
|
|
|
{!showTestViewer && (
|
|
<span className="text-sm text-gray-600">
|
|
Univer CE 테스트 모드
|
|
</span>
|
|
)}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
{/* 메인 콘텐츠 */}
|
|
<main className="h-[calc(100vh-4rem)]">
|
|
{showTestViewer ? (
|
|
// 테스트 뷰어 표시
|
|
<div className="h-full">
|
|
<TestSheetViewer />
|
|
</div>
|
|
) : (
|
|
// 메인 페이지
|
|
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
|
|
<div className="text-center py-12">
|
|
<h2 className="text-3xl font-bold text-gray-900 mb-4">
|
|
🧪 Univer CE 테스트 모드
|
|
</h2>
|
|
<p className="text-lg text-gray-600 mb-8">
|
|
현재 Univer CE 전용 테스트 뷰어를 사용해보세요
|
|
</p>
|
|
<Button
|
|
onClick={() => setShowTestViewer(true)}
|
|
size="lg"
|
|
className="bg-blue-600 hover:bg-blue-700 text-white px-8 py-3"
|
|
>
|
|
테스트 뷰어 시작하기 →
|
|
</Button>
|
|
</div>
|
|
</div>
|
|
)}
|
|
</main>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
export default App;
|