📄
@@ -147,8 +144,8 @@ export function LocalEmbedPDF({ file, url, colorScheme }: LocalEmbedPDFProps) {
justifyContent: 'center',
alignItems: 'center',
height: '100%',
- background: actualColorScheme === 'dark' ? '#1a1b1e' : '#f1f3f5',
- color: actualColorScheme === 'dark' ? '#ffffff' : '#666666',
+ background: 'var(--bg-surface)',
+ color: 'var(--text-secondary)',
}}>
⏳
@@ -165,8 +162,8 @@ export function LocalEmbedPDF({ file, url, colorScheme }: LocalEmbedPDFProps) {
justifyContent: 'center',
alignItems: 'center',
height: '100%',
- background: actualColorScheme === 'dark' ? '#1a1b1e' : '#f1f3f5',
- color: '#ff6b6b',
+ background: 'var(--bg-surface)',
+ color: 'var(--color-red-500)',
}}>
❌
@@ -199,7 +196,7 @@ export function LocalEmbedPDF({ file, url, colorScheme }: LocalEmbedPDFProps) {
void;
- colorScheme: 'light' | 'dark' | 'auto';
+ colorScheme?: 'light' | 'dark' | 'auto'; // Optional since we use CSS variables
}
-export function ThumbnailSidebar({ visible, onToggle: _onToggle, colorScheme }: ThumbnailSidebarProps) {
+export function ThumbnailSidebar({ visible, onToggle: _onToggle }: ThumbnailSidebarProps) {
const { getScrollState, scrollActions, getThumbnailAPI } = useViewer();
const [thumbnails, setThumbnails] = useState<{ [key: number]: string }>({});
const scrollState = getScrollState();
const thumbnailAPI = getThumbnailAPI();
- // Convert color scheme
- const actualColorScheme = colorScheme === 'auto' ? 'light' : colorScheme;
-
// Generate thumbnails when sidebar becomes visible
useEffect(() => {
if (!visible || scrollState.totalPages === 0) return;
@@ -100,8 +97,8 @@ export function ThumbnailSidebar({ visible, onToggle: _onToggle, colorScheme }:
top: 0,
bottom: 0,
width: '15rem',
- backgroundColor: actualColorScheme === 'dark' ? '#1a1b1e' : '#f8f9fa',
- borderLeft: `1px solid ${actualColorScheme === 'dark' ? '#373A40' : '#e9ecef'}`,
+ backgroundColor: 'var(--bg-surface)',
+ borderLeft: '1px solid var(--border-subtle)',
zIndex: 998,
display: 'flex',
flexDirection: 'column',
@@ -125,10 +122,10 @@ export function ThumbnailSidebar({ visible, onToggle: _onToggle, colorScheme }:
borderRadius: '8px',
padding: '8px',
backgroundColor: scrollState.currentPage === pageIndex + 1
- ? (actualColorScheme === 'dark' ? '#364FC7' : '#e7f5ff')
+ ? 'var(--color-primary-100)'
: 'transparent',
border: scrollState.currentPage === pageIndex + 1
- ? '2px solid #1c7ed6'
+ ? '2px solid var(--color-primary-500)'
: '2px solid transparent',
transition: 'all 0.2s ease',
display: 'flex',
@@ -138,7 +135,7 @@ export function ThumbnailSidebar({ visible, onToggle: _onToggle, colorScheme }:
}}
onMouseEnter={(e) => {
if (scrollState.currentPage !== pageIndex + 1) {
- e.currentTarget.style.backgroundColor = actualColorScheme === 'dark' ? '#25262b' : '#f1f3f5';
+ e.currentTarget.style.backgroundColor = 'var(--hover-bg)';
}
}}
onMouseLeave={(e) => {
@@ -157,20 +154,20 @@ export function ThumbnailSidebar({ visible, onToggle: _onToggle, colorScheme }:
height: 'auto',
borderRadius: '4px',
boxShadow: '0 2px 4px rgba(0, 0, 0, 0.1)',
- border: `1px solid ${actualColorScheme === 'dark' ? '#373A40' : '#e9ecef'}`
+ border: '1px solid var(--border-subtle)'
}}
/>
) : thumbnails[pageIndex] === 'error' ? (
Failed
@@ -179,13 +176,13 @@ export function ThumbnailSidebar({ visible, onToggle: _onToggle, colorScheme }:
Loading...
@@ -197,8 +194,8 @@ export function ThumbnailSidebar({ visible, onToggle: _onToggle, colorScheme }:
fontSize: '12px',
fontWeight: 500,
color: scrollState.currentPage === pageIndex + 1
- ? (actualColorScheme === 'dark' ? '#ffffff' : '#1c7ed6')
- : (actualColorScheme === 'dark' ? '#adb5bd' : '#6c757d')
+ ? 'var(--color-primary-500)'
+ : 'var(--text-muted)'
}}>
Page {pageIndex + 1}