@@ -3,6 +3,7 @@ import { VideoPlayer } from '@videojs-player/vue'
33import ' video.js/dist/video-js.css'
44
55const { data : page } = await useAsyncData (' page-index' , () => queryCollection (' index' ).first ())
6+ const dataStore = useDataStore ()
67
78const title = page .value ?.seo ?.title || page .value ?.title
89const description = page .value ?.seo ?.description || page .value ?.description
@@ -19,8 +20,8 @@ const { isMobile } = useDevice()
1920
2021const videoReady = ref (false )
2122
22- const projects = ref <ProjectExportItem []>([])
23- const contributors = ref <ContributorItem []>([])
23+ const projects = ref <Project []>([])
24+ const contributors = ref <Contributor []>([])
2425
2526const loadingProjects = ref (true )
2627const loadingContributors = ref (true )
@@ -49,16 +50,12 @@ onMounted(async () => {
4950 isClient .value = true
5051
5152 try {
52- const projectData = await useProjects ({
53+ projects . value = dataStore . getProjects ({
5354 itemsToShow: page .value ?.projects ?.itemsToShow || 6 ,
5455 featured: page .value ?.projects ?.featured || [],
5556 sortBy: page .value ?.projects ?.sortBy || ' stars'
5657 })
5758
58- projects .value = projectData
59-
60- console .log (' Projects loaded:' , projects .value )
61-
6259 await new Promise (resolve => setTimeout (resolve , 300 ))
6360 } catch (error ) {
6461 console .error (' Error loading projects:' , error )
@@ -71,9 +68,7 @@ onMounted(async () => {
7168 }
7269
7370 try {
74- const contributorData = await useContributors ()
75-
76- contributors .value = contributorData
71+ contributors .value = dataStore .getContributors ()
7772
7873 await new Promise (resolve => setTimeout (resolve , 300 ))
7974 } catch (error ) {
@@ -156,16 +151,15 @@ onMounted(async () => {
156151 <NuxtLink
157152 v-for =" item in batchOne"
158153 :key =" item.id"
159- :to =" item.html_url "
154+ :to =" item.to "
160155 target =" _blank"
161156 class =" flex items-center"
162157 >
163158 <UAvatar
164- :src =" item.avatar_url"
165- :alt =" item.login"
159+ v-bind =" item.avatar"
166160 class =" mr-2"
167161 />
168- <span >{{ item.login }}</span >
162+ <span >{{ item.avatar?.alt }}</span >
169163 </NuxtLink >
170164 </template >
171165
@@ -193,16 +187,15 @@ onMounted(async () => {
193187 <NuxtLink
194188 v-for =" item in batchTwo"
195189 :key =" item.id"
196- :to =" item.html_url "
190+ :to =" item.to "
197191 target =" _blank"
198192 class =" flex items-center"
199193 >
200194 <UAvatar
201- :src =" item.avatar_url"
202- :alt =" item.login"
195+ v-bind =" item.avatar"
203196 class =" mr-2"
204197 />
205- <span >{{ item.login }}</span >
198+ <span >{{ item.avatar?.alt }}</span >
206199 </NuxtLink >
207200 </template >
208201
0 commit comments