96 lines
3 KiB
JavaScript
96 lines
3 KiB
JavaScript
import { u as useQuery } from "../_libs/react+tanstack__react-query.mjs";
|
|
import { n as trpc } from "./trpc-client-CQOIB5UU.mjs";
|
|
import { t as axios } from "../_libs/axios+[...].mjs";
|
|
//#region node_modules/.nitro/vite/services/ssr/assets/prominent-api-hooks-CNVDntUD.js
|
|
var CACHE_FILENAMES = {
|
|
products: "products.json",
|
|
stores: "stores.json",
|
|
slots: "slots.json",
|
|
essentialConsts: "essential-consts.json",
|
|
banners: "banners.json"
|
|
};
|
|
var useGetEssentialConsts = () => {
|
|
const query = trpc.common.essentialConsts.useQuery(void 0, { refetchInterval: 6e4 });
|
|
return {
|
|
...query,
|
|
refetch: query.refetch
|
|
};
|
|
};
|
|
function useCacheUrl(filename) {
|
|
const { data: essentialConsts } = useGetEssentialConsts();
|
|
const assetsDomain = essentialConsts?.assetsDomain;
|
|
const apiCacheKey = essentialConsts?.apiCacheKey;
|
|
const cacheVersion = essentialConsts?.cacheVersion;
|
|
if (!assetsDomain || !apiCacheKey || cacheVersion === void 0 || cacheVersion === null) return null;
|
|
return `${assetsDomain}${apiCacheKey}/v-${cacheVersion}/${filename}`;
|
|
}
|
|
function useAllProducts() {
|
|
const cacheUrl = useCacheUrl(CACHE_FILENAMES.products);
|
|
return useQuery({
|
|
queryKey: ["all-products", cacheUrl],
|
|
queryFn: async () => {
|
|
if (!cacheUrl) throw new Error("Cache URL not available");
|
|
return (await axios.get(cacheUrl)).data;
|
|
},
|
|
staleTime: 6e4,
|
|
enabled: !!cacheUrl
|
|
});
|
|
}
|
|
function useStores() {
|
|
const cacheUrl = useCacheUrl(CACHE_FILENAMES.stores);
|
|
return useQuery({
|
|
queryKey: ["stores", cacheUrl],
|
|
queryFn: async () => {
|
|
if (!cacheUrl) throw new Error("Cache URL not available");
|
|
return (await axios.get(cacheUrl)).data;
|
|
},
|
|
staleTime: 6e4,
|
|
enabled: !!cacheUrl
|
|
});
|
|
}
|
|
function useSlots() {
|
|
const cacheUrl = useCacheUrl(CACHE_FILENAMES.slots);
|
|
return useQuery({
|
|
queryKey: ["slots", cacheUrl],
|
|
queryFn: async () => {
|
|
if (!cacheUrl) throw new Error("Cache URL not available");
|
|
return (await axios.get(cacheUrl + "?v=123")).data;
|
|
},
|
|
staleTime: 6e4,
|
|
enabled: !!cacheUrl
|
|
});
|
|
}
|
|
function useBanners() {
|
|
const cacheUrl = useCacheUrl(CACHE_FILENAMES.banners);
|
|
return useQuery({
|
|
queryKey: ["banners", cacheUrl],
|
|
queryFn: async () => {
|
|
if (!cacheUrl) throw new Error("Cache URL not available");
|
|
return (await axios.get(cacheUrl)).data;
|
|
},
|
|
staleTime: 6e4,
|
|
enabled: !!cacheUrl
|
|
});
|
|
}
|
|
function useStoreWithProducts(storeId) {
|
|
const { data: essentialConsts } = useGetEssentialConsts();
|
|
const assetsDomain = essentialConsts?.assetsDomain;
|
|
const apiCacheKey = essentialConsts?.apiCacheKey;
|
|
const cacheVersion = essentialConsts?.cacheVersion;
|
|
const cacheUrl = assetsDomain && apiCacheKey ? `${assetsDomain}${apiCacheKey}/v-${cacheVersion}/stores/${storeId}.json` : null;
|
|
return useQuery({
|
|
queryKey: [
|
|
"store-with-products",
|
|
storeId,
|
|
cacheUrl
|
|
],
|
|
queryFn: async () => {
|
|
if (!cacheUrl) throw new Error("Cache URL not available");
|
|
return (await axios.get(cacheUrl)).data;
|
|
},
|
|
staleTime: 6e4,
|
|
enabled: !!cacheUrl
|
|
});
|
|
}
|
|
//#endregion
|
|
export { useStores as a, useStoreWithProducts as i, useBanners as n, useSlots as r, useAllProducts as t };
|