"use client"; import { useEffect, useRef, type CSSProperties } from "react"; import Link from "next/link"; import { Gift, Heart, Sparkles } from "lucide-react"; import { CharacterAvatar } from "@/app/_components"; import { MobileShell } from "@/app/_components/core"; import { TipProductImage } from "./tip-product-image"; import styles from "./tip-success-view.module.css"; const GENERIC_TIP_SUCCESS_MESSAGE = "Thank you. Your gift made me smile."; export interface TipSuccessViewProps { characterName: string; characterAvatar: string; characterCover: string; giftImageSources: readonly string[]; giftName: string; isMessageLoading: boolean; message: string | null; messageError: string | null; splashHref: string; onRetryMessage: () => void; onSendAgain: () => void; } export function TipSuccessView({ characterName, characterAvatar, characterCover, giftImageSources, giftName, isMessageLoading, message, messageError, splashHref, onRetryMessage, onSendAgain, }: TipSuccessViewProps) { const titleRef = useRef(null); useEffect(() => { titleRef.current?.focus({ preventScroll: true }); }, []); return (
); }