{"version":3,"file":"HomePage-DsUWWsUJ.mjs","names":[],"sources":["../src/components/pages/HomePage.vue","../src/components/pages/HomePage.vue"],"sourcesContent":["<template>\n  <section class=\"page-box\">\n    <template v-if=\"0 === rubriquageFilter.length\">\n      <ClassicLazy\n        v-for=\"(c, index) in categories\"\n        :key=\"c.id\"\n        :min-height=\"0\"\n        :init-render-delay=\"2 < index ? 1000 : 0\"\n      >\n        <PodcastInlineList\n          style=\"min-height: 650px\"\n          :iab-id=\"c.id\"\n          :title=\"c.name\"\n          :button-text=\"t('All podcast button', { name: c.name })\"\n        />\n        <template #preview>\n          <div style=\"min-height: 650px\" />\n        </template>\n      </ClassicLazy>\n    </template>\n    \n    <template v-else>\n      <ClassicLazy\n        v-for=\"(r, index) in rubriqueToShow\"\n        :key=\"r.rubriqueId\"\n        :min-height=\"0\"\n        :init-render-delay=\"2 < index ? 1000 : 0\"\n      >\n        <PodcastInlineList\n          style=\"min-height: 650px\"\n          :rubrique-id=\"rubriqueId.concat(r.rubriqueId)\"\n          :title=\"r.name\"\n          :href=\"rubriqueMorePath? rubriqueMorePath+r.rubriqueId: undefined\"\n          :button-text=\"t('All podcast button', { name: r.name })\"\n        />\n        <template #preview>\n          <div style=\"min-height: 650px\" />\n        </template>\n      </ClassicLazy>\n\n      <template v-if=\"rubriqueDisplay && rubriqueDisplay.length > 0\">\n        <router-link\n          v-if=\"rubriqueDisplay.length >= rubriqueMaxDisplay\"\n          :to=\"{\n            name: 'podcasts',\n            query: {\n              iabId: filterStore.filterIab?.id,\n              rubriquesId: rubriqueQueryParam,\n              productor: filterStore.filterOrgaId\n            },\n          }\"\n          class=\"btn btn-primary align-self-center w-fit-content mt-5 m-auto\"\n        >\n          {{ t(\"See more\") }}\n        </router-link>\n        <PodcastInlineList\n          v-else-if=\"displayWithoutRubriques\"\n          :no-rubriquage-id=\"[rubriqueDisplay[0].rubriquageId]\"\n          :rubrique-id=\"rubriqueId\"\n          :title=\"t('Without rubric')\"\n          :button-text=\"\n            t('All podcast button', { name: t('Without rubric') })\n          \"\n        />\n      </template>\n    </template>\n  </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useRubriquesFilterComputed } from \"../composable/route/useRubriquesFilterComputed\";\nimport PodcastInlineList from \"../display/podcasts/PodcastInlineList.vue\";\nimport ClassicLazy from \"../misc/ClassicLazy.vue\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { computed, Ref, ref, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props\ndefineProps({\n  displayWithoutRubriques: { default: true, type: Boolean },\n  rubriqueMorePath: { default: undefined, type: String },\n})\n\n//Data\nconst rubriqueId: Ref<Array<number>> = ref([]);\nconst rubriqueMaxDisplay = ref(20);\n\n\n//Emits\nconst emit = defineEmits([\"categoriesLength\"]);\n  \n\n//Composables\nconst { t } = useI18n();\nconst { rubriqueQueryParam } = useRubriquesFilterComputed();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n\n\n//Computed\nconst rubriqueDisplay = computed(() => {\n  return filterStore.filterRubriqueDisplay.filter(\n    (rubrique: Rubrique) => 0 !== rubrique.podcastCount,\n  );\n});\nconst rubriqueToShow = computed(() => {\n  if (\n    !rubriqueDisplay.value ||\n    rubriqueDisplay.value.length < rubriqueMaxDisplay.value\n  ) {\n    return rubriqueDisplay.value ?? [];\n  }\n  return rubriqueDisplay.value.slice(0, rubriqueMaxDisplay.value);\n});\nconst rubriquageFilter = computed(() => {\n  return filterStore.filterOrgaId ? filterStore.filterRubriquage : [];\n});\nconst categories = computed(() => {\n  let arrayCategories: Array<Category> = [];\n  if (filterStore.filterIab) {\n    return [filterStore.filterIab];\n  }\n  if (filterStore.filterOrgaId) {\n    arrayCategories = generalStore.storedCategoriesOrga.filter((c: Category) => {\n      return c.podcastOrganisationCount;\n    });\n  } else {\n    arrayCategories = generalStore.storedCategories.filter((c: Category) => {\n      if (state.generalParameters.podcastmaker) {\n        return c.podcastOrganisationCount;\n      }\n      return c.podcastCount;\n    });\n  }\n  emit(\"categoriesLength\", arrayCategories.length);\n  return arrayCategories;\n});\n\n\n//Watch\nwatch(()=>filterStore.filterRubrique, () => {\n  updateRubriquageFilter();\n}, {deep: true, immediate: true});\n\n\n//Methods\nfunction updateRubriquageFilter() {\n  const length = filterStore.filterRubrique.length;\n  const rubriquesId: Array<number> = [];\n  for (let index = 0; index < length; index++) {\n    if (0 < filterStore.filterRubrique[index].rubriqueId) {\n      rubriquesId.push(filterStore.filterRubrique[index].rubriqueId);\n    }\n  }\n  rubriqueId.value = rubriquesId;\n}\n\n</script>\n","<template>\n  <section class=\"page-box\">\n    <template v-if=\"0 === rubriquageFilter.length\">\n      <ClassicLazy\n        v-for=\"(c, index) in categories\"\n        :key=\"c.id\"\n        :min-height=\"0\"\n        :init-render-delay=\"2 < index ? 1000 : 0\"\n      >\n        <PodcastInlineList\n          style=\"min-height: 650px\"\n          :iab-id=\"c.id\"\n          :title=\"c.name\"\n          :button-text=\"t('All podcast button', { name: c.name })\"\n        />\n        <template #preview>\n          <div style=\"min-height: 650px\" />\n        </template>\n      </ClassicLazy>\n    </template>\n    \n    <template v-else>\n      <ClassicLazy\n        v-for=\"(r, index) in rubriqueToShow\"\n        :key=\"r.rubriqueId\"\n        :min-height=\"0\"\n        :init-render-delay=\"2 < index ? 1000 : 0\"\n      >\n        <PodcastInlineList\n          style=\"min-height: 650px\"\n          :rubrique-id=\"rubriqueId.concat(r.rubriqueId)\"\n          :title=\"r.name\"\n          :href=\"rubriqueMorePath? rubriqueMorePath+r.rubriqueId: undefined\"\n          :button-text=\"t('All podcast button', { name: r.name })\"\n        />\n        <template #preview>\n          <div style=\"min-height: 650px\" />\n        </template>\n      </ClassicLazy>\n\n      <template v-if=\"rubriqueDisplay && rubriqueDisplay.length > 0\">\n        <router-link\n          v-if=\"rubriqueDisplay.length >= rubriqueMaxDisplay\"\n          :to=\"{\n            name: 'podcasts',\n            query: {\n              iabId: filterStore.filterIab?.id,\n              rubriquesId: rubriqueQueryParam,\n              productor: filterStore.filterOrgaId\n            },\n          }\"\n          class=\"btn btn-primary align-self-center w-fit-content mt-5 m-auto\"\n        >\n          {{ t(\"See more\") }}\n        </router-link>\n        <PodcastInlineList\n          v-else-if=\"displayWithoutRubriques\"\n          :no-rubriquage-id=\"[rubriqueDisplay[0].rubriquageId]\"\n          :rubrique-id=\"rubriqueId\"\n          :title=\"t('Without rubric')\"\n          :button-text=\"\n            t('All podcast button', { name: t('Without rubric') })\n          \"\n        />\n      </template>\n    </template>\n  </section>\n</template>\n\n<script setup lang=\"ts\">\nimport { useRubriquesFilterComputed } from \"../composable/route/useRubriquesFilterComputed\";\nimport PodcastInlineList from \"../display/podcasts/PodcastInlineList.vue\";\nimport ClassicLazy from \"../misc/ClassicLazy.vue\";\nimport { state } from \"../../stores/ParamSdkStore\";\nimport { Rubrique } from \"@/stores/class/rubrique/rubrique\";\nimport { useFilterStore } from \"../../stores/FilterStore\";\nimport { useGeneralStore } from \"../../stores/GeneralStore\";\nimport { computed, Ref, ref, watch } from \"vue\";\nimport { Category } from \"@/stores/class/general/category\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props\ndefineProps({\n  displayWithoutRubriques: { default: true, type: Boolean },\n  rubriqueMorePath: { default: undefined, type: String },\n})\n\n//Data\nconst rubriqueId: Ref<Array<number>> = ref([]);\nconst rubriqueMaxDisplay = ref(20);\n\n\n//Emits\nconst emit = defineEmits([\"categoriesLength\"]);\n  \n\n//Composables\nconst { t } = useI18n();\nconst { rubriqueQueryParam } = useRubriquesFilterComputed();\nconst generalStore = useGeneralStore();\nconst filterStore = useFilterStore();\n\n\n\n//Computed\nconst rubriqueDisplay = computed(() => {\n  return filterStore.filterRubriqueDisplay.filter(\n    (rubrique: Rubrique) => 0 !== rubrique.podcastCount,\n  );\n});\nconst rubriqueToShow = computed(() => {\n  if (\n    !rubriqueDisplay.value ||\n    rubriqueDisplay.value.length < rubriqueMaxDisplay.value\n  ) {\n    return rubriqueDisplay.value ?? [];\n  }\n  return rubriqueDisplay.value.slice(0, rubriqueMaxDisplay.value);\n});\nconst rubriquageFilter = computed(() => {\n  return filterStore.filterOrgaId ? filterStore.filterRubriquage : [];\n});\nconst categories = computed(() => {\n  let arrayCategories: Array<Category> = [];\n  if (filterStore.filterIab) {\n    return [filterStore.filterIab];\n  }\n  if (filterStore.filterOrgaId) {\n    arrayCategories = generalStore.storedCategoriesOrga.filter((c: Category) => {\n      return c.podcastOrganisationCount;\n    });\n  } else {\n    arrayCategories = generalStore.storedCategories.filter((c: Category) => {\n      if (state.generalParameters.podcastmaker) {\n        return c.podcastOrganisationCount;\n      }\n      return c.podcastCount;\n    });\n  }\n  emit(\"categoriesLength\", arrayCategories.length);\n  return arrayCategories;\n});\n\n\n//Watch\nwatch(()=>filterStore.filterRubrique, () => {\n  updateRubriquageFilter();\n}, {deep: true, immediate: true});\n\n\n//Methods\nfunction updateRubriquageFilter() {\n  const length = filterStore.filterRubrique.length;\n  const rubriquesId: Array<number> = [];\n  for (let index = 0; index < length; index++) {\n    if (0 < filterStore.filterRubrique[index].rubriqueId) {\n      rubriquesId.push(filterStore.filterRubrique[index].rubriqueId);\n    }\n  }\n  rubriqueId.value = rubriquesId;\n}\n\n</script>\n"],"mappings":"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"}