diff --git a/app/screenshots/[filename]/route.ts b/app/screenshots/[filename]/route.ts index 1a00594..e69de29 100644 --- a/app/screenshots/[filename]/route.ts +++ b/app/screenshots/[filename]/route.ts @@ -1,22 +0,0 @@ -import { NextRequest, NextResponse } from 'next/server' -import fs from 'fs/promises' -import path from 'path' - -export async function GET( - request: NextRequest, - context: any -) { - try { - const screenshotsDir = path.join(process.cwd(), 'screenshots') - const filePath = path.join(screenshotsDir, context.params.filename) - const file = await fs.readFile(filePath) - return new NextResponse(file, { - headers: { - 'Content-Type': 'image/png', - 'Content-Disposition': `inline; filename="${context.params.filename}"` - } - }) - } catch (e: any) { - return NextResponse.json({ error: e.message }, { status: 404 }) - } -} diff --git a/components/ScreenshotGallery.tsx b/components/ScreenshotGallery.tsx index 30dcf48..02856c9 100644 --- a/components/ScreenshotGallery.tsx +++ b/components/ScreenshotGallery.tsx @@ -18,6 +18,15 @@ export default function ScreenshotGallery({ onImageClick, onClose }: ScreenshotGalleryProps) { + // Debug logging + console.log('ScreenshotGallery props:', { + screenshots, + symbol, + timeframes, + enlargedImage, + screenshotsLength: screenshots?.length + }) + // Handle ESC key to close enlarged image useEffect(() => { const handleKeyDown = (event: KeyboardEvent) => { @@ -32,7 +41,10 @@ export default function ScreenshotGallery({ } }, [enlargedImage, onClose]) - if (screenshots.length === 0) return null + if (screenshots.length === 0) { + console.log('ScreenshotGallery: No screenshots to display') + return null + } // Helper function to format screenshot URL const formatScreenshotUrl = (screenshot: string) => { @@ -61,9 +73,24 @@ export default function ScreenshotGallery({
{screenshots.map((screenshot, index) => { const filename = screenshot.split('/').pop() || '' - const timeframe = timeframes[index] || 'Unknown' + // Extract timeframe from filename (e.g., SOLUSD_5_ai_timestamp.png -> "5m") + const extractTimeframeFromFilename = (filename: string) => { + const match = filename.match(/_(\d+|D)_/) + if (!match) return 'Unknown' + const tf = match[1] + if (tf === 'D') return '1D' + if (tf === '5') return '5m' + if (tf === '15') return '15m' + if (tf === '60') return '1h' + if (tf === '240') return '4h' + return `${tf}m` + } + + const timeframe = timeframes[index] || extractTimeframeFromFilename(filename) const imageUrl = formatScreenshotUrl(screenshot) + console.log(`Screenshot ${index}:`, { screenshot, filename, timeframe, imageUrl }) + return (
console.log(`Image loaded successfully: ${imageUrl}`)} onError={(e: any) => { + console.error(`Failed to load image: ${imageUrl}`, e) const target = e.target as HTMLImageElement target.style.display = 'none' const fallback = target.nextElementSibling as HTMLElement diff --git a/debug-after-click.png b/debug-after-click.png deleted file mode 100644 index 3748fd1..0000000 Binary files a/debug-after-click.png and /dev/null differ diff --git a/debug-initial.png b/debug-initial.png deleted file mode 100644 index 1075b90..0000000 Binary files a/debug-initial.png and /dev/null differ diff --git a/debug-timeframe-initial.png b/debug-timeframe-initial.png deleted file mode 100644 index a67425f..0000000 Binary files a/debug-timeframe-initial.png and /dev/null differ diff --git a/debug-tradingview-after-wait.png b/debug-tradingview-after-wait.png deleted file mode 100644 index 9eb5b42..0000000 Binary files a/debug-tradingview-after-wait.png and /dev/null differ diff --git a/debug-tradingview-visible.png b/debug-tradingview-visible.png deleted file mode 100644 index 6b793fe..0000000 Binary files a/debug-tradingview-visible.png and /dev/null differ