Merge pull request #52 from CareerPlug/CP-12312-mobile-preview

CP-12312 / mobile preview
pull/608/head
Julie Graceffa 1 month ago committed by GitHub
commit 03ba89586e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -90,6 +90,18 @@
:height="20" :height="20"
/> />
</button> </button>
<button
v-if="!isFormVisible && !isCompleted && isMobile"
id="expand_form_button_x"
class="btn btn-neutral flex text-white fixed top-4 right-4 z-40"
:title="t('preview')"
@click.prevent="isFormVisible = true"
>
<IconX
:width="20"
:height="20"
/>
</button>
<div <div
v-show="isFormVisible" v-show="isFormVisible"
id="form_container" id="form_container"
@ -97,10 +109,22 @@
:style="formContainerStyle" :style="formContainerStyle"
> >
<button <button
v-if="!isCompleted" v-if="!isCompleted && isFormVisible && isMobile && currentField?.type !== 'signature'"
id="close_form_button"
class="absolute right-0 top-0 minimize-form-button mr-2 mt-2"
:title="t('preview')"
@click.prevent="minimizeForm"
>
<IconEye
:width="20"
:height="20"
/>
</button>
<button
v-if="!isCompleted && isFormVisible && !isMobile"
id="minimize_form_button" id="minimize_form_button"
class="absolute right-0 top-0 minimize-form-button" class="absolute right-0 top-0 minimize-form-button"
:class="currentField?.description?.length > 100 ? 'mr-1 mt-1 md:mr-2 md:mt-2': 'mr-2 mt-2 hidden md:block'" :class="currentField?.description?.length > 100 ? 'mr-1 mt-1 md:mr-2 md:mt-2': 'mr-2 mt-2'"
:title="t('minimize')" :title="t('minimize')"
@click.prevent="minimizeForm" @click.prevent="minimizeForm"
> >
@ -598,7 +622,7 @@ import DateStep from './date_step'
import MarkdownContent from './markdown_content' import MarkdownContent from './markdown_content'
import InviteForm from './invite_form' import InviteForm from './invite_form'
import FormCompleted from './completed' import FormCompleted from './completed'
import { IconInnerShadowTop, IconArrowsDiagonal, IconWritingSign, IconArrowsDiagonalMinimize2 } from '@tabler/icons-vue' import { IconInnerShadowTop, IconArrowsDiagonal, IconWritingSign, IconArrowsDiagonalMinimize2, IconX, IconEye } from '@tabler/icons-vue'
import AppearsOn from './appears_on' import AppearsOn from './appears_on'
import i18n from './i18n' import i18n from './i18n'
@ -647,6 +671,8 @@ export default {
MarkdownContent, MarkdownContent,
PaymentStep, PaymentStep,
IconArrowsDiagonalMinimize2, IconArrowsDiagonalMinimize2,
IconX,
IconEye,
FormCompleted FormCompleted
}, },
provide () { provide () {

@ -44,6 +44,7 @@ const en = {
minimize: 'Minimize', minimize: 'Minimize',
payment: 'Payment', payment: 'Payment',
phone: 'Phone', phone: 'Phone',
preview: 'Preview',
start_now: 'Start Now', start_now: 'Start Now',
continue: 'Continue', continue: 'Continue',
sign_now: 'Sign Now', sign_now: 'Sign Now',

@ -88,14 +88,13 @@
{{ t('clear') }} {{ t('clear') }}
</a> </a>
<a <a
:title="t('minimize')" :title="t('preview')"
href="#" href="#"
class="py-1.5 inline md:hidden" class="btn btn-outline btn-sm font-medium inline md:hidden flex items-center justify-center"
@click.prevent="$emit('minimize')" @click.prevent="$emit('minimize')"
> >
<IconArrowsDiagonalMinimize2 <IconEye
:width="20" :width="18"
:height="20"
/> />
</a> </a>
</div> </div>
@ -145,7 +144,7 @@
<script> <script>
import { cropCanvasAndExportToPNG } from './crop_canvas' import { cropCanvasAndExportToPNG } from './crop_canvas'
import { IconReload, IconTextSize, IconUpload, IconSignature, IconArrowsDiagonalMinimize2 } from '@tabler/icons-vue' import { IconReload, IconTextSize, IconUpload, IconSignature, IconEye } from '@tabler/icons-vue'
import SignaturePad from 'signature_pad' import SignaturePad from 'signature_pad'
import AppearsOn from './appears_on' import AppearsOn from './appears_on'
import MarkdownContent from './markdown_content' import MarkdownContent from './markdown_content'
@ -162,7 +161,7 @@ export default {
IconTextSize, IconTextSize,
IconSignature, IconSignature,
MarkdownContent, MarkdownContent,
IconArrowsDiagonalMinimize2 IconEye
}, },
inject: ['baseUrl', 't'], inject: ['baseUrl', 't'],
props: { props: {

@ -84,6 +84,16 @@
<IconReload :width="16" /> <IconReload :width="16" />
{{ t(format === 'upload' ? 'reupload' : 'redraw') }} {{ t(format === 'upload' ? 'reupload' : 'redraw') }}
</a> </a>
<a
href="#"
:title="t('preview')"
class="btn btn-outline btn-sm font-medium inline md:hidden flex items-center justify-center"
@click.prevent="$emit('minimize')"
>
<IconEye
:width="18"
/>
</a>
<span <span
v-if="withQrButton && !modelValue && !computedPreviousValue && format !== 'typed' && format !== 'upload'" v-if="withQrButton && !modelValue && !computedPreviousValue && format !== 'typed' && format !== 'upload'"
class=" tooltip" class=" tooltip"
@ -101,17 +111,6 @@
/> />
</a> </a>
</span> </span>
<a
href="#"
:title="t('minimize')"
class="py-1.5 inline md:hidden"
@click.prevent="$emit('minimize')"
>
<IconArrowsDiagonalMinimize2
:width="20"
:height="20"
/>
</a>
</div> </div>
</div> </div>
<div <div
@ -290,7 +289,7 @@
</template> </template>
<script> <script>
import { IconReload, IconCamera, IconSignature, IconTextSize, IconArrowsDiagonalMinimize2, IconQrcode, IconX } from '@tabler/icons-vue' import { IconReload, IconCamera, IconSignature, IconTextSize, IconEye, IconQrcode, IconX } from '@tabler/icons-vue'
import { cropCanvasAndExportToPNG } from './crop_canvas' import { cropCanvasAndExportToPNG } from './crop_canvas'
import { isValidSignatureCanvas } from './validate_signature' import { isValidSignatureCanvas } from './validate_signature'
import SignaturePad from 'signature_pad' import SignaturePad from 'signature_pad'
@ -315,7 +314,7 @@ export default {
IconX, IconX,
IconTextSize, IconTextSize,
IconSignature, IconSignature,
IconArrowsDiagonalMinimize2 IconEye
}, },
inject: ['baseUrl', 't'], inject: ['baseUrl', 't'],
props: { props: {

Loading…
Cancel
Save