Refactor module query in one component

This commit is contained in:
Ramon Wenger 2023-07-27 17:10:28 +02:00
parent e726dcc073
commit 526faac179
2 changed files with 18 additions and 21 deletions

View File

@ -7,29 +7,11 @@
</nav>
</template>
<script>
<script setup lang="ts">
import BackLink from '@/components/BackLink.vue';
import { moduleQuery } from '@/graphql/queries';
import { getModule } from '@/graphql/queries';
import me from '@/mixins/me';
export default {
apollo: {
module: moduleQuery,
},
mixins: [me],
components: {
BackLink,
},
data() {
return {
module: {},
};
},
};
const { module } = getModule();
</script>
<style scoped lang="scss">

View File

@ -1,5 +1,8 @@
import MODULE_DETAILS_QUERY from './gql/queries/modules/moduleDetailsQuery.gql';
import ME_QUERY from './gql/queries/meQuery.gql';
import { useRoute } from 'vue-router';
import { computed, watch } from 'vue';
import { useQuery } from '@vue/apollo-composable';
export function moduleQuery() {
return {
@ -10,8 +13,20 @@ export function moduleQuery() {
};
}
const getModule = () => {
const route = useRoute();
const { result } = useQuery(MODULE_DETAILS_QUERY, {
slug: route.params.slug,
});
const module = computed(() => result.value?.module || {});
return { module };
};
export function meQuery() {
return {
query: ME_QUERY,
};
}
export { getModule };