6
6
<Markdown use =" category-title" unwrap =" p" />
7
7
</h2 >
8
8
</div >
9
- <div v-if =" partners && partners.length " class =" grid sm:grid-cols-2 lg:grid-cols-3 gap-6" >
9
+ <div v-if =" partners" class =" grid sm:grid-cols-2 lg:grid-cols-3 gap-6" >
10
10
<LogoCard v-for =" partner in partners" :key =" partner.id" :item =" partner" >
11
11
<template #footer >
12
12
<PartnerServices :services =" partner.profile.services" class =" text-sm mt-4" />
17
17
</template >
18
18
19
19
<script lang="ts">
20
- import { defineComponent , useContext , ref , onMounted } from ' @nuxtjs/composition-api'
20
+ import { defineComponent , ref , onMounted } from ' @nuxtjs/composition-api'
21
21
import { scrollToHeading } from ' @docus/theme/runtime'
22
- import { $fetch } from ' ohmyfetch '
22
+ import { usePartners } from ' ~/plugins/partners '
23
23
24
24
export default defineComponent ({
25
25
props: {
@@ -33,17 +33,20 @@ export default defineComponent({
33
33
}
34
34
},
35
35
setup(props ) {
36
- const { $config } = useContext ()
37
- const partners = ref (null )
36
+ const { fetch : fetchPartners } = usePartners ()
37
+ const partners = ref ([] )
38
38
39
- const fetch = async () => {
40
- const apiURL = $config .apiNuxtlabsURL || ' https://api.nuxtlabs.com'
39
+ onMounted (async () => {
40
+ if (window .location .hash ) {
41
+ const hash = window .location .hash .replace (' #' , ' ' )
42
+
43
+ // do not remove setTimeout (wrong scroll pos)
44
+ setTimeout (() => {
45
+ scrollToHeading (hash , ' --docs-scroll-margin-block' )
46
+ }, 300 )
47
+ }
41
48
42
- const results = await $fetch (` ${apiURL }/api/partners ` , {
43
- params: {
44
- type: props .category
45
- }
46
- })
49
+ const results = await fetchPartners (props .category )
47
50
// mapping for LogoCard
48
51
partners .value = results .map (partner => ({
49
52
... partner ,
@@ -55,19 +58,6 @@ export default defineComponent({
55
58
title: partner .name ,
56
59
description: partner .profile .shortDescription
57
60
}))
58
- }
59
-
60
- onMounted (() => {
61
- fetch ()
62
-
63
- if (window .location .hash ) {
64
- const hash = window .location .hash .replace (' #' , ' ' )
65
-
66
- // do not remove setTimeout (wrong scroll pos)
67
- setTimeout (() => {
68
- scrollToHeading (hash , ' --docs-scroll-margin-block' )
69
- }, 300 )
70
- }
71
61
})
72
62
73
63
return {
0 commit comments