This commit is contained in:
2023-08-12 15:54:23 +02:00
parent 3dcd5f1ef6
commit b90829a543
18 changed files with 631 additions and 24 deletions

View File

@@ -0,0 +1,63 @@
import type { Education, JsonParsedContent, Post, Project, Skill, WorkExperience } from '../../types'
export function useProjects() {
return useAsyncData('content:projects', () => {
return queryContent<Project>('projects').find()
})
}
export function useLatestProject() {
return useAsyncData('content:latestProject', () => {
return queryContent<Project>('projects')
.where({
latest: true,
})
.limit(1)
.findOne()
})
}
export function useEducations() {
return useAsyncData('content:educations', () => {
return queryContent<Education>('educations')
.sort({
endDate: -1,
})
.find()
})
}
export function useWorkExperiences() {
return useAsyncData('content:experiences', () => {
return queryContent<WorkExperience>('experiences')
.sort({
endDate: -1,
})
.find()
})
}
export function useSkills() {
return useAsyncData('content:skills', () => queryContent<JsonParsedContent<Skill[]>>('skills').findOne())
}
export function usePosts() {
return useAsyncData('content:posts', () => {
return queryContent<Post>('writing')
.sort({
publishedAt: -1,
})
.find()
})
}
export function useLatestPost() {
return useAsyncData('content:latestPost', () => {
return queryContent<Post>('writing')
.sort({
publishedAt: -1,
})
.limit(1)
.find()
})
}