fix(videos): replace gradient mockups with real photos in compositions

Use real screenshots and sample photos from apps/videos/public/screenshots/
instead of CSS-gradient PhotoPlaceholder components:

- PipelineFlow: landscape photo for thumbnails with object-position variation
- AiMagicReel: portrait photo for bg removal, B&W photo for colorization,
  landscape for super resolution and restoration segments
- PrivacyPromise: real portrait/landscape/B&W photos in shield, larger padlock
- OneCommand: real app-full.png screenshot instead of wireframe AppMockup,
  increased amber glow to 12%
- CloudVsLocal: real portrait photos for all thumbnails, larger server icons
  (36px), amplified shake (5px) and vibrate (3px), escalated red tint overlay
- ShieldIcon: increased stroke width to 3.5px, added gradient fill
This commit is contained in:
SnapOtter
2026-05-08 18:48:22 +08:00
parent fa352f837b
commit a44214cc6d
6 changed files with 205 additions and 125 deletions
@@ -1,13 +1,14 @@
import type React from "react";
import {
AbsoluteFill,
Img,
interpolate,
interpolateColors,
spring,
staticFile,
useCurrentFrame,
useVideoConfig,
} from "remotion";
import { AppMockup } from "@/components/AppMockup";
import { ClipReveal } from "@/components/ClipReveal";
import { GrainOverlay } from "@/components/GrainOverlay";
import { TerminalWindow } from "@/components/TerminalWindow";
@@ -189,7 +190,7 @@ export const OneCommand: React.FC = () => {
/* ================================================================ */
/* Amber glow behind browser */
const glowOpacity = interpolate(frame, [320, 340], [0, 0.05], {
const glowOpacity = interpolate(frame, [320, 340], [0, 0.12], {
extrapolateLeft: "clamp",
extrapolateRight: "clamp",
});
@@ -304,16 +305,26 @@ export const OneCommand: React.FC = () => {
)}
</div>
{/* App mockup (appears during morph) */}
{/* Real app screenshot (appears during morph) */}
{showAppMockup && (
<div
style={{
position: "absolute",
inset: 0,
opacity: appMockupOpacity,
overflow: "hidden",
borderRadius: "0 0 12px 12px",
}}
>
<AppMockup startFrame={260} />
<Img
src={staticFile("screenshots/app-full.png")}
style={{
width: "100%",
height: "100%",
objectFit: "cover",
objectPosition: "top center",
}}
/>
</div>
)}
</TerminalWindow>