{"version":3,"mappings":";ghBAEO,MAAMA,EAAkBC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EC6ChBC,EAAA,CACb,YAAYC,EAAQC,EAAc,CAChC,OAAO,IAAI,QAAc,CAACC,EAASC,IAAW,CAC5CF,EACG,aAAa,CACZ,MAAOJ,EACP,UAAW,CACT,KAAMG,EAAO,KACf,CACD,EACA,KAAK,IAAME,GAAS,EACpB,MAAOE,GAAQD,EAAOC,CAAG,CAAC,EAC9B,EAEL,yDA5CA,MAAMC,EAAYC,EAAqB,IAAMC,EAAA,WAAO,yBAAkC,yBAAC,EAEjFC,EAAQC,EAIR,CAAE,YAAAC,CAAY,EAAIC,EAAe,EACjC,CAAE,mBAAAC,EAAoB,aAAAC,CAAa,EAAIC,EAAY,EAEnDC,EAAQC,EAAe,EAEZ,OAAAC,EAAS,CACxB,OAAQC,GAAQ,CACVA,EAAK,YAAc,OAAO,KAAKA,EAAK,UAAU,EAAE,SAClDH,EAAM,MAAQG,EAAK,WACNA,IAAK,WAAW,KAAK,EACfA,IAAK,WAAW,OAAO,EAC/BC,EAAA,IAGT,CAACD,EAAK,YAAc,OAAO,KAAKA,EAAK,UAAU,EAAE,SAAW,IAClDR,EAAA,aAAcF,EAAM,IAAI,CAExC,EACA,MAAOX,EACP,UAAW,CAAE,KAAMW,EAAM,IAAK,CAC/B","names":["audioTrackQuery","gql","__default__","params","villusClient","resolve","reject","err","AudioTags","defineAsyncComponent","__vitePreload","props","__props","handleError","useHandleError","setMetaDescription","setMetaTitle","useMetaData","track","ref","useQuery","data","dataLoaded"],"ignoreList":[],"sources":["../../src/queries/GetAudioTrack.js","../../src/components/audio/AudioTrack.vue"],"sourcesContent":["import gql from 'graphql-tag';\n\nexport const audioTrackQuery = gql`\n  query ($slug: ID!) {\n    audioTrack(id: $slug, idType: SLUG) {\n      __typename\n      content\n      databaseId\n      duration\n      excerpt\n      featuredImage {\n        node {\n          altText\n          description\n          mediaDetails {\n            height\n            width\n          }\n          sourceUrl\n        }\n      }\n      featuredImageWidth\n      imageSrcset\n      fileUrl\n      scApiUrl\n      scCreatedAt\n      tags {\n        nodes {\n          name\n          slug\n        }\n      }\n      title\n      useMp3\n    }\n  }\n`;\n","<template>\n  <div v-if=\"track && Object.keys(track).length\" :class=\"[$style.track, 'container']\">\n    <AudioHeader :audio-data=\"track\" :class=\"$style.header\"></AudioHeader>\n    <ProcessContent wrapper=\"section\" :content=\"track.content\"></ProcessContent>\n    <AudioTags v-if=\"track.tags.nodes.length\" :tags=\"track.tags.nodes\"></AudioTags>\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { AudioData } from '@/types/audio.interface';\nimport AudioHeader from '@/components/audio/AudioHeader.vue';\nimport { audioTrackQuery } from '@/queries/GetAudioTrack';\nimport { defineAsyncComponent, ref } from 'vue';\nimport { dataLoaded, useHandleError, useMetaData } from '@/composables/Common.js';\nimport ProcessContent from '@/components/common/ProcessContent.vue';\nimport { useQuery } from 'villus';\n\nconst AudioTags = defineAsyncComponent(() => import('@/components/audio/AudioTags.vue'));\n\nconst props = defineProps<{\n  slug: string;\n}>();\n\nconst { handleError } = useHandleError();\nconst { setMetaDescription, setMetaTitle } = useMetaData();\n\nconst track = ref<AudioData>();\n\nconst { data } = useQuery({\n  onData: data => {\n    if (data.audioTrack && Object.keys(data.audioTrack).length) {\n      track.value = data.audioTrack;\n      setMetaTitle(data.audioTrack.title);\n      setMetaDescription(data.audioTrack.excerpt);\n      dataLoaded();\n    }\n\n    if (!data.audioTrack || Object.keys(data.audioTrack).length === 0) {\n      handleError('AudioTrack', props.slug);\n    }\n  },\n  query: audioTrackQuery,\n  variables: { slug: props.slug },\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: audioTrackQuery,\n          variables: {\n            slug: params.slug,\n          },\n        })\n        .then(() => resolve())\n        .catch((err) => reject(err));\n    });\n  },\n};\n</script>\n\n<style lang=\"scss\" module>\n@media (min-width: $break-point) {\n  .track {\n    @include grid;\n\n    > * {\n      grid-column: 1 / span 8;\n    }\n\n    .discover-more {\n      grid-column: 1 / span 8;\n    }\n\n    .header {\n      grid-column: span 12;\n    }\n  }\n}\n</style>\n"],"file":"assets/AudioTrack-Cn3HdSjR.js"}