import React, { memo, useMemo } from '../../../lib/teact/teact'; import type { ApiStarGiftAttributeBackdrop, ApiStarGiftAttributeModel, ApiStarGiftAttributePattern, } from '../../../api/types'; import buildClassName from '../../../util/buildClassName'; import buildStyle from '../../../util/buildStyle'; import { useTransitionActiveKey } from '../../../hooks/animations/useTransitionActiveKey'; import AnimatedIconFromSticker from '../../common/AnimatedIconFromSticker'; import RadialPatternBackground from '../../common/profile/RadialPatternBackground'; import Transition from '../../ui/Transition'; import styles from './UniqueGiftHeader.module.scss'; type OwnProps = { modelAttribute: ApiStarGiftAttributeModel; backdropAttribute: ApiStarGiftAttributeBackdrop; patternAttribute: ApiStarGiftAttributePattern; title?: string; subtitle?: string; className?: string; }; const STICKER_SIZE = 120; const UniqueGiftHeader = ({ modelAttribute, backdropAttribute, patternAttribute, title, subtitle, className, }: OwnProps) => { const activeKey = useTransitionActiveKey([modelAttribute, backdropAttribute, patternAttribute]); const subtitleColor = backdropAttribute?.textColor; const radialPatternBackdrop = useMemo(() => { const backdropColors = [backdropAttribute.centerColor, backdropAttribute.edgeColor]; const patternColor = backdropAttribute.patternColor; return ( ); }, [backdropAttribute, patternAttribute]); return (
{radialPatternBackdrop} {title &&

{title}

} {subtitle && (

{subtitle}

)}
); }; export default memo(UniqueGiftHeader);