Replaced Frame.io link with embedded local video player for the studio reel. ## Changes - Created ReelPlayer component with custom HTML5 video controls - Play/pause, volume, fullscreen, progress bar with scrubbing - Loading and error states with user-friendly messages - Dark theme styling with orange (#ff4d00) accents and sharp corners - Responsive design for mobile/tablet/desktop - Integrated ReelPlayer into Temp-Placeholder (Work section) - Replaced external Frame.io link with local /reel.mp4 - Maintains minimal aesthetic with proper animations - Fixed middleware whitelist issue - Added /reel.mp4 to middleware allowlist (src/middleware.ts:8) - Prevents 307 redirect that was causing "text/html" Content-Type error - Added video file headers to next.config.ts - Ensures proper video/mp4 MIME type for all .mp4 files - Updated CLAUDE.md documentation - Added critical warning about middleware whitelist in "Common pitfalls" - Added rule #9 to "Agents operating rules" for public/ file additions - Future-proofs against this issue happening again ## Technical Details - Video: 146MB, H.264 codec, 4K resolution (3840x2160) - Player handles large file buffering gracefully - ReadyState check prevents loading overlay persistence - All controls accessible and keyboard-friendly 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
40 lines
740 B
TypeScript
40 lines
740 B
TypeScript
import type { NextConfig } from "next";
|
|
|
|
const nextConfig: NextConfig = {
|
|
// Image optimization
|
|
images: {
|
|
unoptimized: false,
|
|
remotePatterns: [
|
|
{
|
|
protocol: "https",
|
|
hostname: "images.unsplash.com",
|
|
port: "",
|
|
pathname: "/**",
|
|
},
|
|
],
|
|
},
|
|
// Ignore lint and TypeScript errors during build for deployment
|
|
eslint: {
|
|
ignoreDuringBuilds: true,
|
|
},
|
|
typescript: {
|
|
ignoreBuildErrors: true,
|
|
},
|
|
// Custom headers for video files
|
|
async headers() {
|
|
return [
|
|
{
|
|
source: "/:path*.mp4",
|
|
headers: [
|
|
{
|
|
key: "Content-Type",
|
|
value: "video/mp4",
|
|
},
|
|
],
|
|
},
|
|
];
|
|
},
|
|
};
|
|
|
|
export default nextConfig;
|