import React from "react";
import {
AbsoluteFill,
useCurrentFrame,
useVideoConfig,
spring,
interpolate,
} from "remotion";
import { theme } from "../../components/shared/theme";
import { AppScreenshot, MockScreen } from "../../components/shared/AppScreenshot";
/**
* Scene 3: Road games surfaced
*
* Shows upcoming away games inside a phone frame, cards sliding in.
* On-screen text: "Plan it in seconds"
*/
type GameCard = {
opponent: string;
opponentColor: string;
date: string;
venue: string;
city: string;
};
const ROAD_GAMES: GameCard[] = [
{
opponent: "@ Dodgers",
opponentColor: "#005A9C",
date: "Fri, Jun 12",
venue: "Dodger Stadium",
city: "Los Angeles, CA",
},
{
opponent: "@ Giants",
opponentColor: "#FD5A1E",
date: "Sun, Jun 14",
venue: "Oracle Park",
city: "San Francisco, CA",
},
{
opponent: "@ Padres",
opponentColor: "#2F241D",
date: "Tue, Jun 16",
venue: "Petco Park",
city: "San Diego, CA",
},
{
opponent: "@ D-backs",
opponentColor: "#A71930",
date: "Thu, Jun 18",
venue: "Chase Field",
city: "Phoenix, AZ",
},
];
export const RoadGamesScene: React.FC = () => {
const frame = useCurrentFrame();
const { fps } = useVideoConfig();
// "Plan it in seconds" label overlay (outside phone)
const planLabelProgress = spring({
frame: frame - 2 * fps,
fps,
config: theme.animation.snappy,
});
const planLabelOpacity = interpolate(
frame - 2 * fps,
[0, 0.2 * fps],
[0, 1],
{ extrapolateLeft: "clamp", extrapolateRight: "clamp" }
);
return (