<template> <div class="mb-20"> <div class="mb-6 pb-6 border-b w-full flex flex-col sm:flex-row gap-2"> <regenerate-form-link class="sm:w-1/2 flex" :form="props.form"/> <url-form-prefill class="sm:w-1/2" :form="props.form" :extra-query-param="shareUrlForQueryParams"/> <embed-form-as-popup-modal class="sm:w-1/2 flex" :form="props.form"/> </div> <share-link class="mt-4" :form="props.form" :extra-query-param="shareUrlForQueryParams"/> <embed-code class="mt-6" :form="props.form" :extra-query-param="shareUrlForQueryParams"/> <form-qr-code class="mt-6" :form="props.form" :extra-query-param="shareUrlForQueryParams"/> <advanced-form-url-settings :form="props.form" v-model="shareFormConfig"/> </div> </template> <script setup> import ShareLink from '~/components/pages/forms/show/ShareLink.vue' import EmbedCode from '~/components/pages/forms/show/EmbedCode.vue' import FormQrCode from '~/components/pages/forms/show/FormQrCode.vue' import UrlFormPrefill from '~/components/pages/forms/show/UrlFormPrefill.vue' import RegenerateFormLink from '~/components/pages/forms/show/RegenerateFormLink.vue' import AdvancedFormUrlSettings from '~/components/open/forms/components/AdvancedFormUrlSettings.vue' import EmbedFormAsPopupModal from '~/components/pages/forms/show/EmbedFormAsPopupModal.vue' const props = defineProps({ form: {type: Object, required: true} }) definePageMeta({ middleware: "auth" }) useOpnSeoMeta({ title: (props.form) ? 'Share Form - ' + props.form.title : 'Share Form' }) const shareFormConfig = ref({ hide_title: false, auto_submit: false }) const shareUrlForQueryParams = computed(() => { let queryStr = '' for (const [key, value] of Object.entries(shareFormConfig.value)) { if (value && value !== 'false' && value !== false) { queryStr += '&' + encodeURIComponent(key) + "=" + encodeURIComponent(value) } } return queryStr.slice(1) }) </script>