4
4
<!-- Should prevent stuff in the background from being scrolled or interacted with. Click it to close the sidebar -->
5
5
<div id =" overlay" class =" overlay" @click =" closeSidebar" ></div >
6
6
<!-- Header bar -->
7
- <div class =" sticky top-0" >
7
+ <div class =" sticky top-0" style = " z-index : 999 " >
8
8
<div class =" editor-header-upper sticky top-0 bg-white border-b border-black max-h-full" >
9
9
<div class =" flex flex-row justify-between items-center px-3 py-0.5 md:py-0" >
10
10
<div class =" flex flex-row items-center gap-2" >
11
11
<!-- Back to landing page button -->
12
12
<router-link
13
13
:to =" { name: 'home' }"
14
14
class =" "
15
- v-tippy =" {
16
- delay: '200',
17
- placement: 'bottom',
18
- content: $t('editor.returnToLanding'),
19
- animateFill: true,
20
- touch: ['hold', 500]
21
- }"
22
15
target
23
16
:aria-label =" $t('editor.returnToLanding')"
24
17
tabindex =" -1"
25
18
>
26
19
<button
27
- class =" editor-button py-2 md:py-1.5 my-1 md:my-1.5 flex flex-row items-center gap-2 w-fit"
20
+ class =" editor-button py-2 md:py-1.5 my-1 md:my-1.5 flex flex-row items-center md:gap-2 w-fit"
21
+ truncate-trigger
28
22
tabindex =" 0"
29
23
>
30
24
<svg
39
33
transform =" translate(-0.5)"
40
34
/>
41
35
</svg >
42
- <p class =" mobile-hidden-text border md:border-0 border-black font-medium" >
36
+ <p
37
+ class =" mobile-hidden-text border md:border-0 border-black font-medium"
38
+ v-truncate =" {
39
+ externalTrigger: true,
40
+ options: {
41
+ delay: '200',
42
+ placement: 'bottom',
43
+ content: $t('editor.returnToLanding'),
44
+ animateFill: true,
45
+ touch: ['hold', 500],
46
+ offset: [0, 20]
47
+ }
48
+ }"
49
+ >
43
50
{{ $t('editor.leaveEditor') }}
44
51
</p >
45
52
</button >
55
62
placement: 'bottom',
56
63
content: $t('editor.openSidebar'),
57
64
animateFill: true,
58
- touch: ['hold', 500]
65
+ touch: ['hold', 500],
66
+ offset: [0, 2]
59
67
}"
60
68
>
61
69
<svg
94
102
animateFill: true,
95
103
touch: ['hold', 500]
96
104
}"
105
+ tabindex =" 0"
97
106
>
98
107
<div class =" mr-1 pb-1 fill-current" >
99
108
<svg
121
130
:disabled =" !unsavedChanges"
122
131
@click =" $vfm.open(`reload-config`)"
123
132
class =" editor-button flex flex-row border border-gray-700 text-gray-800 rounded my-0"
124
- v-tippy =" {
125
- delay: '200',
126
- placement: 'bottom',
127
- content: $t('editor.resetChanges'),
128
- animateFill: true,
129
- touch: ['hold', 500]
130
- }"
133
+ truncate-trigger
131
134
>
132
135
<svg
133
136
class =" inline fill-current mb-0.5"
141
144
d =" M 2 2 L 4.9394531 4.9394531 C 3.1262684 6.7482143 2 9.2427079 2 12 C 2 17.514 6.486 22 12 22 C 17.514 22 22 17.514 22 12 C 22 6.486 17.514 2 12 2 L 12 4 C 16.411 4 20 7.589 20 12 C 20 16.411 16.411 20 12 20 C 7.589 20 4 16.411 4 12 C 4 9.7940092 4.9004767 7.7972757 6.3496094 6.3496094 L 9 9 L 9 2 L 2 2 z"
142
145
/>
143
146
</svg >
144
- <span class =" mobile-hidden-text font-medium ml-1" >{{ $t('editor.resetChanges') }}</span >
147
+ <span
148
+ class =" mobile-hidden-text font-medium md:ml-1"
149
+ v-truncate =" {
150
+ externalTrigger: true,
151
+ options: {
152
+ delay: '200',
153
+ placement: 'bottom',
154
+ content: $t('editor.resetChanges'),
155
+ animateFill: true,
156
+ touch: ['hold', 500],
157
+ offset: [-10, 32]
158
+ }
159
+ }"
160
+ >{{ $t('editor.resetChanges') }}</span
161
+ >
145
162
</button >
146
163
147
164
<!-- Save changes button -->
148
165
<button
149
166
@click =" saveChanges"
150
- class =" editor-button flex flex-row gap-1.5 items-center m-0 bg-black text-white hover:bg-gray-900 border border-black"
167
+ class =" editor-button flex flex-row md: gap-1.5 items-center m-0 bg-black text-white hover:bg-gray-900 border border-black"
151
168
:disabled =" !unsavedChanges || saving"
152
- v-tippy =" {
153
- delay: '200',
154
- placement: 'bottom',
155
- content: $t('editor.saveChanges'),
156
- animateFill: true,
157
- touch: ['hold', 500]
158
- }"
169
+ truncate-trigger
159
170
>
160
171
<svg
161
172
xmlns =" http://www.w3.org/2000/svg"
177
188
/>
178
189
</g >
179
190
</svg >
180
- <span class =" mobile-hidden-text font-medium" >{{
181
- saving ? $t('editor.savingChanges') : $t('editor.saveChanges')
182
- }}</span >
191
+ <span
192
+ class =" mobile-hidden-text font-medium"
193
+ v-truncate =" {
194
+ externalTrigger: true,
195
+ options: {
196
+ delay: '200',
197
+ placement: 'bottom',
198
+ content: $t('editor.saveChanges'),
199
+ animateFill: true,
200
+ touch: ['hold', 500],
201
+ offset: [-10, 20]
202
+ }
203
+ }"
204
+ >{{ saving ? $t('editor.savingChanges') : $t('editor.saveChanges') }}</span
205
+ >
183
206
<span v-if =" saving" class =" align-middle inline-block px-1" >
184
207
<spinner size =" 16px" color =" #009cd1" class =" ml-1 mb-1" ></spinner >
185
208
</span >
197
220
name: 'editor',
198
221
params: { lang: currentRoute.includes('#/en') ? 'fr' : 'en', uid: uuid }
199
222
}"
200
- v-tippy =" {
201
- delay: '200',
202
- placement: 'bottom',
203
- content: currentRoute.includes('#/en') ? 'Français' : 'English',
204
- animateFill: true,
205
- touch: ['hold', 500]
206
- }"
207
223
class =" underline text-black font-medium px-2"
208
224
>
209
225
<a >
222
238
<span
223
239
tabindex =" 0"
224
240
class =" font-semibold text-lg line-clamp-1 leading-snug"
225
- v-tippy =" {
226
- delay: '200',
227
- placement: 'bottom-start',
228
- content: metadata.title,
229
- animateFill: true,
230
- touch: ['hold', 500]
241
+ v-truncate =" {
242
+ options: {
243
+ delay: '200',
244
+ placement: 'bottom-start',
245
+ content: metadata.title,
246
+ animateFill: true,
247
+ touch: ['hold', 500]
248
+ }
231
249
}"
232
250
>{{ metadata.title }}</span
233
251
>
234
252
<span
235
253
tabindex =" 0"
236
254
class =" line-clamp-1"
237
255
:class =" metadata.title ? 'text-xs' : ''"
238
- v-tippy =" {
239
- delay: '200',
240
- placement: 'bottom-start',
241
- content: uuid,
242
- animateFill: true,
243
- touch: ['hold', 500]
256
+ v-truncate =" {
257
+ options: {
258
+ delay: '200',
259
+ placement: 'bottom-start',
260
+ content: uuid,
261
+ animateFill: true,
262
+ touch: ['hold', 500]
263
+ }
244
264
}"
245
- >UUID : {{ uuid }}</span
265
+ >{{ $t('editor.uuid') }} : {{ uuid }}</span
246
266
>
247
267
</div >
248
268
<span class =" ml-auto" ></span >
251
271
<!-- Preview dropdown -->
252
272
<div class =" dropdown editor-button" >
253
273
<!-- The "Preview" button - hover over it to show the options -->
254
- <button
255
- v-tippy =" {
256
- delay: '200',
257
- placement: 'top',
258
- content: $t('editor.preview'),
259
- animateFill: true,
260
- touch: ['hold', 500]
261
- }"
262
- class =" dropbtn flex gap-2 items-center cursor-default"
263
- >
274
+ <button class =" dropbtn flex gap-2 items-center cursor-default" >
264
275
<svg
265
276
xmlns =" http://www.w3.org/2000/svg"
266
277
xmlns:xlink =" http://www.w3.org/1999/xlink"
317
328
class =" bg-white border border-black rounded-full w-9 h-9 flex items-center justify-center hover:bg-gray-100"
318
329
v-tippy =" {
319
330
delay: '200',
320
- placement: 'top ',
331
+ placement: 'bottom ',
321
332
content: $t('editor.export'),
322
333
animateFill: true,
323
334
touch: ['hold', 500]
362
373
class =" bg-white border border-black rounded-full w-9 h-9 hover:bg-gray-100"
363
374
v-tippy =" {
364
375
delay: '200',
365
- placement: 'top ',
376
+ placement: 'bottom ',
366
377
content: $t('help.title'),
367
378
animateFill: true,
368
379
touch: ['hold', 500]
376
387
class =" bg-white border border-black rounded-full w-9 h-9 hover:bg-gray-100"
377
388
v-tippy =" {
378
389
delay: '200',
379
- placement: 'top ',
390
+ placement: 'bottom ',
380
391
content: $t('editor.feedback'),
381
392
animateFill: true,
382
393
touch: ['hold', 500]
416
427
</div >
417
428
418
429
<!-- Body content -->
419
- <div class =" editor-body flex" >
430
+ <div class =" editor-body flex" style = " z-index : 1 " >
420
431
<!-- Left side -->
421
432
<!-- Sidebar, desktop version -->
422
433
<div id =" sidebar-desktop" class =" w-80 flex flex-col flex-shrink-0 border-r border-black editor-toc hidden" >
@@ -858,12 +869,12 @@ select:focus {
858
869
859
870
.editor-header-upper {
860
871
grid-area : ' header-upper' ;
861
- z-index : 20 ;
872
+ z-index : 1000 ;
862
873
}
863
874
864
875
.editor-header {
865
876
grid-area : header ;
866
- z-index : 19 ;
877
+ z-index : 999 ;
867
878
}
868
879
869
880
.editor-body {
@@ -973,7 +984,7 @@ select:focus {
973
984
}
974
985
975
986
#sidebar-mobile {
976
- z-index : 25 ; // should be on top
987
+ z-index : 2001 ; // should be on top
977
988
height : 100% ;
978
989
width : 0 ; /* Initial width is 0 to be hidden */
979
990
max-width : 100% ;
@@ -992,7 +1003,7 @@ select:focus {
992
1003
width : 100% ;
993
1004
height : 100% ;
994
1005
background-color : rgba (0 , 0 , 0 , 0.5 ); /* Translucent black */
995
- z-index : 21 ; /* Ensure it appears just under the sidebar */
1006
+ z-index : 2000 ; /* Ensure it appears just under the sidebar */
996
1007
display : none ; /* Initially hidden */
997
1008
}
998
1009
@@ -1003,24 +1014,24 @@ select:focus {
1003
1014
-webkit-line-clamp : 1 ;
1004
1015
}
1005
1016
1006
- .line-clamp-2 {
1007
- overflow : hidden ;
1008
- display : -webkit-box ;
1009
- -webkit-box-orient : vertical ;
1010
- -webkit-line-clamp : 2 ;
1011
- }
1012
-
1013
1017
.mobile-hidden-text {
1014
- display : none ;
1018
+ width : auto ;
1015
1019
}
1016
1020
1017
1021
@media only screen and (min-width : 768px ) {
1018
1022
#sidebar-desktop {
1019
1023
display : block !important ;
1020
1024
}
1025
+ }
1021
1026
1027
+ @media only screen and (max-width : 768px ) {
1022
1028
.mobile-hidden-text {
1023
- display : block !important ;
1029
+ width : 0 !important ;
1030
+ height : 0 !important ;
1031
+ padding : 0 ;
1032
+ margin : 0 ;
1033
+ overflow : hidden ;
1034
+ border : none ;
1024
1035
}
1025
1036
}
1026
1037
</style >
0 commit comments