diff --git a/apps/frontend/src/components/ui/NewsletterButton.vue b/apps/frontend/src/components/ui/NewsletterButton.vue
index 3766b83bb1..9427f79de7 100644
--- a/apps/frontend/src/components/ui/NewsletterButton.vue
+++ b/apps/frontend/src/components/ui/NewsletterButton.vue
@@ -1,19 +1,42 @@
-
-
diff --git a/apps/frontend/src/components/ui/create/CreateLimitAlert.vue b/apps/frontend/src/components/ui/create/CreateLimitAlert.vue
index 35a89692c1..8dbc296769 100644
--- a/apps/frontend/src/components/ui/create/CreateLimitAlert.vue
+++ b/apps/frontend/src/components/ui/create/CreateLimitAlert.vue
@@ -44,8 +44,11 @@
import { MessageIcon } from '@modrinth/assets'
import { Admonition, ButtonStyled, defineMessages, useVIntl } from '@modrinth/ui'
import { capitalizeString } from '@modrinth/utils'
+import { useQuery } from '@tanstack/vue-query'
import { computed, watch } from 'vue'
+import { useBaseFetch } from '~/composables/fetch.js'
+
const { formatMessage } = useVIntl()
const messages = defineMessages({
@@ -121,10 +124,10 @@ const apiEndpoint = computed(() => {
}
})
-const { data: limits } = await useAsyncData(
- `limits-${props.type}`,
- () => useBaseFetch(apiEndpoint.value, { apiVersion: 3 }) as Promise,
-)
+const { data: limits } = useQuery({
+ queryKey: computed(() => ['limits', props.type]),
+ queryFn: () => useBaseFetch(apiEndpoint.value, { apiVersion: 3 }) as Promise,
+})
const typeName = computed<{ singular: string; plural: string }>(() => {
switch (props.type) {
diff --git a/apps/frontend/src/components/ui/report/ReportView.vue b/apps/frontend/src/components/ui/report/ReportView.vue
index 67594cbb92..57227bf586 100644
--- a/apps/frontend/src/components/ui/report/ReportView.vue
+++ b/apps/frontend/src/components/ui/report/ReportView.vue
@@ -21,9 +21,13 @@