|
8 | 8 | class="!pt-96" |
9 | 9 | > |
10 | 10 | <div class="iframe-wrapper aspect-[3/3.5] w-full sm:aspect-video"> |
11 | | - <Teleport :disabled="!fullscreen" to="#overlay"> |
12 | | - <div |
13 | | - class="iframe-container relative size-full overflow-hidden bg-white shadow" |
14 | | - :class="{ |
15 | | - 'size-screen fixed left-0 top-0': fullscreen, |
16 | | - 'relative rounded-6': !fullscreen |
17 | | - }" |
18 | | - > |
19 | | - <!-- <div v-if="!loaded" class="absolute left-0 top-0 flex size-full flex-col items-center justify-center rounded-6 border-2 border-gray/60 bg-white"> |
| 11 | + <div |
| 12 | + class="iframe-container size-full overflow-hidden bg-white shadow" |
| 13 | + :class="{ |
| 14 | + 'size-screen fixed left-0 top-0 z-[200]': fullscreen, |
| 15 | + 'relative rounded-6': !fullscreen |
| 16 | + }" |
| 17 | + > |
| 18 | + <!-- <div v-if="!loaded" class="absolute left-0 top-0 flex size-full flex-col items-center justify-center rounded-6 border-2 border-gray/60 bg-white"> |
20 | 19 | <h4 class="mb-4"> |
21 | 20 | Looks like something went wrong |
22 | 21 | </h4> |
|
30 | 29 | text="View Map" |
31 | 30 | /> |
32 | 31 | </div> --> |
33 | | - <LoadingState v-if="!loaded" class="absolute-center scale-75" /> |
34 | | - <iframe |
35 | | - v-if="data.iframe" |
36 | | - class="absolute left-0 top-0 z-50 size-full" |
37 | | - :class="{ 'rounded-6': !fullscreen }" |
38 | | - :src="data.iframe" |
39 | | - loading="lazy" |
40 | | - @load="triggerLoad" |
41 | | - /> |
42 | | - <Transition name="fade" mode="out-in"> |
43 | | - <div |
44 | | - v-if="mapOverlayVisible" |
45 | | - class="group absolute left-0 top-0 z-[60] flex size-full cursor-pointer flex-col items-center justify-center bg-blue/90 text-white transition-colors hover:bg-blue/80" |
46 | | - @click="mapOverlayVisible = false" |
47 | | - > |
48 | | - <div class="size-fit transition-transform group-hover:scale-105"> |
49 | | - <h3 class="text-white"> |
50 | | - {{ $t('View locations in') }} <span class="capitalize">{{ useRoute().params.city }}</span> |
51 | | - </h3> |
52 | | - <TheLink variant="info" :text="$t('Open Map')" hide-arrow class="mx-auto mt-16" /> |
53 | | - </div> |
| 32 | + <LoadingState v-if="!loaded" class="absolute-center scale-75" /> |
| 33 | + <iframe |
| 34 | + v-if="data.iframe" |
| 35 | + class="absolute left-0 top-0 z-50 size-full" |
| 36 | + :class="{ 'rounded-6': !fullscreen }" |
| 37 | + :src="data.iframe" |
| 38 | + loading="lazy" |
| 39 | + @load="triggerLoad" |
| 40 | + /> |
| 41 | + <Transition name="fade" mode="out-in"> |
| 42 | + <div |
| 43 | + v-if="mapOverlayVisible" |
| 44 | + class="group absolute left-0 top-0 z-[60] flex size-full cursor-pointer flex-col items-center justify-center bg-blue/90 text-white transition-colors hover:bg-blue/80" |
| 45 | + @click="mapOverlayVisible = false" |
| 46 | + > |
| 47 | + <div class="size-fit transition-transform group-hover:scale-105"> |
| 48 | + <h3 class="text-white"> |
| 49 | + {{ $t('View locations in') }} <span class="capitalize">{{ useRoute().params.city }}</span> |
| 50 | + </h3> |
| 51 | + <TheLink variant="info" :text="$t('Open Map')" hide-arrow class="mx-auto mt-16" /> |
54 | 52 | </div> |
55 | | - </Transition> |
56 | | - <transition name="fade" mode="out-in"> |
57 | | - <button |
58 | | - v-if="loaded" |
59 | | - class="iframe-button grid-row-2 right-24 z-50 grid size-32 cursor-pointer grid-cols-2 rounded-full border-1 border-gray bg-white p-4 shadow-banner" |
| 53 | + </div> |
| 54 | + </Transition> |
| 55 | + <transition name="fade" mode="out-in"> |
| 56 | + <button |
| 57 | + v-if="loaded" |
| 58 | + class="iframe-button grid-row-2 right-24 z-50 grid size-32 cursor-pointer grid-cols-2 rounded-full border-1 border-gray bg-white p-4 shadow-banner" |
| 59 | + :class="{ |
| 60 | + 'absolute top-24': !fullscreen, |
| 61 | + 'fixed !top-104 z-[999] md:!top-24': fullscreen |
| 62 | + }" |
| 63 | + @click="fullscreen = !fullscreen" |
| 64 | + > |
| 65 | + <ArrowExternal |
| 66 | + class="col-start-2 m-1 w-6 self-end " |
60 | 67 | :class="{ |
61 | | - 'absolute top-24': !fullscreen, |
62 | | - 'fixed !top-104 z-[999] md:!top-24': fullscreen |
| 68 | + 'rotate-180': fullscreen |
63 | 69 | }" |
64 | | - @click="fullscreen = !fullscreen" |
65 | | - > |
66 | | - <ArrowExternal |
67 | | - class="col-start-2 m-1 w-6 self-end " |
68 | | - :class="{ |
69 | | - 'rotate-180': fullscreen |
70 | | - }" |
71 | | - /> |
72 | | - <ArrowExternal |
73 | | - class=" m-1 w-6 self-start justify-self-end" |
74 | | - :class="{ |
75 | | - 'rotate-180': !fullscreen |
76 | | - }" |
77 | | - /> |
78 | | - </button> |
79 | | - </transition> |
80 | | - </div> |
81 | | - </Teleport> |
| 70 | + /> |
| 71 | + <ArrowExternal |
| 72 | + class=" m-1 w-6 self-start justify-self-end" |
| 73 | + :class="{ |
| 74 | + 'rotate-180': !fullscreen |
| 75 | + }" |
| 76 | + /> |
| 77 | + </button> |
| 78 | + </transition> |
| 79 | + </div> |
82 | 80 | </div> |
83 | 81 | </BlockWrapper> |
84 | 82 | </template> |
|
0 commit comments