Skip to content

Commit

Permalink
Merge pull request #184 from himanshu8443/feature
Browse files Browse the repository at this point in the history
Version 2.5.12 Bug fixes
  • Loading branch information
Zenda-Cross authored Jan 2, 2025
2 parents abc51e3 + e74738a commit 40bc627
Show file tree
Hide file tree
Showing 8 changed files with 180 additions and 165 deletions.
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ android {
applicationId "com.vega"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 92
versionName "2.5.11"
versionCode 94
versionName "2.5.12"
}
signingConfigs {
release {
Expand Down
4 changes: 2 additions & 2 deletions app.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@
]
],
"slug": "vega",
"version": "2.5.11",
"version": "2.5.12",
"sdkVersion": "51.0.0",
"android": {
"minSdkVersion": 24,
"package": "com.vega",
"versionCode": 92
"versionCode": 94
},
"platforms": ["ios", "android"]
}
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "vega",
"version": "2.5.11",
"version": "2.5.12",
"private": true,
"scripts": {
"android": "react-native run-android",
Expand Down
49 changes: 26 additions & 23 deletions src/components/Touturial.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import {MMKV} from '../lib/Mmkv';
import {useState} from 'react';
import {providersList} from '../lib/constants';
import useContentStore from '../lib/zustand/contentStore';
import {SvgUri} from 'react-native-svg';

const Touturial = () => {
const [showTouturial, setShowTouturial] = useState<boolean>(
Expand All @@ -18,29 +19,31 @@ const Touturial = () => {
<Text className="text-white text-xl my-7 font-semibold">
Select a provider to start watching
</Text>
<ScrollView
contentContainerStyle={{
display: 'flex',
flexDirection: 'row',
flexWrap: 'wrap',
justifyContent: 'space-around',
width: 384,
height: '90%',
}}>
{providersList.map(provider => (
<Pressable
key={provider.value}
className="bg-quaternary p-3 m-3 w-32 flex items-center flex-row rounded-md"
onPress={() => {
setProvider(provider);
MMKV.setBool('showTouturial', false);
setShowTouturial(false);
}}>
<Text className="text-white mr-3">{provider.flag}</Text>
<Text className="text-white">{provider.name}</Text>
</Pressable>
))}
</ScrollView>
<View className="h-[85%]">
<ScrollView
contentContainerStyle={{
display: 'flex',
flexDirection: 'row',
flexWrap: 'wrap',
justifyContent: 'space-around',
width: 384,
height: 'auto',
}}>
{providersList.map(provider => (
<Pressable
key={provider.value}
className="bg-quaternary p-3 m-3 w-[130px] flex items-center rounded-md flex-row"
onPress={() => {
setProvider(provider);
MMKV.setBool('showTouturial', false);
setShowTouturial(false);
}}>
<SvgUri width="27" height="24" uri={provider.flag} />
<Text className="text-white ml-2">{provider.name}</Text>
</Pressable>
))}
</ScrollView>
</View>
</View>
</Modal>
</View>
Expand Down
11 changes: 9 additions & 2 deletions src/lib/providers/hubcloudExtractor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ export async function hubcloudExtracter(link: string, signal: AbortSignal) {
const baseUrl = link.split('/').slice(0, -2).join('/');
link = `${baseUrl}/api/file/${token}?download`;
}
streamLinks.push({server: 'pixeldrain', link: link, type: 'mkv'});
streamLinks.push({server: 'Pixeldrain', link: link, type: 'mkv'});
}
if (link?.includes('hubcloud') || link?.includes('/?id=')) {
try {
Expand All @@ -66,7 +66,14 @@ export async function hubcloudExtracter(link: string, signal: AbortSignal) {
streamLinks.push({server: 'CfStorage', link: link, type: 'mkv'});
}
if (link?.includes('fastdl')) {
streamLinks.push({server: 'fastDl', link: link, type: 'mkv'});
streamLinks.push({server: 'FastDl', link: link, type: 'mkv'});
}
if (link.includes('hubcdn')) {
streamLinks.push({
server: 'HubCdn',
link: link,
type: 'mkv',
});
}
}
console.log('streamLinks', streamLinks);
Expand Down
46 changes: 23 additions & 23 deletions src/lib/providers/vega/catalog.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,97 +5,97 @@ export const homeList = [
},
{
title: 'Netflix',
filter: '/web-series/netflix',
filter: 'web-series/netflix',
},
{
title: 'Amazon Prime',
filter: '/web-series/amazon-prime-video',
filter: 'web-series/amazon-prime-video',
},
{
title: '4K Movies',
filter: '/movies-by-quality/2160p',
filter: 'movies-by-quality/2160p',
},
];

export const genresList = [
{
title: 'Action',
filter: 'category/movies-by-genres/action/',
filter: 'category/movies-by-genres/action',
},
{
title: 'Adventure',
filter: 'category/movies-by-genres/adventure/',
filter: 'category/movies-by-genres/adventure',
},
{
title: 'Animation',
filter: 'category/movies-by-genres/animation/',
filter: 'category/movies-by-genres/animation',
},
{
title: 'Biography',
filter: 'category/movies-by-genres/biography/',
filter: 'category/movies-by-genres/biography',
},
{
title: 'Comedy',
filter: 'category/movies-by-genres/comedy/',
filter: 'category/movies-by-genres/comedy',
},
{
title: 'Crime',
filter: 'category/movies-by-genres/crime/',
filter: 'category/movies-by-genres/crime',
},
{
title: 'Documentary',
filter: 'category/movies-by-genres/documentary/',
filter: 'category/movies-by-genres/documentary',
},
{
title: 'Drama',
filter: 'category/movies-by-genres/drama/',
filter: 'category/movies-by-genres/drama',
},
{
title: 'Family',
filter: 'category/movies-by-genres/family/',
filter: 'category/movies-by-genres/family',
},
{
title: 'Fantasy',
filter: 'category/movies-by-genres/fantasy/',
filter: 'category/movies-by-genres/fantasy',
},
{
title: 'History',
filter: 'category/movies-by-genres/history/',
filter: 'category/movies-by-genres/history',
},
{
title: 'Horror',
filter: 'category/movies-by-genres/horror/',
filter: 'category/movies-by-genres/horror',
},
{
title: 'Music',
filter: 'category/movies-by-genres/music/',
filter: 'category/movies-by-genres/music',
},
{
title: 'Mystery',
filter: 'category/movies-by-genres/mystery/',
filter: 'category/movies-by-genres/mystery',
},
{
title: 'Romance',
filter: 'category/movies-by-genres/romance/',
filter: 'category/movies-by-genres/romance',
},
{
title: 'Sci-Fi',
filter: 'category/movies-by-genres/sci-fi/',
filter: 'category/movies-by-genres/sci-fi',
},
{
title: 'Sport',
filter: 'category/movies-by-genres/sport/',
filter: 'category/movies-by-genres/sport',
},
{
title: 'Thriller',
filter: 'category/movies-by-genres/thriller/',
filter: 'category/movies-by-genres/thriller',
},
{
title: 'War',
filter: 'category/movies-by-genres/war/',
filter: 'category/movies-by-genres/war',
},
{
title: 'Western',
filter: 'category/movies-by-genres/western/',
filter: 'category/movies-by-genres/western',
},
];
39 changes: 20 additions & 19 deletions src/screens/home/Player.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ const Player = ({route}: Props): React.JSX.Element => {
const {primary} = useThemeStore(state => state);
const {provider} = useContentStore();
const [activeEpisode, setActiveEpisode] = useState(
route.params.episodeList?.[route.params.linkIndex],
route.params?.episodeList?.[route.params.linkIndex],
);
const videoPositionRef = useRef({position: 0, duration: 0});
const lastSavedPositionRef = useRef(0);
Expand Down Expand Up @@ -153,8 +153,8 @@ const Player = ({route}: Props): React.JSX.Element => {
contentUrl: selectedStream.link,
contentType: 'video/x-matroska',
metadata: {
title: route.params.primaryTitle,
subtitle: route.params.secondaryTitle,
title: route.params?.primaryTitle,
subtitle: route.params?.secondaryTitle,
type: 'movie',
images: [
{
Expand Down Expand Up @@ -183,7 +183,7 @@ const Player = ({route}: Props): React.JSX.Element => {
setLoading(true);
if (route.params?.directUrl) {
setStream([
{server: 'direct', link: route.params?.directUrl, type: 'mp4'},
{server: 'Downloaded', link: route.params?.directUrl, type: 'mp4'},
]);
setSelectedStream({
server: 'Downloaded',
Expand All @@ -194,11 +194,11 @@ const Player = ({route}: Props): React.JSX.Element => {
return;
}
// check if downloaded
if (route.params.primaryTitle && route.params.secondaryTitle) {
if (route.params?.primaryTitle && route.params?.secondaryTitle) {
const file = (
route.params?.primaryTitle +
route.params?.secondaryTitle +
activeEpisode.title
activeEpisode?.title
).replaceAll(/[^a-zA-Z0-9]/g, '_');
const exists = await ifExists(file);
if (exists) {
Expand All @@ -209,8 +209,8 @@ const Player = ({route}: Props): React.JSX.Element => {
}
}
const data = await manifest[
route.params.providerValue || provider.value
].GetStream(activeEpisode.link, route.params.type, controller.signal);
route.params?.providerValue || provider?.value
].GetStream(activeEpisode.link, route.params?.type, controller.signal);
const streamAbleServers = data.filter(
// filter out non streamable servers
stream =>
Expand Down Expand Up @@ -266,7 +266,7 @@ const Player = ({route}: Props): React.JSX.Element => {
}, [selectedStream]);

useEffect(() => {
setSearchQuery(route.params.primaryTitle || '');
setSearchQuery(route.params?.primaryTitle || '');
}, []);

const setToast = (message: string, duration: number) => {
Expand Down Expand Up @@ -328,11 +328,11 @@ const Player = ({route}: Props): React.JSX.Element => {
...(selectedStream?.type === 'm3u8' && {type: 'm3u8'}),
headers: selectedStream?.headers,
metadata: {
title: route.params.primaryTitle,
title: route.params?.primaryTitle,
subtitle: activeEpisode?.title,
artist: activeEpisode?.title,
description: activeEpisode.title,
imageUri: route.params.poster.poster,
imageUri: route.params?.poster?.poster,
},
}}
textTracks={externalSubs}
Expand Down Expand Up @@ -363,9 +363,10 @@ const Player = ({route}: Props): React.JSX.Element => {
}}
title={{
primary:
route.params.primaryTitle && route.params.primaryTitle?.length > 70
? route.params.primaryTitle.slice(0, 70) + '...'
: route.params.primaryTitle || '',
route.params?.primaryTitle &&
route.params?.primaryTitle?.length > 70
? route.params?.primaryTitle.slice(0, 70) + '...'
: route.params?.primaryTitle || '',
secondary: activeEpisode.title,
}}
navigator={navigation}
Expand Down Expand Up @@ -514,8 +515,8 @@ const Player = ({route}: Props): React.JSX.Element => {
</MotiView>

{/* next episode button */}
{route.params.episodeList?.indexOf(activeEpisode) <
route.params.episodeList?.length - 1 &&
{route.params?.episodeList?.indexOf(activeEpisode) <
route.params?.episodeList?.length - 1 &&
videoPositionRef.current.position / videoPositionRef.current.duration >
0.8 && (
<MotiView
Expand All @@ -528,10 +529,10 @@ const Player = ({route}: Props): React.JSX.Element => {
className="flex-row items-center"
onPress={() => {
const nextEpisodeIndex =
route.params.episodeList.indexOf(activeEpisode);
if (nextEpisodeIndex < route.params.episodeList.length - 1) {
route.params?.episodeList.indexOf(activeEpisode);
if (nextEpisodeIndex < route.params?.episodeList?.length - 1) {
setActiveEpisode(
route.params.episodeList[nextEpisodeIndex + 1],
route.params?.episodeList[nextEpisodeIndex + 1],
);
} else {
ToastAndroid.show('No more episodes', ToastAndroid.SHORT);
Expand Down
Loading

0 comments on commit 40bc627

Please sign in to comment.