From 217244c367ef9d56e6b5206bf139b7b9a21b1a9d Mon Sep 17 00:00:00 2001 From: tapframe Date: Wed, 7 Jan 2026 15:45:24 +0530 Subject: [PATCH] removing unattributed logos --- assets/rating-icons/imdb.png | Bin 3709 -> 0 bytes src/assets/dolbyvision.png | Bin 11028 -> 0 bytes src/assets/qualitybadge/VISION.svg | 10 ---- src/assets/tmdb_logo.png | Bin 0 -> 7399 bytes src/components/metadata/MetadataDetails.tsx | 13 +--- src/components/metadata/QualityBadge.tsx | 3 - src/components/metadata/RatingsSection.tsx | 24 +++++++- src/components/metadata/SeriesContent.tsx | 62 ++++---------------- src/components/player/cards/EpisodeCard.tsx | 28 ++++----- src/screens/TMDBSettingsScreen.tsx | 36 ++++++++++++ 10 files changed, 78 insertions(+), 98 deletions(-) delete mode 100644 assets/rating-icons/imdb.png delete mode 100644 src/assets/dolbyvision.png delete mode 100644 src/assets/qualitybadge/VISION.svg create mode 100644 src/assets/tmdb_logo.png diff --git a/assets/rating-icons/imdb.png b/assets/rating-icons/imdb.png deleted file mode 100644 index 716db221b360040abe78bbd5b89fd0842a82d1d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3709 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 XD_v2!)&3_3nRWW)IlUrX``iBq1D>;4 diff --git a/src/assets/qualitybadge/VISION.svg b/src/assets/qualitybadge/VISION.svg deleted file mode 100644 index f5783ac..0000000 --- a/src/assets/qualitybadge/VISION.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/src/assets/tmdb_logo.png b/src/assets/tmdb_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..47b79fdc1ae4d93c490fc15971a5488314a2e183 GIT binary patch literal 7399 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 literal 0 HcmV?d00001 diff --git a/src/components/metadata/MetadataDetails.tsx b/src/components/metadata/MetadataDetails.tsx index 666a9b1..a51e53c 100644 --- a/src/components/metadata/MetadataDetails.tsx +++ b/src/components/metadata/MetadataDetails.tsx @@ -233,21 +233,10 @@ const MetadataDetails: React.FC = ({ )} {metadata.imdbRating && !isMDBEnabled && ( - {metadata.imdbRating} diff --git a/src/components/metadata/QualityBadge.tsx b/src/components/metadata/QualityBadge.tsx index b0b445a..88fd27a 100644 --- a/src/components/metadata/QualityBadge.tsx +++ b/src/components/metadata/QualityBadge.tsx @@ -1,6 +1,5 @@ import React from 'react'; import HDSvg from '../../assets/qualitybadge/HD.svg'; -import VISIONSvg from '../../assets/qualitybadge/VISION.svg'; import ADSvg from '../../assets/qualitybadge/AD.svg'; interface QualityBadgeProps { @@ -17,8 +16,6 @@ const QualityBadge: React.FC = ({ type }) => { switch (type) { case 'HD': return ; - case 'VISION': - return ; case 'AD': return ; default: diff --git a/src/components/metadata/RatingsSection.tsx b/src/components/metadata/RatingsSection.tsx index 1ff2c6b..d22d573 100644 --- a/src/components/metadata/RatingsSection.tsx +++ b/src/components/metadata/RatingsSection.tsx @@ -1,5 +1,6 @@ import React, { useEffect, useState, useRef, useCallback, useMemo } from 'react'; import { View, Text, StyleSheet, ActivityIndicator, Image, Animated, Dimensions } from 'react-native'; +import { MaterialIcons as MaterialIconsWrapper } from '@expo/vector-icons'; import { useTheme } from '../../contexts/ThemeContext'; import { useMDBListRatings } from '../../hooks/useMDBListRatings'; import { mmkvStorage } from '../../services/mmkvStorage'; @@ -158,42 +159,49 @@ export const RatingsSection: React.FC = ({ imdbId, type }) // Define the order and icons/colors for the ratings const ratingConfig = { imdb: { - icon: require('../../../assets/rating-icons/imdb.png'), - isImage: true, + name: 'IMDb', + icon: null, // No icon for IMDb + isImage: false, color: '#F5C518', transform: (value: number) => value.toFixed(1) }, tmdb: { + name: 'TMDB', icon: TMDBIcon, isImage: false, color: '#01B4E4', transform: (value: number) => value.toFixed(0) }, trakt: { + name: 'Trakt', icon: TraktIcon, isImage: false, color: '#ED1C24', transform: (value: number) => value.toFixed(0) }, letterboxd: { + name: 'Letterboxd', icon: LetterboxdIcon, isImage: false, color: '#00E054', transform: (value: number) => value.toFixed(1) }, tomatoes: { + name: 'Rotten Tomatoes', icon: RottenTomatoesIcon, isImage: false, color: '#FA320A', transform: (value: number) => Math.round(value).toString() + '%' }, audience: { + name: 'Audience Score', icon: AudienceScoreIcon, isImage: true, color: '#FA320A', transform: (value: number) => Math.round(value).toString() + '%' }, metacritic: { + name: 'Metacritic', icon: MetacriticIcon, isImage: true, color: '#FFCC33', @@ -240,13 +248,23 @@ export const RatingsSection: React.FC = ({ imdbId, type }) style={[styles.compactRatingIcon, { width: iconSize, height: iconSize, marginRight: iconTextGap }]} resizeMode="contain" /> - ) : ( + ) : config.icon ? ( {React.createElement(config.icon as any, { width: iconSize, height: iconSize, })} + ) : ( + // Text fallback + + {config.name} + )} {displayValue} diff --git a/src/components/metadata/SeriesContent.tsx b/src/components/metadata/SeriesContent.tsx index 3ef7042..56b15c0 100644 --- a/src/components/metadata/SeriesContent.tsx +++ b/src/components/metadata/SeriesContent.tsx @@ -40,8 +40,7 @@ interface SeriesContentProps { // Add placeholder constant at the top const DEFAULT_PLACEHOLDER = 'https://via.placeholder.com/300x450/1a1a1a/666666?text=No+Image'; const EPISODE_PLACEHOLDER = 'https://via.placeholder.com/500x280/1a1a1a/666666?text=No+Preview'; -const TMDB_LOGO = 'https://upload.wikimedia.org/wikipedia/commons/thumb/8/89/Tmdb.new.logo.svg/512px-Tmdb.new.logo.svg.png?20200406190906'; -const IMDb_LOGO = 'https://upload.wikimedia.org/wikipedia/commons/thumb/6/69/IMDB_Logo_2016.svg/575px-IMDB_Logo_2016.svg.png'; + const SeriesContentComponent: React.FC = ({ episodes, @@ -1167,17 +1166,7 @@ const SeriesContentComponent: React.FC = ({ {isImdbRating ? ( <> - + = ({ ) : ( <> - {effectiveVote.toFixed(1)} @@ -1433,17 +1412,7 @@ const SeriesContentComponent: React.FC = ({ {isImdbRating ? ( <> - + = ({ ) : ( <> - {effectiveVote.toFixed(1)} @@ -2001,16 +1970,8 @@ const styles = StyleSheet.create({ alignItems: 'center', // chip background removed }, - tmdbLogo: { - width: 20, - height: 14, - }, - imdbLogo: { - width: 35, - height: 18, - }, ratingText: { - color: '#01b4e4', + // color set dynamically or removed from here if unused fontSize: 13, fontWeight: '700', marginLeft: 4, @@ -2196,10 +2157,7 @@ const styles = StyleSheet.create({ // chip background removed gap: 2, }, - imdbLogoHorizontal: { - width: 35, - height: 18, - }, + ratingTextHorizontal: { color: '#FFD700', fontSize: 11, diff --git a/src/components/player/cards/EpisodeCard.tsx b/src/components/player/cards/EpisodeCard.tsx index 33834d6..9ec49c2 100644 --- a/src/components/player/cards/EpisodeCard.tsx +++ b/src/components/player/cards/EpisodeCard.tsx @@ -4,7 +4,7 @@ import FastImage from '@d11/react-native-fast-image'; import { MaterialIcons } from '@expo/vector-icons'; import { Episode } from '../../../types/metadata'; -const TMDB_LOGO = 'https://upload.wikimedia.org/wikipedia/commons/thumb/8/89/Tmdb.new.logo.svg/512px-Tmdb.new.logo.svg.png?20200406190906'; + const EPISODE_PLACEHOLDER = 'https://via.placeholder.com/500x280/1a1a1a/666666?text=No+Preview'; interface EpisodeCardProps { @@ -28,7 +28,7 @@ export const EpisodeCard: React.FC = ({ }) => { const { width } = Dimensions.get('window'); const isTablet = width >= 768; - + // Get episode image let episodeImage = EPISODE_PLACEHOLDER; if (episode.still_path) { @@ -42,11 +42,11 @@ export const EpisodeCard: React.FC = ({ } else if (metadata?.poster) { episodeImage = metadata.poster; } - + const episodeNumber = typeof episode.episode_number === 'number' ? episode.episode_number.toString() : ''; const seasonNumber = typeof episode.season_number === 'number' ? episode.season_number.toString() : ''; const episodeString = seasonNumber && episodeNumber ? `S${seasonNumber.padStart(2, '0')}E${episodeNumber.padStart(2, '0')}` : ''; - + // Get episode progress const episodeId = episode.stremioId || `${metadata?.id}:${episode.season_number}:${episode.episode_number}`; const tmdbOverride = tmdbEpisodeOverrides?.[`${metadata?.id}:${episode.season_number}:${episode.episode_number}`]; @@ -60,7 +60,7 @@ export const EpisodeCard: React.FC = ({ const progress = episodeProgress?.[episodeId]; const progressPercent = progress ? (progress.currentTime / progress.duration) * 100 : 0; const showProgress = progress && progressPercent < 85; - + const formatRuntime = (runtime: number) => { if (!runtime) return null; const hours = Math.floor(runtime / 60); @@ -70,7 +70,7 @@ export const EpisodeCard: React.FC = ({ } return `${minutes}m`; }; - + const formatDate = (dateString: string) => { const date = new Date(dateString); return date.toLocaleDateString('en-US', { @@ -106,11 +106,11 @@ export const EpisodeCard: React.FC = ({ {showProgress && ( - )} @@ -135,12 +135,7 @@ export const EpisodeCard: React.FC = ({ {effectiveVote > 0 && ( - - + {effectiveVote.toFixed(1)} @@ -234,10 +229,7 @@ const styles = StyleSheet.create({ flexDirection: 'row', alignItems: 'center', }, - tmdbLogo: { - width: 20, - height: 14, - }, + ratingText: { fontSize: 13, fontWeight: '700', diff --git a/src/screens/TMDBSettingsScreen.tsx b/src/screens/TMDBSettingsScreen.tsx index 09546cf..b96a92c 100644 --- a/src/screens/TMDBSettingsScreen.tsx +++ b/src/screens/TMDBSettingsScreen.tsx @@ -1037,6 +1037,23 @@ const TMDBSettingsScreen = () => { + {/* TMDB Attribution */} + + + + + This product uses the TMDB API but is not + + + endorsed or certified by TMDB. + + + + {/* Language Picker Modal */}