bitbadger.solutions-theme/bit-badger-solutions/pages/solutions/index.vue

33 lines
1.1 KiB
Vue

<template>
<article class="content auto">
<h1>All Solutions</h1>
<h2>Active Solutions</h2>
<solution-item v-for="sln in active" :key="sln.slug" :solution="sln" />
<h2>Past Solutions</h2>
<solution-item v-for="sln in inactive" :key="sln.slug" :solution="sln" />
</article>
</template>
<script lang="ts">
import Vue from 'vue'
import { siteTitle } from '../index.vue'
const sortByName = (x: any, y: any): number =>
x.title.toLowerCase() < y.title.toLowerCase() ? -1 : x.title.toLowerCase() > y.title.toLowerCase() ? 1 : 0
export default Vue.extend({
async asyncData ({ $content }) {
const activeSlns = await $content('solutions')
.where({ isInactive: { $ne: true }, noAboutLink: { $ne: true } }).fetch()
const inactiveSlns = await $content('solutions')
.where({ isInactive: true, noAboutLink: { $ne: true } }).fetch()
const active = activeSlns.sort(sortByName)
const inactive = inactiveSlns.sort(sortByName)
return { active, inactive }
},
head () {
return { title: siteTitle('All Solutions') }
}
})
</script>