{"version":3,"file":"AudioSection-8JUvCI2E.js","sources":["../../src/queries/AudioQuery.js","../../src/queries/GetAudioSection.js","../../src/components/audio/AudioSection.vue"],"sourcesContent":["export const audioQuery = `\n nodes {\n __typename\n ... on Audio_track {\n databaseId\n duration\n featuredImage {\n node {\n altText\n sourceUrl\n }\n }\n imageSrcset\n slug\n tags {\n nodes {\n name\n slug\n }\n }\n title\n }\n ... on Audio_playlist {\n databaseId\n duration\n featuredImage {\n node {\n altText\n sourceUrl\n }\n }\n imageSrcset\n slug\n title\n tags {\n nodes {\n name\n slug\n }\n }\n tracks {\n trackId\n }\n }\n }\n`;\n","import { audioQuery } from '@/queries/AudioQuery';\nimport gql from 'graphql-tag';\nimport { paginationQuery } from '@/queries/PaginationQuery';\n\nexport const audioSectionQuery = gql`\n query getAllAudio(\n $filter: String,\n $limit: Int,\n $paged: Int,\n $tag: String,\n $subType: String,\n $subTypeValue: String,\n $type: String\n ) {\n allAudio(\n first: $limit,\n where: { orderby: { field: DATE, order: DESC }, paged: $paged, tag: $tag }\n ) {\n ${audioQuery}\n }\n ${paginationQuery}\n }\n`;\n","<template>\n <AudioGrid\n v-if=\"audioData && audioData.length\"\n :audio-data=\"audioData\"\n :page=\"page\"\n :tag=\"tag\"\n :tag-name=\"getTagName\"\n :total-page-count=\"pageCount\"\n ></AudioGrid>\n</template>\n\n<script setup lang=\"ts\">\nimport AudioGrid from '@/components/audio/AudioGrid.vue';\nimport { audioSectionQuery } from '@/queries/GetAudioSection';\nimport { BootStrap } from '@/types/global.interface';\nimport { computed, inject, ref } from 'vue';\nimport { dataLoaded, useHandleError, useMetaData } from '@/composables/Common.js';\nimport { NameSlug } from '@/types/common.interface';\nimport { PageTag } from '../../types/audio.interface';\nimport { storeToRefs } from 'pinia';\nimport { useMainStore } from '@/stores/mainStore.js';\nimport { useQuery } from 'villus';\n\nconst props = withDefaults(\n defineProps<PageTag>(),\n { page: 1 }\n);\n\nconst bootstrap = inject<BootStrap>('bootstrap');\n\nconst { handleError } = useHandleError();\nconst { setMetaDescription, setMetaTitle } = useMetaData();\n\nconst store = useMainStore();\nconst { useBootstrap } = storeToRefs(store);\n\nconst audioData = ref([]);\nconst limit = 27;\nconst shouldSkip = ref(false);\nconst total = ref(0);\n\nconst getTagName = computed(() => {\n if (audioData.value.length) {\n const selected = audioData.value[0].tags.nodes.filter(\n (tag: NameSlug) => props.tag === tag.slug\n );\n\n return selected.length ? selected[0].name : '';\n }\n\n return '';\n});\nconst pageCount = computed(() => Math.ceil(total.value / limit));\n\nconst queryVariables = {\n limit: limit,\n paged: +props.page,\n subType: props.tag ? 'post_tag' : 'all_audio',\n subTypeValue: props.tag || null,\n tag: props.tag || null,\n type: 'audio',\n};\n\nconst { data } = useQuery({\n onData: data => {\n if (data && Object.keys(data).length) {\n if (data.allAudio.nodes && data.allAudio.nodes.length) {\n audioData.value = data.allAudio.nodes;\n total.value = data.totalCount;\n setMetaTitle('Audio');\n setMetaDescription();\n dataLoaded();\n }\n\n if (!data.allAudio.nodes.length) {\n handleError('AudioSection', `Page ${props.page}, limit ${limit}, tag ${props.tag}`);\n }\n }\n },\n query: audioSectionQuery,\n skip: isNaN(props.page) || shouldSkip,\n variables: queryVariables,\n});\n\nif (isNaN(props.page)) {\n handleError('AudioSection', `Page ${props.page}, limit ${limit}, tag ${props.tag}`);\n}\n\nif (isNaN(props.page)) {\n handleError('AudioSection', `Page ${props.page}, limit ${limit}, tag ${props.tag}`);\n}\n\nif (useBootstrap.value) {\n shouldSkip.value = true;\n\n if (\n bootstrap &&\n bootstrap.initial.main.posts &&\n Object.keys(bootstrap.initial.main.posts).length\n ) {\n audioData.value = bootstrap.initial.main.posts;\n total.value = bootstrap.initial.main.pagination.total_posts;\n setMetaTitle('Audio');\n setMetaDescription();\n dataLoaded();\n }\n\n if (\n bootstrap &&\n (!bootstrap.initial.main.posts || Object.keys(bootstrap.initial.main.posts).length === 0)\n ) {\n shouldSkip.value = false;\n }\n}\n\nif (!useBootstrap.value) {\n shouldSkip.value = false;\n}\n</script>\n\n<script lang=\"ts\">\nexport default {\n beforeRoute(params, villusClient) {\n return new Promise<void>((resolve, reject) => {\n villusClient\n .executeQuery({\n query: audioSectionQuery,\n variables: {\n limit: 27,\n paged: params.page ? +params.page : 1,\n subType: params.tag ? 'post_tag' : 'all_audio',\n subTypeValue: params.tag || null,\n tag: params.tag || null,\n type: 'audio',\n },\n })\n .then(() => resolve())\n .catch((err) => reject(err));\n });\n },\n};\n</script>\n"],"names":["audioQuery","audioSectionQuery","gql","paginationQuery","__default__","params","villusClient","resolve","reject","err","props","__props","bootstrap","inject","handleError","useHandleError","setMetaDescription","setMetaTitle","useMetaData","store","useMainStore","useBootstrap","storeToRefs","audioData","ref","limit","shouldSkip","total","getTagName","computed","selected","tag","pageCount","queryVariables","useQuery","data","dataLoaded"],"mappings":"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"}