update herosection play icon

This commit is contained in:
tapframe 2026-03-17 06:20:51 +05:30
parent 741550d72d
commit 556b0f4724
4 changed files with 39 additions and 25 deletions

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M21.4086 9.35258C23.5305 10.5065 23.5305 13.4935 21.4086 14.6474L8.59662 21.6145C6.53435 22.736 4 21.2763 4 18.9671L4 5.0329C4 2.72368 6.53435 1.26402 8.59661 2.38548L21.4086 9.35258Z" fill="#000000"/>
</svg>

After

Width:  |  Height:  |  Size: 359 B

View file

@ -18,6 +18,7 @@ import { RootStackParamList } from '../../navigation/AppNavigator';
import { LinearGradient } from 'expo-linear-gradient';
import FastImage from '@d11/react-native-fast-image';
import { MaterialIcons, Entypo } from '@expo/vector-icons';
import PlayerPlayIconBlack from '../../../assets/player-icons/ic_player_play_black.svg';
import Animated, {
FadeIn,
FadeOut,
@ -1316,11 +1317,19 @@ const AppleTVHero: React.FC<AppleTVHeroProps> = ({
onPress={handlePlayAction}
activeOpacity={0.85}
>
<MaterialIcons
name={shouldResume ? "replay" : "play-arrow"}
size={24}
color="#000"
/>
{shouldResume ? (
<MaterialIcons
name="replay"
size={24}
color="#000"
/>
) : (
<PlayerPlayIconBlack
width={24}
height={24}
style={{ transform: [{ scale: 0.85 }] }}
/>
)}
<Text style={styles.playButtonText}>{shouldResume ? t('home.resume') : t('home.play')}</Text>
</TouchableOpacity>

View file

@ -57,6 +57,7 @@ import { TMDBService } from '../../services/tmdbService';
import TrailerService, { TrailerPlaybackSource } from '../../services/trailerService';
import TrailerPlayer from '../video/TrailerPlayer';
import { HERO_HEIGHT, SCREEN_WIDTH as width, IS_TABLET as isTablet } from '../../constants/dimensions';
import PlayerPlayIconBlack from '../../../assets/player-icons/ic_player_play_black.svg';
const { height } = Dimensions.get('window');
@ -355,16 +356,19 @@ const ActionButtons = memo(({
onPress={handleShowStreams}
activeOpacity={0.85}
>
<MaterialIcons
name={(() => {
if (isWatched) {
return type === 'movie' ? 'replay' : 'play-arrow';
}
return playButtonText === 'Resume' ? 'play-circle-outline' : 'play-arrow';
})()}
size={isTablet ? 28 : 24}
color={isWatched && type === 'movie' ? "#fff" : "#000"}
/>
{isWatched && type === 'movie' ? (
<MaterialIcons
name="replay"
size={isTablet ? 28 : 24}
color="#fff"
/>
) : (
<PlayerPlayIconBlack
width={isTablet ? 28 : 24}
height={isTablet ? 28 : 24}
style={{ transform: [{ scale: isTablet ? 0.85 : 0.79 }] }}
/>
)}
<Text style={[playButtonTextStyle, isTablet && styles.tabletPlayButtonText]}>{finalPlayButtonText}</Text>
</TouchableOpacity>

View file

@ -1782,11 +1782,8 @@ const LibraryScreen = () => {
setFilter(filterType);
}}
activeOpacity={0.7}
>
{iconName && (
<MaterialIcons name={iconName} size={20} color={isActive ? currentTheme.colors.white : currentTheme.colors.mediumGray} style={styles.filterIcon} />
)}
<Text
>
<Text
style={[
styles.filterText,
{ color: currentTheme.colors.mediumGray },
@ -1901,11 +1898,11 @@ const LibraryScreen = () => {
style={styles.filtersContainer}
contentContainerStyle={styles.filtersContent}
>
{renderFilter('trakt', 'Trakt', 'pan-tool')}
{renderFilter('simkl', 'SIMKL', 'video-library')}
{renderFilter('mal', 'MAL', 'book')}
{renderFilter('movies', t('search.movies'), 'movie')}
{renderFilter('series', t('search.tv_shows'), 'live-tv')}
{renderFilter('trakt', 'Trakt')}
{renderFilter('simkl', 'SIMKL')}
{renderFilter('mal', 'MAL')}
{renderFilter('movies', t('search.movies'))}
{renderFilter('series', t('search.tv_shows'))}
</ScrollView>
)}