import { getCookie } from "@/utils/cookies/read" import { Cookies, RedTubeOrientations } from "@/meta/settings" import { REDTUBE_BASE_SEARCH, REDTUBE_BASE_GAY_SEARCH, REDTUBE_BASE_URL_GAY, REDTUBE_BASE_URL, REDTUBE_BASE_URL_TRANS } from "@/constants/urls" import { getHeadersWithCookie } from "../common/headers" import { MindGeekVideoSrcElem, VideoSourceItem } from "@/meta/data" import axios from "axios" export const getRedTubeQueryUrl = async (query?: string): Promise => { const orientation = await getCookie(Cookies.orientation) if (query) { return `${orientation && orientation.value == RedTubeOrientations.gay ? REDTUBE_BASE_GAY_SEARCH : REDTUBE_BASE_SEARCH}${query}` } if (orientation && orientation.value == RedTubeOrientations.gay ) { return REDTUBE_BASE_URL_GAY } if (orientation && orientation.value == RedTubeOrientations.trans ) { return REDTUBE_BASE_URL_TRANS } return REDTUBE_BASE_URL } export const getRedTubeResultsWrapperId = async (query?: string): Promise => { const orientation = await getCookie(Cookies.orientation) if (query) { return ".videos_grid li" } if (orientation && ((orientation.value == RedTubeOrientations.gay) || (orientation.value == RedTubeOrientations.trans))) { return "#block_browse li" } return "#most_recent_videos li" } export const getRedTubeMediaUrlList = async (url: string, sessionCookie: string): Promise => { const headersWithCookie = getHeadersWithCookie(REDTUBE_BASE_URL, sessionCookie) let videos: VideoSourceItem[] = [] await axios.get(url, headersWithCookie) .then(async response => { if (response.data) { videos = await response.data.map((elem: MindGeekVideoSrcElem) => ({ src: elem?.videoUrl, type: 'video/mp4', size: elem?.quality })) as VideoSourceItem[] return videos } else { return [] } }) .catch(error => console.log(error)) return videos }