40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import { XVIDEOS_BASE_URL, XVIDEOS_BASE_URL_GAY, XVIDEOS_BASE_URL_TRANS } from '@/constants/urls';
|
|
import { Cookies, XVideosCatQueryMap, XVideosCategories } from '@/meta/settings';
|
|
import { getCookie } from '@/utils/cookies/read';
|
|
|
|
export const getXVideosQueryUrl = async (query?: string) => {
|
|
|
|
const category = await getCookie(Cookies.category)
|
|
|
|
if (!category && !query) {
|
|
return XVIDEOS_BASE_URL
|
|
}
|
|
|
|
if (!category && query) {
|
|
return `${XVIDEOS_BASE_URL}/?k=${query}`
|
|
}
|
|
|
|
if (category && !Object.values(XVideosCategories).includes(category.value as XVideosCategories)) {
|
|
return XVIDEOS_BASE_URL
|
|
}
|
|
|
|
if (category && !query) {
|
|
switch (category.value) {
|
|
case XVideosCategories.etero:
|
|
return XVIDEOS_BASE_URL
|
|
case XVideosCategories.gay:
|
|
return XVIDEOS_BASE_URL_GAY
|
|
case XVideosCategories.trans:
|
|
return XVIDEOS_BASE_URL_TRANS
|
|
default:
|
|
return XVIDEOS_BASE_URL;
|
|
}
|
|
}
|
|
|
|
if (category && query) {
|
|
return `${XVIDEOS_BASE_URL}/?k=${query}&typef=${XVideosCatQueryMap[category.value as XVideosCategories]}`
|
|
}
|
|
|
|
return XVIDEOS_BASE_URL
|
|
|
|
} |