{"version":3,"file":"ShareModalPlayer-BO3DXgEc.mjs","names":[],"sources":["../src/components/misc/modal/ShareModalPlayer.vue","../src/components/misc/modal/ShareModalPlayer.vue"],"sourcesContent":["<template>\n  <ClassicModal\n    id-modal=\"share-modal\"\n    :title-modal=\"t('Share the player')\"\n    @close=\"closePopup\"\n  >\n    <template #body>\n      <ClassicNav v-model:active-tab=\"activeTab\" :tab-number=\"tabs.length\">\n        <template v-for=\"(tab, index) in tabs\" #[index]>\n          {{ tab }}\n        </template>\n        <template #tab0>\n          <p class=\"word-break-word\">{{ embedLink }}</p>\n          <button\n            class=\"btn-transparent\"\n            :title=\"t('Copy')\"\n            @click=\"onCopyCode(embedLink, afterCopy)\"\n          >\n            <ContentCopyIcon />\n          </button>\n        </template>\n        <template #tab1>\n          <div class=\"d-flex flex-column flex-grow-1\">\n            <div class=\"d-flex justify-content-between align-items-center\">\n              <p class=\"word-break-word\">{{ embedlyLink }}</p>\n              <button\n                class=\"btn-transparent\"\n                :title=\"t('Copy')\"\n                @click=\"onCopyCode(embedlyLink, afterCopy)\"\n              >\n                <ContentCopyIcon />\n              </button>\n            </div>\n            <QrCode :url=\"embedlyLink\" />\n          </div>\n        </template>\n        <template v-if=\"directLink\" #tab2>\n          <p class=\"word-break-word\">{{ directLink.audioUrl }}</p>\n          <button\n            class=\"btn-transparent\"\n            :title=\"t('Copy')\"\n            @click=\"onCopyCode(directLink.audioUrl, snackbarRef)\"\n          >\n            <ContentCopyIcon />\n          </button>\n        </template>\n      </ClassicNav>\n    </template>\n    <template #footer>\n      <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n        {{ t(\"Close\") }}\n      </button>\n    </template>\n  </ClassicModal>\n  <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n</template>\n\n<script setup lang=\"ts\">\nimport ContentCopyIcon from \"vue-material-design-icons/ContentCopy.vue\";\nimport SnackBar from \"../SnackBar.vue\";\nimport displayHelper from \"../../../helper/displayHelper\";\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport ClassicNav from \"../ClassicNav.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { computed, ref, useTemplateRef } from \"vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n  embedLink: { default: undefined, type: String },\n  embedlyLink: { default: undefined, type: String },\n  directLink: { default: undefined, type: Object as () => Podcast },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n\n//Data \nconst activeTab = ref(0);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst tabs = computed(() => {\n  if (props.directLink) {\n    return [t(\"Embed link\"),t(\"Embedly link\"),t(\"Direct link\"),];\n  }\n  return [t(\"Embed link\"), t(\"Embedly link\")];\n});\n\n\n//Methods\nfunction onCopyCode(link: string, callback: () => void){\n  displayHelper.onCopyCode(link, callback);\n}\nfunction closePopup(): void {\n  emit(\"close\");\n}\nfunction afterCopy(): void {\n  (snackBarRef?.value as InstanceType<typeof SnackBar>).open(t(\"Data in clipboard\"),);\n}\n</script>\n","<template>\n  <ClassicModal\n    id-modal=\"share-modal\"\n    :title-modal=\"t('Share the player')\"\n    @close=\"closePopup\"\n  >\n    <template #body>\n      <ClassicNav v-model:active-tab=\"activeTab\" :tab-number=\"tabs.length\">\n        <template v-for=\"(tab, index) in tabs\" #[index]>\n          {{ tab }}\n        </template>\n        <template #tab0>\n          <p class=\"word-break-word\">{{ embedLink }}</p>\n          <button\n            class=\"btn-transparent\"\n            :title=\"t('Copy')\"\n            @click=\"onCopyCode(embedLink, afterCopy)\"\n          >\n            <ContentCopyIcon />\n          </button>\n        </template>\n        <template #tab1>\n          <div class=\"d-flex flex-column flex-grow-1\">\n            <div class=\"d-flex justify-content-between align-items-center\">\n              <p class=\"word-break-word\">{{ embedlyLink }}</p>\n              <button\n                class=\"btn-transparent\"\n                :title=\"t('Copy')\"\n                @click=\"onCopyCode(embedlyLink, afterCopy)\"\n              >\n                <ContentCopyIcon />\n              </button>\n            </div>\n            <QrCode :url=\"embedlyLink\" />\n          </div>\n        </template>\n        <template v-if=\"directLink\" #tab2>\n          <p class=\"word-break-word\">{{ directLink.audioUrl }}</p>\n          <button\n            class=\"btn-transparent\"\n            :title=\"t('Copy')\"\n            @click=\"onCopyCode(directLink.audioUrl, snackbarRef)\"\n          >\n            <ContentCopyIcon />\n          </button>\n        </template>\n      </ClassicNav>\n    </template>\n    <template #footer>\n      <button class=\"btn btn-primary m-1\" @click=\"closePopup\">\n        {{ t(\"Close\") }}\n      </button>\n    </template>\n  </ClassicModal>\n  <SnackBar ref=\"snackbar\" position=\"bottom-left\" />\n</template>\n\n<script setup lang=\"ts\">\nimport ContentCopyIcon from \"vue-material-design-icons/ContentCopy.vue\";\nimport SnackBar from \"../SnackBar.vue\";\nimport displayHelper from \"../../../helper/displayHelper\";\nimport ClassicModal from \"../modal/ClassicModal.vue\";\nimport ClassicNav from \"../ClassicNav.vue\";\nimport QrCode from \"../../display/sharing/QrCode.vue\";\nimport { computed, ref, useTemplateRef } from \"vue\";\nimport { Podcast } from \"@/stores/class/general/podcast\";\nimport { useI18n } from \"vue-i18n\";\n\n//Props \nconst props = defineProps({\n  embedLink: { default: undefined, type: String },\n  embedlyLink: { default: undefined, type: String },\n  directLink: { default: undefined, type: Object as () => Podcast },\n})\n\n//Emits\nconst emit = defineEmits([\"close\"]);\n\n//Data \nconst activeTab = ref(0);\nconst snackBarRef = useTemplateRef('snackbar');\n\n//Composables\nconst { t } = useI18n();\n\n//Computed\nconst tabs = computed(() => {\n  if (props.directLink) {\n    return [t(\"Embed link\"),t(\"Embedly link\"),t(\"Direct link\"),];\n  }\n  return [t(\"Embed link\"), t(\"Embedly link\")];\n});\n\n\n//Methods\nfunction onCopyCode(link: string, callback: () => void){\n  displayHelper.onCopyCode(link, callback);\n}\nfunction closePopup(): void {\n  emit(\"close\");\n}\nfunction afterCopy(): void {\n  (snackBarRef?.value as InstanceType<typeof SnackBar>).open(t(\"Data in clipboard\"),);\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqEA,MAAM,QAAQ;EAOd,MAAM,OAAO;EAGb,MAAM,YAAY,IAAI,CAAC;EACvB,MAAM,cAAc,eAAe,UAAU;EAG7C,MAAM,EAAE,MAAM,QAAQ;EAGtB,MAAM,OAAO,eAAe;GAC1B,IAAI,MAAM,YACR,OAAO;IAAC,EAAE,YAAY;IAAE,EAAE,cAAc;IAAE,EAAE,aAAa;GAAE;GAE7D,OAAO,CAAC,EAAE,YAAY,GAAG,EAAE,cAAc,CAAC;EAC5C,CAAC;EAID,SAAS,WAAW,MAAc,UAAqB;GACrD,sBAAc,WAAW,MAAM,QAAQ;EACzC;EACA,SAAS,aAAmB;GAC1B,KAAK,OAAO;EACd;EACA,SAAS,YAAkB;GACzB,CAAC,aAAa,OAAwC,KAAK,EAAE,mBAAmB,CAAE;EACpF;;;;;;;;;;;;;;;;;;;;;;;;;;mBC3Fa,OAAM,kBAAiB;;mBAUrB,OAAM,iCAAgC;mBACpC,OAAM,oDAAmD;mBACzD,OAAM,kBAAiB;;mBAa3B,OAAM,kBAAiB;;;yDApClC,YAoDe,OAAA,iBAAA;EAnDb,YAAS;EACR,eAAa,OAAA,EAAC,kBAAA;EACd,SAAO,OAAA;;EAEG,MAAI,cAwCA,CAvCb,YAuCa,OAAA,eAAA;GAvCO,cAAY,OAAA;+DAAA,OAAA,YAAS;GAAG,cAAY,OAAA,KAAK;;GAIhD,MAAI,cACiC,CAA9C,mBAA8C,KAA9C,YAA8C,gBAAhB,OAAA,SAAS,GAAA,CAAA,GACvC,mBAMS,UAAA;IALP,OAAM;IACL,OAAO,OAAA,EAAC,MAAA;IACR,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,WAAW,OAAA,WAAW,OAAA,SAAS;OAEvC,YAAmB,OAAA,kBAAA,CAAA,GAAA,GAAA,UAAA,CAAA,CAAA;GAGZ,MAAI,cAaP,CAZN,mBAYM,OAZN,YAYM,CAXJ,mBASM,OATN,YASM,CARJ,mBAAgD,KAAhD,YAAgD,gBAAlB,OAAA,WAAW,GAAA,CAAA,GACzC,mBAMS,UAAA;IALP,OAAM;IACL,OAAO,OAAA,EAAC,MAAA;IACR,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,WAAW,OAAA,aAAa,OAAA,SAAS;OAEzC,YAAmB,OAAA,kBAAA,CAAA,GAAA,GAAA,UAAA,CAAA,CAAA,GAGvB,YAA6B,OAAA,WAAA,EAApB,KAAK,OAAA,YAAW,GAAA,MAAA,GAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;iBAzBI,OAAA,OAAf,KAAK,UAAK;;UAAY;sBAC7B,CAAA,gBAAA,gBAAN,GAAG,GAAA,CAAA,CAAA,CAAA;;MA2BQ,OAAA,aAAA;SAAa;qBAC6B,CAAxD,mBAAwD,KAAxD,YAAwD,gBAA1B,OAAA,WAAW,QAAQ,GAAA,CAAA,GACjD,mBAMS,UAAA;IALP,OAAM;IACL,OAAO,OAAA,EAAC,MAAA;IACR,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,OAAA,WAAW,OAAA,WAAW,UAAU,KAAA,WAAW;OAEnD,YAAmB,OAAA,kBAAA,CAAA,GAAA,GAAA,UAAA,CAAA,CAAA;;;EAKhB,QAAM,cAGN,CAFT,mBAES,UAAA;GAFD,OAAM;GAAuB,SAAO,OAAA;qBACvC,OAAA,EAAC,OAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;yBAIV,YAAkD,OAAA,aAAA;EAAxC,KAAI;EAAW,UAAS"}