- {/* Front content ... */}
-
-
+
+
+ ) : (
+
+ {/* Collapse Button */}
+
- {/* Back Face (Card Back) */}
+ {/* Front content ... */}
+
-

+ {/* Front Face (Hovered Card) */}
+
+ {(hoveredCard || displayCard) && (
+
+

+
+
{(hoveredCard || displayCard).name}
+
{(hoveredCard || displayCard).typeLine || (hoveredCard || displayCard).type_line}
+ {(hoveredCard || displayCard).oracle_text && (
+
+ {(hoveredCard || displayCard).oracle_text.split('\n').map((line: string, i: number) =>
{line}
)}
+
+ )}
+
+
+ )}
+
+
+ {/* Back Face (Card Back) */}
+
+

+
-
- {/* Resize Handle */}
-
handleResizeStart('sidebar', e)}
- onTouchStart={(e) => handleResizeStart('sidebar', e)}
- >
-
+ {/* Resize Handle */}
+
handleResizeStart('sidebar', e)}
+ onTouchStart={(e) => handleResizeStart('sidebar', e)}
+ >
+
+
-
+ )}
{/* Content Area */}
{layout === 'vertical' ? (
diff --git a/src/client/src/modules/draft/DraftView.tsx b/src/client/src/modules/draft/DraftView.tsx
index e4cc513..fae6267 100644
--- a/src/client/src/modules/draft/DraftView.tsx
+++ b/src/client/src/modules/draft/DraftView.tsx
@@ -1,7 +1,7 @@
import React, { useState, useEffect, useRef } from 'react';
import { socketService } from '../../services/SocketService';
-import { LogOut, Columns, LayoutTemplate } from 'lucide-react';
+import { LogOut, Columns, LayoutTemplate, ChevronLeft, Eye } from 'lucide-react';
import { Modal } from '../../components/Modal';
import { FoilOverlay, FloatingPreview } from '../../components/CardPreview';
import { useCardTouch } from '../../utils/interaction';
@@ -103,9 +103,15 @@ export const DraftView: React.FC
= ({ draftState, currentPlayerI
}
}, [cardScale]);
- const [layout, setLayout] = useState<'vertical' | 'horizontal'>('horizontal');
+ const [layout, setLayout] = useState<'vertical' | 'horizontal'>('vertical'); // Default to vertical for consistency
+ const [isSidebarCollapsed, setIsSidebarCollapsed] = useState(() => {
+ return localStorage.getItem('draft_sidebarCollapsed') === 'true';
+ });
// Persist settings
+ useEffect(() => {
+ localStorage.setItem('draft_sidebarCollapsed', isSidebarCollapsed.toString());
+ }, [isSidebarCollapsed]);
useEffect(() => {
localStorage.setItem('draft_poolHeight', poolHeight.toString());
}, [poolHeight]);
@@ -310,71 +316,97 @@ export const DraftView: React.FC = ({ draftState, currentPlayerI
{/* Dedicated Zoom Zone (Left Sidebar) */}
-
-
-
+
+
+ ) : (
+
+ {/* Collapse Button */}
+
- {/* Back Face (Card Back) */}
+
-

+ {/* Front Face (Hovered Card) */}
+
+ {(hoveredCard || displayCard) && (
+
+

+
+
{(hoveredCard || displayCard).name}
+
{(hoveredCard || displayCard).typeLine || (hoveredCard || displayCard).type_line}
+ {(hoveredCard || displayCard).oracle_text && (
+
+ {(hoveredCard || displayCard).oracle_text.split('\n').map((line: string, i: number) =>
{line}
)}
+
+ )}
+
+
+ )}
+
+
+ {/* Back Face (Card Back) */}
+
+

+
+ {/* Resize Handle for Sidebar */}
+
handleResizeStart('sidebar', e)}
+ onTouchStart={(e) => handleResizeStart('sidebar', e)}
+ >
+
+
- {/* Resize Handle for Sidebar */}
-
handleResizeStart('sidebar', e)}
- onTouchStart={(e) => handleResizeStart('sidebar', e)}
- >
-
-
-
+ )}
{/* Main Content Area: Handles both Pack and Pool based on layout */}
{layout === 'vertical' ? (