diff --git a/src/App.tsx b/src/App.tsx index 44c670f..1b52b8b 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -199,7 +199,7 @@ function App() { } return ( -
+
diff --git a/src/components/MainScreen.tsx b/src/components/MainScreen.tsx index 6f17156..011bb73 100644 --- a/src/components/MainScreen.tsx +++ b/src/components/MainScreen.tsx @@ -55,168 +55,203 @@ export default function MainScreen({ onOpenEditor }: MainScreenProps) { }; return ( -
+
+ + {/* Header */} -
-
+
+
-
+
-
-

YvCode

-

Create beautiful code screenshots

-
+ YvCode +
+ +
+ {/* Add simplified user profile or links if needed later */}
{/* Main Content */} -
+
+ {/* Welcome Section */} +
+

+ What will you create today? +

+

Create beautiful code snippets in seconds.

+
+ {/* Create New Section */} -
-

Create New

-
+
+
{/* New Blank */} {/* Import File */} {/* Quick Template */}
{/* Tabs */} -
+
{/* Tab Content */} {activeTab === 'recent' && ( -
+
{recentSnaps.length === 0 ? ( -
-
+
+
-

No recent work

-

Your recent projects will appear here

+

No recent work

+

Projects you create or import will appear here for quick access.

) : ( <> -
-

{recentSnaps.length} recent project{recentSnaps.length !== 1 ? 's' : ''}

+
+

{recentSnaps.length} recent project{recentSnaps.length !== 1 ? 's' : ''}

-
+
{recentSnaps.map((entry) => (
{/* Preview */} {/* Info */} -
-
+
+
-

{entry.title}

-

{formatRelativeTime(entry.savedAt)}

+

{entry.title}

+

{formatRelativeTime(entry.savedAt)}

-
- {entry.snap.meta.width}×{entry.snap.meta.height} - - {entry.snap.elements.length} element{entry.snap.elements.length !== 1 ? 's' : ''} +
+ {entry.snap.meta.width} × {entry.snap.meta.height} + {entry.snap.elements.length} element{entry.snap.elements.length !== 1 ? 's' : ''}
@@ -228,33 +263,35 @@ export default function MainScreen({ onOpenEditor }: MainScreenProps) { )} {activeTab === 'templates' && ( -
-

{templates.length} templates available

-
+
+

{templates.length} templates available

+
{templates.map((template) => (
{/* Preview */} {/* Info */} -
-

{template.name}

-

{template.description}

-
- {template.snap.meta.width}×{template.snap.meta.height} - - {template.snap.elements.length} element{template.snap.elements.length !== 1 ? 's' : ''} +
+

{template.name}

+

{template.description}

+
+ {template.snap.meta.width} × {template.snap.meta.height} + {template.snap.elements.length} element{template.snap.elements.length !== 1 ? 's' : ''}
diff --git a/src/index.css b/src/index.css index 14a2b57..920cf1a 100644 --- a/src/index.css +++ b/src/index.css @@ -89,3 +89,27 @@ select { background-size: 16px; padding-right: 32px; } + +@keyframes fadeIn { + from { opacity: 0; } + to { opacity: 1; } +} + +@keyframes slideInFromBottom { + from { transform: translateY(1rem); opacity: 0; } + to { transform: translateY(0); opacity: 1; } +} + +.animate-in { + animation-duration: 0.3s; + animation-fill-mode: both; + animation-timing-function: ease-out; +} + +.fade-in { + animation-name: fadeIn; +} + +.slide-in-from-bottom-4 { + animation-name: slideInFromBottom; +}