diff --git a/composables/request.ts b/composables/request.ts index b8b6c79..a80223c 100644 --- a/composables/request.ts +++ b/composables/request.ts @@ -31,11 +31,16 @@ export const $dropFetch: DropFetch = async (request, opts) => { if (!getCurrentInstance()?.proxy) { return (await $fetch(request, opts)) as any; } + const id = request.toString(); + + const state = useState(id); + if (state.value) return state.value; + const headers = useRequestHeaders(["cookie"]); - const { data, error } = await useFetch(request, { + const data = await $fetch(request, { ...opts, headers: { ...opts?.headers, ...headers }, } as any); - if (error.value) throw error.value; - return data.value as any; + state.value = data; + return data as any; }; diff --git a/nuxt.config.ts b/nuxt.config.ts index 9b4f574..7a9eb21 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -28,12 +28,6 @@ export default defineNuxtConfig({ "/signout": { prerender: true }, "/api/**": { cors: true }, - - "/api/v1/client/object/*": { - security: { - rateLimiter: false, - }, - }, }, nitro: { @@ -80,5 +74,6 @@ export default defineNuxtConfig({ }, strictTransportSecurity: false, }, + rateLimiter: false }, }); diff --git a/pages/library/index.vue b/pages/library/index.vue index 7a9b153..9924369 100644 --- a/pages/library/index.vue +++ b/pages/library/index.vue @@ -86,10 +86,6 @@ import { import { type Collection, type Game, type GameVersion } from "@prisma/client"; import { PlusIcon } from "@heroicons/vue/20/solid"; -const gamesData = await $dropFetch<(Game & { versions: GameVersion[] })[]>( - "/api/v1/store/recent" -); - const collections = await useCollections(); const collectionCreateOpen = ref(false);