mirror of
https://github.com/vercel/commerce.git
synced 2025-05-12 12:47:50 +00:00
38 lines
1.7 KiB
TypeScript
38 lines
1.7 KiB
TypeScript
import { ReadonlyURLSearchParams } from 'next/navigation';
|
|
import { getCollectionProducts, getProducts } from './shopify';
|
|
|
|
const wardrobeConditions = ['hidden-product', 't-shirt']
|
|
const wallConditions = ['hidden-product', 'wall']
|
|
|
|
export const createUrl = (pathname: string, params: URLSearchParams | ReadonlyURLSearchParams) => {
|
|
const paramsString = params.toString();
|
|
const queryString = `${paramsString.length ? '?' : ''}${paramsString}`;
|
|
|
|
return `${pathname}${queryString}`;
|
|
}
|
|
|
|
export async function getLiveWardrobeProducts(query: Parameters<typeof getProducts>[0]) {
|
|
const products = await getProducts(query);
|
|
const liveProducts = products.filter((product) => !product.tags.includes('hidden-product') && product.tags.includes('tshirt'));
|
|
return liveProducts;
|
|
}
|
|
|
|
export async function getLiveWallProducts(query: Parameters<typeof getProducts>[0]) {
|
|
const products = await getProducts(query);
|
|
const liveProducts = products.filter((product) => !product.tags.includes('hidden-product') && product.tags.includes('wall'));
|
|
return liveProducts;
|
|
}
|
|
|
|
export async function getLiveCollectionProducts(query: Parameters<typeof getCollectionProducts>[0]) {
|
|
const products = await getCollectionProducts(query);
|
|
const liveProducts = products.filter((product) => !product.tags.includes('hidden-product'));
|
|
return liveProducts;
|
|
}
|
|
|
|
export async function getAllLiveProducts(query?: Parameters<typeof getProducts>[0]) {
|
|
const searchQuery = query || { query: undefined, reverse: undefined, sortKey: undefined}
|
|
const products = await getProducts(searchQuery);
|
|
const liveProducts = products.filter((product) => !product.tags.includes('hidden-product'));
|
|
return liveProducts
|
|
}
|