zz-shopify-components 0.0.27 → 0.0.28-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/CHANGELOG.md +21 -21
  2. package/README.md +70 -56
  3. package/assets/ScrollTrigger.min.js +11 -11
  4. package/assets/gsap.min.js +11 -11
  5. package/assets/jquery.js +2 -2
  6. package/assets/lazy-video.js +2 -2
  7. package/assets/lazyload.min.js +1 -1
  8. package/assets/lozad.js +10 -10
  9. package/assets/site-jump.js +52 -52
  10. package/assets/site-jumpV2.js +35 -35
  11. package/assets/swiper-bundle.min.css +12 -12
  12. package/assets/swiper-bundle.min.js +13 -13
  13. package/assets/swiper.css +330 -330
  14. package/assets/zz-components.css +322 -322
  15. package/assets/zz-components.js +166 -166
  16. package/assets/zz-fade-in-content.js +169 -169
  17. package/assets/zz-http-request.js +73 -73
  18. package/assets/zz-world-video-comments-dialog.js +240 -240
  19. package/assets/zz-world-video-dialog.js +190 -190
  20. package/assets/zz-world-video-list.js +317 -317
  21. package/assets/zz-world-video.js +270 -270
  22. package/blocks/zz-accessories-item.liquid +188 -188
  23. package/blocks/zz-accessories-swiper.liquid +223 -223
  24. package/blocks/zz-button.liquid +216 -216
  25. package/blocks/zz-content-description-html.liquid +201 -201
  26. package/blocks/zz-content-description.liquid +209 -209
  27. package/blocks/zz-flex-layout-bg-block.liquid +524 -524
  28. package/blocks/zz-flex-layout-block.liquid +549 -549
  29. package/blocks/zz-flex-layout-widget.liquid +321 -321
  30. package/blocks/zz-full-screen-swiper.liquid +443 -443
  31. package/blocks/zz-icon.liquid +46 -46
  32. package/blocks/zz-mail.liquid +135 -135
  33. package/blocks/zz-mb-swiper-pc-flex.liquid +273 -273
  34. package/blocks/zz-price-tag-mini.liquid +106 -106
  35. package/blocks/zz-price-tag.liquid +41 -41
  36. package/blocks/zz-ratio-image.liquid +181 -181
  37. package/blocks/zz-ratio-video.liquid +115 -115
  38. package/blocks/zz-responsive-width-image.liquid +222 -222
  39. package/blocks/zz-responsive-width-video.liquid +166 -166
  40. package/blocks/zz-scroll-animate-bg-text.liquid +268 -268
  41. package/blocks/zz-scroll-cover.liquid +67 -67
  42. package/blocks/zz-tag.liquid +50 -50
  43. package/blocks/zz-text.liquid +227 -227
  44. package/blocks/zz-title.liquid +287 -287
  45. package/blocks/zz-video-button.liquid +84 -84
  46. package/blocks/zz-video-img-item.liquid +203 -203
  47. package/blocks/zz-video-img-list.liquid +166 -166
  48. package/blocks/zz-video-swiper-perview-item.liquid +221 -221
  49. package/blocks/zz-video-swiper-perview.liquid +585 -585
  50. package/blocks/zz-world-video.liquid +639 -639
  51. package/component.config.json +7 -7
  52. package/package.json +1 -1
  53. package/scripts/postinstall-v1.js +39 -39
  54. package/scripts/postinstall-v2.js +47 -47
  55. package/scripts/postinstall-v3.js +51 -51
  56. package/scripts/publish-npm.js +43 -43
  57. package/sections/zz-flex-layout-section.liquid +269 -269
  58. package/sections/zz-navigation-tab-v3.liquid +409 -409
  59. package/sections/zz-navigation-tab.liquid +411 -411
  60. package/sections/zz-shopping-card-list.liquid +399 -399
  61. package/sections/zz-video-collapse-swiper.liquid +522 -522
  62. package/sections/zz-video-tab-swiper.liquid +748 -748
  63. package/snippets/zz-button.liquid +70 -70
  64. package/snippets/zz-content-h3.liquid +15 -15
  65. package/snippets/zz-content-text.liquid +56 -56
  66. package/snippets/zz-h2.liquid +31 -31
  67. package/snippets/zz-h3.liquid +31 -31
  68. package/snippets/zz-h4.liquid +30 -30
  69. package/snippets/zz-h5.liquid +39 -39
  70. package/snippets/zz-h6.liquid +39 -39
  71. package/snippets/zz-icon-next.liquid +17 -17
  72. package/snippets/zz-icon-prev.liquid +17 -17
  73. package/snippets/zz-icon.liquid +74 -74
  74. package/snippets/zz-img-md.liquid +44 -44
  75. package/snippets/zz-img.liquid +44 -44
  76. package/snippets/zz-prev-next-blur-icon.liquid +36 -36
  77. package/snippets/zz-prev-next-btn.liquid +62 -62
  78. package/snippets/zz-price-tag.liquid +22 -22
  79. package/snippets/zz-spoke.liquid +142 -142
  80. package/snippets/zz-tag.liquid +22 -22
  81. package/snippets/zz-video-button.liquid +54 -54
  82. package/snippets/zz-video-md.liquid +117 -117
  83. package/snippets/zz-video.liquid +117 -117
@@ -1,639 +1,639 @@
1
- {% schema %}
2
- {
3
- "name": "World Video",
4
- "class": "world-video-list",
5
- "settings": [
6
- {
7
- "type": "select",
8
- "id": "shop_select",
9
- "label": "站点选择",
10
- "options": [
11
- { "value": "OFFICIAL", "label": "官网 central" },
12
- { "value": "US", "label": "US" },
13
- { "value": "EU", "label": "EU" },
14
- { "value": "UK", "label": "UK" },
15
- { "value": "GLOBAL", "label": "GLOBAL" },
16
- { "value": "JP", "label": "JP" },
17
- { "value": "TW", "label": "TW" }
18
- ],
19
- "default": "OFFICIAL"
20
- },
21
- {
22
- "type": "select",
23
- "id": "request_type",
24
- "label": "请求类型",
25
- "options": [
26
- { "value": "prod", "label": "正式" },
27
- { "value": "test", "label": "测试" }
28
- ],
29
- "default": "test"
30
- },
31
- {
32
- "type": "image_picker",
33
- "id": "img_141_icon",
34
- "label": "141 产品icon"
35
- },
36
- {
37
- "type": "image_picker",
38
- "id": "img_130_icon",
39
- "label": "130 产品icon"
40
- },
41
- {
42
- "type": "textarea",
43
- "id": "links_130",
44
- "label": "Sites Link 130",
45
- "info": "国家对应链接的表,国家即是国家选择器上显示的字段,国家和路由之间用冒号隔开( 冒号后要加空格)。国家之间换行,“default”为其他未写的默认的链接 EG: Canada: https://hoverair.com/ default: https://hoverair.com/ "
46
- },
47
- {
48
- "type": "textarea",
49
- "id": "links_141",
50
- "label": "Sites Link 141",
51
- "info": "国家对应链接的表,国家即是国家选择器上显示的字段,国家和路由之间用冒号隔开( 冒号后要加空格)。国家之间换行,“default”为其他未写的默认的链接 EG: Canada: https://hoverair.com/ default: https://hoverair.com/ "
52
- }
53
- ],
54
- "presets": [
55
- {
56
- "name": "World Video"
57
- }
58
- ]
59
- }
60
- {% endschema %}
61
-
62
- <world-video-list
63
- data-x1pro-img='{{block.settings.img_141_icon | image_url}}'
64
- data-x1-img='{{block.settings.img_130_icon | image_url}}'
65
- data-x1pro-links='{{block.settings.links_141 | url_encode }}'
66
- data-x1-links='{{block.settings.links_130 | url_encode }}'
67
- data-request-type='{{ block.settings.request_type }}'
68
- data-shop-select='{{ block.settings.shop_select }}'
69
- >
70
- <div class='tw-flex tw-justify-center tw-items-center tw-my-[30px] lg:tw-my-[80px]'>
71
- <div class='world-video-switch tw-flex tw-w-[336px] lg:tw-w-[360px] tw-h-[42px] tw-bg-[#F3F3F3] tw-rounded-[21px] tw-overflow-hidden '>
72
- <button
73
- id='switch-pro'
74
- class='tw-flex-1 tw-border-none tw-h-full tw-text-[13px] lg:tw-text-[16px] tw-bg-black tw-text-white tw-rounded-[21px] tw-transition-colors'
75
- style='font-size: 16px;'
76
- >
77
- X1 PRO&PROMAX
78
- </button>
79
- <button
80
- id='switch-x1'
81
- class='tw-flex-1 tw-border-none tw-h-full tw-rounded-[21px] tw-text-[13px] lg:tw-text-[16px] tw-bg-transparent tw-text-black tw-transition-colors'
82
- style='font-size: 16px;'
83
- >
84
- X1
85
- </button>
86
- </div>
87
- </div>
88
- <div class='tw-relative tw-w-full'>
89
- <div
90
- id='video-page-content'
91
- class='video-page-list tw-flex tw-overflow-x-scroll tw-w-full lg:tw-pr-[120px] tw-pr-[20px]'
92
- >
93
- <div
94
- class='tw-w-full tw-h-[100px] tw-flex tw-justify-center tw-items-center'
95
- >
96
- <span
97
- class='tw-daisy-loading tw-daisy-loading-dots tw-daisy-loading-lg'
98
- ></span>
99
- </div>
100
- </div>
101
-
102
- <div class='video-page-left-arrow tw-cursor-pointer tw-bg-white/20 tw-backdrop-blur-[10px] tw-rounded-[50%] max-lg:tw-hidden tw-absolute tw-left-[48px] tw-top-1/2 tw-translate-y-[-50%]'>
103
- <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
104
- <foreignObject x="-10" y="-10" width="68" height="68"><div xmlns="http://www.w3.org/1999/xhtml" style="backdrop-filter:blur(5px);clip-path:url(#bgblur_0_11239_23806_clip_path);height:100%;width:100%"></div></foreignObject><rect data-figma-bg-blur-radius="10" width="48" height="48" rx="24" fill="white" fill-opacity="0.3"/>
105
- <path fill-rule="evenodd" clip-rule="evenodd" d="M19 24L26.0711 16.9289L26.0608 19.1149L21.1757 24L26.0711 28.8718L26.0711 31.0711L19 24Z" fill="white"/>
106
- <defs>
107
- <clipPath id="bgblur_0_11239_23806_clip_path" transform="translate(10 10)"><rect width="48" height="48" rx="24"/>
108
- </clipPath></defs>
109
- </svg>
110
-
111
- </div>
112
- <div class='video-page-right-arrow tw-cursor-pointer tw-bg-white/20 tw-backdrop-blur-[10px] tw-rounded-[50%] max-lg:tw-hidden tw-absolute tw-right-[48px] tw-top-1/2 tw-translate-y-[-50%]'>
113
- <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
114
- <foreignObject x="-10" y="-10" width="68" height="68"><div xmlns="http://www.w3.org/1999/xhtml" style="backdrop-filter:blur(5px);clip-path:url(#bgblur_0_11239_23800_clip_path);height:100%;width:100%"></div></foreignObject><rect data-figma-bg-blur-radius="10" width="48" height="48" rx="24" fill="white" fill-opacity="0.3"/>
115
- <path fill-rule="evenodd" clip-rule="evenodd" d="M29 24L21.9289 16.9289L21.9392 19.1149L26.8243 24L21.9289 28.8718L21.9289 31.0711L29 24Z" fill="white"/>
116
- <defs>
117
- <clipPath id="bgblur_0_11239_23800_clip_path" transform="translate(10 10)"><rect width="48" height="48" rx="24"/>
118
- </clipPath></defs>
119
- </svg>
120
-
121
- </div>
122
-
123
- </div>
124
-
125
- <world-video-dialog
126
- data-x1pro-img='{{block.settings.img_141_icon | image_url}}'
127
- data-x1-img='{{block.settings.img_130_icon | image_url}}'
128
- data-x1pro-links='{{block.settings.links_141 | url_encode }}'
129
- data-x1-links='{{block.settings.links_130 | url_encode }}'
130
- data-request-type='{{ block.settings.request_type }}'
131
- >
132
- <!-- 蒙层 -->
133
- <div
134
- id='world-video-modalMask'
135
- class='world-video-modal-mask tw-bg-black/60 tw-fixed tw-inset-0 tw-z-[1000]'
136
- >
137
- <div class='close-modal-btn max-lg:tw-hidden tw-z-[10042] tw-w-[40px] tw-h-[40px] tw-cursor-pointer tw-absolute tw-top-[20px] tw-right-[20px]'>
138
- <img
139
- class='tw-w-full tw-h-full'
140
- width='40'
141
- height='40'
142
- src='https://cdn.shopify.com/s/files/1/0891/9796/9711/files/Group_1509997654.png?v=1746510524'
143
- alt='close button'
144
- >
145
- </div>
146
- </div>
147
- <!-- 弹窗 -->
148
- <div
149
- id='world-video-modal'
150
- class='world-video-modal max-lg:tw-w-screen max-lg:tw-h-screen max-lg:tw-bg-black tw-fixed tw-z-[1001] max-lg:tw-z-[10005]'
151
- >
152
- <div class='video-page-swiper tw-overflow-hidden max-lg:tw-w-screen max-lg:tw-h-screen lg:tw-w-[854px] lg:tw-h-[480px] xl:tw-w-[960px] xl:tw-h-[540px]'>
153
- {% comment %} 轮播图, 弹起时候获取,往swiper-wrapper中添加swiper-slide {% endcomment %}
154
- <div
155
- class='swiper-wrapper max-lg:tw-w-screen max-lg:tw-h-screen lg:tw-w-[854px] lg:tw-h-[480px] xl:tw-w-[960px] xl:tw-h-[540px]'
156
- id='video-swiper-wrapper'
157
- ></div>
158
- <div class='swiper-button-prev !tw-w-[48px] !tw-h-[48px] tw-cursor-pointer max-lg:tw-hidden tw-absolute !tw-left-[-100px] !tw-top-1/2 !tw-translate-y-[-50%]'>
159
- <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
160
- <foreignObject x="-10" y="-10" width="68" height="68"><div xmlns="http://www.w3.org/1999/xhtml" style="backdrop-filter:blur(5px);clip-path:url(#bgblur_0_11239_23806_clip_path);height:100%;width:100%"></div></foreignObject><rect data-figma-bg-blur-radius="10" width="48" height="48" rx="24" fill="white" fill-opacity="0.3"/>
161
- <path fill-rule="evenodd" clip-rule="evenodd" d="M19 24L26.0711 16.9289L26.0608 19.1149L21.1757 24L26.0711 28.8718L26.0711 31.0711L19 24Z" fill="white"/>
162
- <defs>
163
- <clipPath id="bgblur_0_11239_23806_clip_path" transform="translate(10 10)"><rect width="48" height="48" rx="24"/>
164
- </clipPath></defs>
165
- </svg>
166
-
167
- </div>
168
- <div class='swiper-button-next !tw-w-[48px] !tw-h-[48px] tw-cursor-pointer max-lg:tw-hidden tw-absolute !tw-right-[-100px] tw-top-1/2 !tw-translate-y-[-50%]'>
169
- <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
170
- <foreignObject x="-10" y="-10" width="68" height="68"><div xmlns="http://www.w3.org/1999/xhtml" style="backdrop-filter:blur(5px);clip-path:url(#bgblur_0_11239_23800_clip_path);height:100%;width:100%"></div></foreignObject><rect data-figma-bg-blur-radius="10" width="48" height="48" rx="24" fill="white" fill-opacity="0.3"/>
171
- <path fill-rule="evenodd" clip-rule="evenodd" d="M29 24L21.9289 16.9289L21.9392 19.1149L26.8243 24L21.9289 28.8718L21.9289 31.0711L29 24Z" fill="white"/>
172
- <defs>
173
- <clipPath id="bgblur_0_11239_23800_clip_path" transform="translate(10 10)"><rect width="48" height="48" rx="24"/>
174
- </clipPath></defs>
175
- </svg>
176
-
177
- </div>
178
-
179
-
180
-
181
- </div>
182
-
183
- </div>
184
-
185
- </world-video-dialog>
186
- {% comment %} 模板 {% endcomment %}
187
- <script type='text/template' id='video-page-item'>
188
- <div class="tw-flex tw-scroll-snap-align-start tw-ml-[8px] lg:tw-ml-[20px]">
189
- <div class="tw-w-[80vw] lg:tw-w-[740px] {item-display-1}">
190
- <div class="video-item tw-w-full tw-h-[36.8vw] lg:tw-h-[340px] tw-cursor-pointer {item-display-1}" data-item="{video-item-1}">
191
- <video class="word-lazy-video world-lozad tw-w-full tw-h-full tw-object-cover tw-rounded-[10px] lg:tw-rounded-[20px]" data-poster="{poster-1}" muted autoplay playsinline x5-video-player-type="h5" webkit-playsinline loop data-video-index="video-1" >
192
- <source type='video/mp4'
193
- data-src="{video-1}"
194
- >
195
- </video>
196
- </div>
197
- <div class="tw-flex tw-w-full tw-h-[46.4vw] lg:tw-h-[204px] tw-mt-[8px] lg:tw-mt-[20px] {item-display-2}">
198
- <div class="video-item tw-flex-1 tw-relative tw-cursor-pointer tw-h-full {item-display-2}" data-item="{video-item-2}">
199
- <img class="play-icon tw-absolute tw-w-[32px] tw-h-[32px] lg:tw-w-[80px] lg:tw-h-[80px] tw-top-[50%] tw-left-[50%] tw-translate-x-[-50%] tw-translate-y-[-50%]" src="https://cdn.shopify.com/s/files/1/0891/9796/9711/files/video_on.png?v=1745996489">
200
- <img class="tw-w-full tw-h-full tw-rounded-[10px] lg:tw-rounded-[20px] tw-object-cover" src="{video-2}" alt="" data-video-index="video-2"/>
201
- </div>
202
- <div class="video-item tw-flex-1 tw-relative tw-cursor-pointer tw-ml-[8px] lg:tw-ml-[20px] tw-h-full {item-display-3}" data-item="{video-item-3}">
203
- <img class="tw-h-full tw-w-full tw-rounded-[10px] lg:tw-rounded-[20px] tw-object-cover" src="{video-3}" alt="" data-video-index="video-3"/>
204
- <img class="play-icon tw-absolute tw-w-[32px] tw-h-[32px] lg:tw-w-[80px] lg:tw-h-[80px] tw-top-[50%] tw-left-[50%] tw-translate-x-[-50%] tw-translate-y-[-50%]" src="https://cdn.shopify.com/s/files/1/0891/9796/9711/files/video_on.png?v=1745996489">
205
- </div>
206
- </div>
207
- </div>
208
- <div class="video-item tw-w-[48vw] lg:tw-w-[360px] tw-h-full lg:tw-h-[564px] tw-ml-[8px] lg:tw-ml-[20px] tw-cursor-pointer {item-display-4}" data-item="{video-item-4}">
209
- <video class="word-lazy-video world-lozad tw-w-full tw-h-full tw-object-cover tw-rounded-[10px] lg:tw-rounded-[20px]" data-poster="{poster-4}" muted autoplay playsinline x5-video-player-type="h5" webkit-playsinline loop data-video-index="video-4" >
210
- <source type='video/mp4'
211
- data-src="{video-4}"
212
- >
213
- </video>
214
- </div>
215
-
216
- </div>
217
- <div class="tw-flex tw-scroll-snap-align-start tw-ml-[8px] lg:tw-ml-[20px] {item-display-5}">
218
- <div class="tw-w-[80vw] lg:tw-w-[740px] {item-display-5}">
219
- <div class="tw-flex tw-w-full tw-h-[46.4vw] lg:tw-h-[204px] {item-display-5}">
220
- <div class="video-item tw-relative tw-flex-1 tw-cursor-pointer {item-display-5}" data-item="{video-item-5}">
221
- <img class="tw-w-full tw-h-full tw-rounded-[10px] lg:tw-rounded-[20px] tw-object-cover" src="{video-5}" alt="" data-video-index="video-5" />
222
- <img class="play-icon tw-absolute tw-w-[32px] tw-h-[32px] lg:tw-w-[80px] lg:tw-h-[80px] tw-top-[50%] tw-left-[50%] tw-translate-x-[-50%] tw-translate-y-[-50%]" src="https://cdn.shopify.com/s/files/1/0891/9796/9711/files/video_on.png?v=1745996489">
223
- </div>
224
- <div class="video-item tw-relative tw-flex-1 tw-cursor-pointer tw-ml-[8px] lg:tw-ml-[20px] tw-h-full {item-display-6}" data-item="{video-item-6}">
225
- <img class="tw-w-full tw-h-full tw-rounded-[10px] lg:tw-rounded-[20px] tw-object-cover" src="{video-6}" alt="" data-video-index="video-6"/>
226
- <img class="play-icon tw-absolute tw-w-[32px] tw-h-[32px] lg:tw-w-[80px] lg:tw-h-[80px] tw-top-[50%] tw-left-[50%] tw-translate-x-[-50%] tw-translate-y-[-50%]" src="https://cdn.shopify.com/s/files/1/0891/9796/9711/files/video_on.png?v=1745996489">
227
- </div>
228
-
229
-
230
- </div>
231
- <div class="video-item tw-w-full tw-h-[36.8vw] lg:tw-h-[340px] tw-cursor-pointer tw-mt-[8px] lg:tw-mt-[20px] {item-display-7}" data-item="{video-item-7}">
232
- <video class="word-lazy-video world-lozad tw-w-full tw-h-full tw-object-cover tw-rounded-[10px] lg:tw-rounded-[20px]" data-poster="{poster-7}" muted autoplay playsinline x5-video-player-type="h5" webkit-playsinline loop data-video-index="video-7" >
233
- <source type='video/mp4'
234
- data-src="{video-7}"
235
- >
236
- </video>
237
- </div>
238
- </div>
239
- <div class="video-item tw-w-[48vw] lg:tw-w-[360px] lg:tw-h-[564px] tw-h-full tw-ml-[8px] lg:tw-ml-[20px] {item-display-8}" data-item="{video-item-8}">
240
- <video class="word-lazy-video world-lozad tw-w-full tw-cursor-pointer tw-h-full tw-object-cover tw-rounded-[10px] lg:tw-rounded-[20px]" data-poster="{poster-8}" muted autoplay playsinline x5-video-player-type="h5" webkit-playsinline loop data-video-index="video-8" >
241
- <source type='video/mp4'
242
- data-src="{video-8}"
243
- >
244
- </video>
245
- </div>
246
-
247
- </div>
248
- </script>
249
- <script type='text/template' id='video-swiper-slide'>
250
- <div class='swiper-slide max-lg:tw-w-full max-lg:tw-h-full lg:tw-w-[854px] lg:tw-h-[480px] xl:tw-w-[960px] xl:tw-h-[540px] lg:tw-rounded-[20px] tw-relative'>
251
- <world-video data-id='{id}' data-product-links="{product-links}">
252
- <video
253
- class='word-slide-lazy-video video-player tw-bg-black tw-w-full tw-h-full lg:tw-w-[854px] lg:tw-h-[480px] xl:tw-w-[960px] xl:tw-h-[540px] lg:tw-rounded-[20px]'
254
- playsinline
255
- x5-video-player-type="h5"
256
- webkit-playsinline
257
- poster="{poster-url}"
258
- loop
259
- >
260
- <source type='video/mp4'
261
- src="{video-url}"
262
- >
263
- </video>
264
- <div class="controls lg:tw-min-h-[40px] tw-absolute lg:tw-bottom-0 max-lg:tw-bottom-[56px] tw-left-0 tw-right-0 tw-w-full tw-flex tw-flex-col tw-gap-[12px] tw-pb-[6px] tw-pt-[6px] tw-z-50 lg:tw-px-[60px] max-lg:tw-px-[20px] tw-box-border">
265
- <div class="controls-container lg:tw-hidden">
266
- <div class="progress-container tw-w-full tw-h-[4px] tw-bg-white/20 tw-rounded-[3px] tw-cursor-pointer tw-relative">
267
- <div class="progress-bar tw-h-[4px] tw-bg-white tw-rounded-[3px] tw-w-0 tw-relative">
268
- <div class="progress-handle tw-w-[12px] tw-h-[12px] tw-bg-white tw-rounded-[50%] tw-absolute tw-top-[50%] tw-right-[-6px] tw-translate-y-[-50%]">&nbsp;</div>
269
- </div>
270
- </div>
271
- <div class="buttons-container tw-flex tw-justify-between max-lg:tw-hidden lg:tw-mt-[6px]">
272
-
273
- <div class="play-volume-container tw-flex tw-items-center tw-gap-[20px]">
274
- <div class="play-pause ">
275
- <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
276
- <rect x="6.6001" y="5.09961" width="3.6" height="13.8" rx="0.9" fill="white"/>
277
- <rect x="13.7998" y="5.09961" width="3.6" height="13.8" rx="0.9" fill="white"/>
278
- </svg>
279
-
280
- </div>
281
- <div class="time-display tw-text-white tw-text-[12px]">
282
- <span class="current-time tw-inline-block tw-min-w-[30px]">0:00</span> / <span class="total-time tw-text-white/60">0:00</span>
283
- </div>
284
- </div>
285
- <div class="volume-btn">
286
- <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
287
- <path d="M-0.000976562 6.81816C-0.000976562 6.3663 0.365326 6 0.817183 6H4.27166L8.5972 1.60038C9.11057 1.07822 9.99878 1.44172 9.99878 2.17398V17.815C9.99878 18.5468 9.11159 18.9105 8.59792 18.3893L4.27166 14H0.817183C0.365326 14 -0.000976562 13.6337 -0.000976562 13.1818V6.81816Z" fill="white"/>
288
- <path d="M13.2734 6.31152C14.4639 7.10304 15.2485 8.45651 15.2485 9.99324C15.2485 11.53 14.4639 12.8834 13.2734 13.675" stroke="white" stroke-width="1.3" stroke-linecap="round"/>
289
- <path d="M15.7246 3.89258C17.6972 5.20412 18.9972 7.44685 18.9972 9.99323C18.9972 12.5396 17.6972 14.7823 15.7246 16.0939" stroke="white" stroke-width="1.3" stroke-linecap="round"/>
290
- </svg>
291
-
292
- </div>
293
-
294
- </div>
295
- </div>
296
- </div>
297
- <div class='overlay video-info tw-w-full tw-h-full tw-absolute tw-bottom-0 tw-left-0 tw-flex tw-flex-col tw-justify-end tw-z-40'>
298
- <div class='pc-video-info tw-w-full tw-flex max-lg:tw-hidden tw-justify-between tw-items-end tw-pb-[54px] tw-px-[60px] tw-box-border'>
299
- <div>
300
- <div class='max-lg:tw-hidden tw-mb-[12px] tw-flex tw-items-center tw-gap-[9px]'>
301
- <img
302
- class='tw-w-[36px] tw-h-[36px] tw-rounded-[50%] tw-bg-white'
303
- src='{avatar}'
304
- width='36'
305
- height='36'
306
- alt='avatar'
307
- >
308
- <div class='tw-flex tw-flex-col tw-gap-[4px]'>
309
- <span class='tw-text-[14px] tw-font-blod tw-text-white tw-leading-[1.5]'
310
- >{nickname}</span
311
- >
312
- <span class='tw-text-[14px] tw-font-medium tw-text-white/50 tw-leading-[1.5]'
313
- >@{nickname}</span
314
- >
315
- </div>
316
- </div>
317
- <div class='tw-text-[14px] tw-mb-[20px] tw-w-[320px] tw-font-[500] tw-text-white/70 tw-leading-[1.5]'>
318
- {content}
319
- </div>
320
- <div class='tw-flex tw-items-center tw-gap-[40px]'>
321
- <div class='video-like-btn tw-flex tw-items-center tw-gap-[4px] tw-text-white/70 tw-font-medium tw-text-[16px]'>
322
- <svg
323
- width='24'
324
- height='24'
325
- viewBox='0 0 24 24'
326
- fill='none'
327
- xmlns='http://www.w3.org/2000/svg'
328
- >
329
- <path d="M7.76465 3.57422H7.76562C9.14354 3.57246 10.4742 4.08002 11.5 5C11.7846 5.25525 12.215 5.25577 12.5 5.00098C14.0954 3.574 16.3593 3.18434 18.333 3.98145L18.5234 4.0625C20.5401 4.96453 21.8387 6.96759 21.8389 9.17676C21.8389 11.7565 20.415 14.1798 18.6104 16.1152L18.2451 16.4961C16.39 18.37 14.157 19.7975 12.4658 20.4404L12.1348 20.5586C12.0692 20.5803 12 20.5861 11.9326 20.5752L11.8662 20.5586C10.2514 20.022 8.03343 18.678 6.13281 16.8652L5.75684 16.4961L5.39062 16.1152C3.58519 14.1791 2.16211 11.7563 2.16211 9.17676C2.16232 6.17928 4.51634 3.73118 7.47656 3.58105L7.76465 3.57422Z" stroke="white" stroke-opacity="0.7" stroke-width="1.5" stroke-linejoin="round"/>
330
- </svg>
331
- <span>{likeCount}</span>
332
- </div>
333
- <div class='video-comments-btn tw-cursor-pointer tw-flex tw-items-center tw-gap-[4px] tw-text-white/70 tw-font-medium tw-text-[16px]' data-id="{mediaId}">
334
- <svg
335
- width='24'
336
- height='24'
337
- viewBox='0 0 24 24'
338
- fill='none'
339
- xmlns='http://www.w3.org/2000/svg'
340
- >
341
- <path d="M3 4.75H21C21.1381 4.75 21.25 4.86193 21.25 5V18C21.25 18.1381 21.1381 18.25 21 18.25H16.333C16.0017 18.2501 15.678 18.3438 15.3994 18.5195L15.2832 18.5996L12.1504 20.9502C12.0837 21.0002 11.9979 21.0123 11.9219 20.9873L11.8496 20.9502L8.7168 18.5996C8.41399 18.3725 8.04548 18.2501 7.66699 18.25H3C2.86193 18.25 2.75 18.1381 2.75 18V5C2.75 4.86193 2.86193 4.75 3 4.75Z" stroke="white" stroke-opacity="0.7" stroke-width="1.5" stroke-linejoin="round"/>
342
- <path d="M8 11.5H16" stroke="white" stroke-opacity="0.7" stroke-width="1.5" stroke-linecap="round"/>
343
- </svg>
344
-
345
- <span>{commentCount}</span>
346
- </div>
347
- </div>
348
- </div>
349
- <div
350
- class='tw-flex world-video-learn-more tw-cursor-pointer tw-items-center tw-gap-[12px] tw-bg-white/20 tw-backdrop-blur-[10px] tw-text-white tw-font-medium tw-h-[48px] tw-rounded-[100px] tw-px-[24px]'
351
- data-product-type='{product-type}'
352
- >
353
- <img
354
- class='product-icon tw-w-[auto] tw-h-[34px]'
355
- width='auto'
356
- height='34'
357
- src='{product-icon}'
358
- >
359
- Learn more
360
- </div>
361
- </div>
362
- <div class='mb-video-info lg:tw-hidden tw-w-full tw-px-[20px] tw-pb-[12px] tw-box-border'>
363
- <div class='tw-flex tw-justify-between tw-items-end'>
364
- <div class='tw-text-[12px] tw-w-[160px] tw-font-[500] tw-text-white/70 tw-leading-[1.5]'>
365
- {content}
366
- </div>
367
- <div
368
- class='tw-flex world-video-learn-more tw-cursor-pointer tw-items-center tw-gap-[12px] tw-bg-white/20 tw-backdrop-blur-[10px] tw-text-white tw-font-medium tw-h-[36px] tw-rounded-[75px] tw-px-[18px]'
369
- data-product-type='{product-type}'
370
- >
371
- <img
372
- class='product-icon tw-w-[auto] tw-h-[25px]'
373
- width='auto'
374
- height='25'
375
- src='{product-icon}'
376
- >
377
- Learn more
378
- </div>
379
- </div>
380
- <div class='tw-flex tw-justify-between tw-mt-[34px] tw-items-center'>
381
- <div class='tw-flex tw-items-center tw-gap-[9px]'>
382
- <img
383
- class='tw-w-[36px] tw-h-[36px] tw-rounded-[50%] tw-bg-white'
384
- src='{avatar}'
385
- width='36'
386
- height='36'
387
- alt='avatar'
388
- >
389
- <div class='tw-flex tw-flex-col tw-gap-[4px]'>
390
- <span class='tw-text-[14px] tw-font-blod tw-text-white tw-leading-[1.5]'
391
- >{nickname}</span
392
- >
393
- <span class='tw-text-[12px] tw-font-medium tw-text-white/50 tw-leading-[1.5]'
394
- >@{nickname}</span
395
- >
396
- </div>
397
- </div>
398
- <div class='tw-flex tw-items-center tw-gap-[40px]'>
399
- <div class='video-like-btn tw-flex tw-items-center tw-gap-[4px] tw-text-white/70 tw-font-medium tw-text-[12px]'>
400
- <svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
401
- <path d="M6.47046 3.47852H6.47144C7.61969 3.47705 8.72793 3.90035 9.58276 4.66699C9.81992 4.87968 10.1793 4.88024 10.4167 4.66797C11.7033 3.51726 13.5111 3.17579 15.1169 3.75684L15.4353 3.88574C17.1161 4.63739 18.1989 6.3063 18.199 8.14746C18.199 10.2973 17.0125 12.3168 15.5085 13.9297L15.2039 14.2471C13.6578 15.8088 11.7968 16.9986 10.3875 17.5342L10.1121 17.6318C10.0572 17.65 9.99945 17.6547 9.94312 17.6455L9.88843 17.6318C8.54259 17.1846 6.69407 16.0646 5.11011 14.5537L4.79761 14.2471H4.79663C3.15054 12.585 1.80151 10.4405 1.80151 8.14746C1.80161 5.64949 3.76332 3.60949 6.23022 3.48438L6.47046 3.47852Z" stroke="white" stroke-opacity="0.7" stroke-width="1.25" stroke-linejoin="round"/>
402
- </svg>
403
-
404
- <span>{likeCount}</span>
405
- </div>
406
- <div class='video-comments-btn tw-cursor-pointer tw-flex tw-items-center tw-gap-[4px] tw-text-white/70 tw-font-medium tw-text-[12px]' data-id="{mediaId}">
407
- <svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
408
- <path d="M2.49976 4.45801H17.4998C17.6147 4.45801 17.7086 4.5511 17.7087 4.66602V15.5C17.7086 15.6149 17.6147 15.708 17.4998 15.708H13.6111C13.3352 15.708 13.0658 15.7864 12.8337 15.9326L12.7361 16L10.1248 17.958C10.0693 17.9995 9.99852 18.0099 9.9353 17.9893L9.87476 17.958L7.2644 16C7.01209 15.8108 6.70479 15.7081 6.3894 15.708H2.49976C2.38496 15.7078 2.29192 15.6148 2.29175 15.5V4.66602C2.29192 4.55121 2.38495 4.45818 2.49976 4.45801Z" stroke="white" stroke-opacity="0.7" stroke-width="1.25" stroke-linejoin="round"/>
409
- <path d="M6.66675 10.083H13.3334" stroke="white" stroke-opacity="0.7" stroke-width="1.25" stroke-linecap="round"/>
410
- </svg>
411
-
412
-
413
- <span>{commentCount}</span>
414
- </div>
415
- </div>
416
- </div>
417
- </div>
418
- <div class='mb-voice-close lg:tw-hidden tw-absolute tw-z-[10020] tw-top-[20px] tw-right-[20px] tw-flex tw-items-center tw-justify-center tw-gap-[16px] tw-w-[80px] tw-h-[32px] tw-bg-white/20 tw-backdrop-blur-[10px] tw-rounded-[20px]'>
419
- <div class='mb-word-video-volume-btn tw-cursor-pointer'>
420
- <svg
421
- width='20'
422
- height='20'
423
- viewBox='0 0 20 20'
424
- fill='none'
425
- xmlns='http://www.w3.org/2000/svg'
426
- >
427
- <path d="M12.7271 6.92578C13.7191 7.58537 14.3729 8.71327 14.3729 9.99388C14.3729 11.2745 13.7191 12.4024 12.7271 13.062" stroke="white" stroke-width="1.15381" stroke-linecap="round"/>
428
- <path d="M14.7729 4.91113C16.4168 6.00409 17.5001 7.87303 17.5001 9.99501C17.5001 12.117 16.4168 13.9859 14.7729 15.0789" stroke="white" stroke-width="1.15381" stroke-linecap="round"/>
429
- <path d="M3.50098 3.79785L15.8753 16.1722" stroke="white" stroke-width="1.25" stroke-linecap="round"/>
430
- <path d="M10 12.5468V16.4891C9.9997 17.1018 9.25411 17.4031 8.82812 16.9628L5.22754 13.2372H1.93164C1.5553 13.2371 1.25022 12.9319 1.25 12.5555V7.43153C1.25 7.05503 1.55517 6.74997 1.93164 6.74988H4.20312L10 12.5468ZM8.82812 3.0243C9.25423 2.58404 10 2.88606 10 3.49891V10.4257L5.76562 6.19129L8.82812 3.0243Z" fill="white"/>
431
- </svg>
432
- </div>
433
- <div class='mb-close-modal-btn tw-cursor-pointer'>
434
- <svg
435
- width='20'
436
- height='20'
437
- viewBox='0 0 20 20'
438
- fill='none'
439
- xmlns='http://www.w3.org/2000/svg'
440
- >
441
- <path d="M5.09961 14.9492L14.9991 5.04972" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
442
- <path d="M5.09961 5.0498L14.9991 14.9493" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
443
- </svg>
444
- </div>
445
- </div>
446
- </div>
447
-
448
- <div class="video-play-btn lg:tw-hidden tw-absolute tw-w-[60px] tw-h-[60px] tw-z-[1009] tw-top-[50%] tw-left-[50%] tw-translate-x-[-50%] tw-translate-y-[-50%]">
449
- <svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
450
- <path fill-rule="evenodd" clip-rule="evenodd" d="M48.0537 26.1529C50.9545 27.8974 50.9545 32.1026 48.0537 33.8471L25.5732 47.3658C22.5812 49.1651 18.7707 47.0101 18.7707 43.5187L18.7707 16.4813C18.7707 12.9899 22.5812 10.8349 25.5732 12.6342L48.0537 26.1529Z" fill="white" fill-opacity="0.6"/>
451
- </svg>
452
- </div>
453
-
454
- <world-video-comments-dialog>
455
- <div
456
- class='world-video-comments-mask lg:tw-hidden tw-z-[1007] tw-bg-black/60 tw-fixed tw-inset-0 tw-z-[1000]'
457
- ></div>
458
- <div class="word-video-comments-modal tw-absolute tw-z-[1008] tw-bottom-0 tw-left-0 max-lg:tw-right-0 lg:tw-w-[375px] tw-w-full lg:tw-h-full max-lg:tw-h-[70vh] tw-bg-white">
459
- <div class="word-video-comments-modal-content tw-w-full tw-h-full">
460
- <div class="tw-flex tw-justify-between tw-items-center tw-px-[20px] tw-p-[20px]">
461
- <div>&nbsp;</div>
462
- <div class="reply-title tw-text-[15px] tw-font-medium tw-text-[#333333]"><span class="reply-title-num"></span> replies</div>
463
-
464
- <div class="close-modal-btn tw-cursor-pointer">
465
- <svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
466
- <path d="M3 3.5L13 13.5" stroke="#979797" stroke-width="1.5" stroke-linecap="round"/>
467
- <path d="M3 13.5L13 3.5" stroke="#979797" stroke-width="1.5" stroke-linecap="round"/>
468
- </svg>
469
- </div>
470
- </div>
471
- <div class="word-video-comments-list tw-overflow-y-auto tw-w-full tw-px-[20px] tw-pb-[20px] tw-box-border">
472
- <div class="tw-h-[40px] tw-w-full word-video-comments-list-footer tw-flex tw-items-center tw-justify-center">
473
- <span class="tw-daisy-loading tw-daisy-loading-dots tw-daisy-loading-md"></span>
474
- </div>
475
- </div>
476
-
477
-
478
- </div>
479
- </div>
480
-
481
- </world-video-comments-dialog>
482
-
483
- </world-video>
484
- </div>
485
- </script>
486
- <script type='text/template' id='video-comment'>
487
- <div class="video-comment-item tw-flex tw-gap-[8px] tw-pt-[8px]" >
488
-
489
- <img class="tw-w-[36px] tw-h-[36px] tw-rounded-[50%]" src="{avatar}" alt="avatar">
490
- <div class="video-comment-item-content">
491
- <div class="video-comment-item-content-header-name tw-text-black/50 tw-text-[12px]">{nickname}</div>
492
- <div class="video-comment-item-content-text tw-text-black tw-text-[14px]">{content}</div>
493
- <div class="video-comment-item-content-header-time tw-text-black/50 tw-text-[12px] tw-pb-[8px]">{time}</div>
494
- <div class="sub-comment-list {hasReply} tw-py-[8px]">
495
- <div data-comment-id="{commentId}">
496
- <div class="video-comment-item tw-flex tw-gap-[8px] tw-pt-[8px]" >
497
- <img class="tw-w-[36px] tw-h-[36px] tw-rounded-[50%]" src="{sub-avatar}" alt="avatar">
498
- <div class="video-comment-item-content">
499
- <div class="video-comment-item-content-header-name tw-text-black/50 tw-text-[12px]">{sub-nickname}</div>
500
- <div class="video-comment-item-content-text tw-text-black tw-text-[14px]">{sub-content}</div>
501
- <div class="video-comment-item-content-header-time tw-text-black/50 tw-text-[12px] tw-pb-[8px]">{sub-time}</div>
502
- </div>
503
- </div>
504
- </div>
505
- <div class="more-comment {hasMore} tw-text-[#378DDD] tw-text-[12px] tw-cursor-pointer" data-id="{commentId}" data-total="{total}" data-sub-comment-id="{subCommentId}">
506
- <span class="more-comment-text-num">{moreNum}</span>
507
- <span class="more-comment-text-text" >more replies</span>
508
- </div>
509
-
510
- </div>
511
- </div>
512
-
513
-
514
- </div>
515
- </script>
516
- <script type='text/template' id='world-video-header-footer'>
517
- <div class='page-header tw-w-[20px] lg:tw-w-[130px] xl:tw-w-[240px] tw-flex-shrink-0 max-lg:tw-hidden'>
518
- &nbsp;
519
- </div>
520
- <div
521
- id='video-page-content-footer'
522
- class='page-footer tw-w-[100px] lg:tw-w-[240px] tw-flex-shrink-0 tw-flex tw-justify-center'
523
- >
524
- <span class='tw-daisy-loading tw-daisy-loading-dots tw-daisy-loading-lg'></span>
525
- </div>
526
- </script>
527
- </world-video-list>
528
-
529
- <script defer src='{{ 'zz-http-request.js' | asset_url }}'></script>
530
- <script defer src='{{ 'zz-world-video-list.js' | asset_url }}'></script>
531
- <script defer src='{{ 'zz-world-video-dialog.js' | asset_url }}'></script>
532
- <script defer src='{{ 'zz-world-video-comments-dialog.js' | asset_url }}'></script>
533
- <script defer src='{{ 'zz-world-video.js' | asset_url }}'></script>
534
- <style>
535
- body.modal-open {
536
- overflow: hidden;
537
- touch-action: none;
538
- }
539
- body {
540
- overflow-x: hidden;
541
- }
542
- #shopify-block-{{ block.id }} {
543
- width: 100%;
544
- }
545
- #shopify-block-{{ block.id }} .video-page-list {
546
- scroll-snap-type: x mandatory;
547
- scroll-behavior: smooth;
548
-
549
- }
550
- #shopify-block-{{ block.id }} .swiper-button-next:after,
551
- #shopify-block-{{ block.id }} .swiper-button-prev:after {
552
- display: none;
553
- }
554
-
555
- .world-video-modal-mask {
556
- display: none;
557
- }
558
-
559
- .world-video-modal {
560
-
561
- display: none;
562
- transition: translate 0.3s ease, scale 0.3s ease;
563
- }
564
- .world-video-comments-mask {
565
- display: none;
566
- }
567
- .word-video-comments-modal {
568
- display: none;
569
- transition: translate 0.3s ease, scale 0.3s ease;
570
- border-radius: 20px 0 0 20px;
571
- transform: translateY(100%);
572
- }
573
- .word-video-comments-modal.show {
574
- transform: translateY(0);
575
- }
576
- .word-video-comments-list {
577
- height: calc(100% - 64px);
578
- }
579
-
580
- /* PC端样式 */
581
- @media (min-width: 1024px) {
582
- .world-video-modal {
583
- top: 50%;
584
- left: 50%;
585
- transform: translate(-50%, -50%) scale(0.7);
586
- opacity: 0;
587
-
588
- }
589
-
590
- .world-video-modal.show {
591
- transform: translate(-50%, -50%) scale(1);
592
- opacity: 1;
593
- }
594
- .controls:hover .controls-container {
595
- display: block;
596
- }
597
- .controls:hover ~ .overlay {
598
- display: none;
599
- }
600
- .controls-container {
601
- }
602
-
603
- }
604
-
605
- /* 移动端样式 */
606
- @media (max-width: 1023px) {
607
- .world-video-modal {
608
- bottom: 0;
609
- left: 0;
610
- width: 100%;
611
- border-bottom-left-radius: 0;
612
- border-bottom-right-radius: 0;
613
- transform: translateY(100%);
614
- }
615
- .word-video-comments-modal {
616
- border-radius: 20px 20px 0 0;
617
- }
618
-
619
- .world-video-modal.show {
620
- transform: translateY(0);
621
- }
622
- #shopify-block-{{ block.id }} .overlay {
623
- height: 100dvh;
624
- }
625
-
626
- }
627
-
628
- .video-page-list {
629
- -webkit-overflow-scrolling: touch; /* 移动端流畅滚动(可选) */
630
- scrollbar-width: none; /* Firefox */
631
- -ms-overflow-style: none; /* IE 和 Edge */
632
- }
633
- .video-page-list::-webkit-scrollbar {
634
- width: 0px; /* 隐藏滚动条 */
635
- }
636
- .video-page-list::-webkit-scrollbar {
637
- display: none;
638
- }
639
- </style>
1
+ {% schema %}
2
+ {
3
+ "name": "World Video",
4
+ "class": "world-video-list",
5
+ "settings": [
6
+ {
7
+ "type": "select",
8
+ "id": "shop_select",
9
+ "label": "站点选择",
10
+ "options": [
11
+ { "value": "OFFICIAL", "label": "官网 central" },
12
+ { "value": "US", "label": "US" },
13
+ { "value": "EU", "label": "EU" },
14
+ { "value": "UK", "label": "UK" },
15
+ { "value": "GLOBAL", "label": "GLOBAL" },
16
+ { "value": "JP", "label": "JP" },
17
+ { "value": "TW", "label": "TW" }
18
+ ],
19
+ "default": "OFFICIAL"
20
+ },
21
+ {
22
+ "type": "select",
23
+ "id": "request_type",
24
+ "label": "请求类型",
25
+ "options": [
26
+ { "value": "prod", "label": "正式" },
27
+ { "value": "test", "label": "测试" }
28
+ ],
29
+ "default": "test"
30
+ },
31
+ {
32
+ "type": "image_picker",
33
+ "id": "img_141_icon",
34
+ "label": "141 产品icon"
35
+ },
36
+ {
37
+ "type": "image_picker",
38
+ "id": "img_130_icon",
39
+ "label": "130 产品icon"
40
+ },
41
+ {
42
+ "type": "textarea",
43
+ "id": "links_130",
44
+ "label": "Sites Link 130",
45
+ "info": "国家对应链接的表,国家即是国家选择器上显示的字段,国家和路由之间用冒号隔开( 冒号后要加空格)。国家之间换行,“default”为其他未写的默认的链接 EG: Canada: https://hoverair.com/ default: https://hoverair.com/ "
46
+ },
47
+ {
48
+ "type": "textarea",
49
+ "id": "links_141",
50
+ "label": "Sites Link 141",
51
+ "info": "国家对应链接的表,国家即是国家选择器上显示的字段,国家和路由之间用冒号隔开( 冒号后要加空格)。国家之间换行,“default”为其他未写的默认的链接 EG: Canada: https://hoverair.com/ default: https://hoverair.com/ "
52
+ }
53
+ ],
54
+ "presets": [
55
+ {
56
+ "name": "World Video"
57
+ }
58
+ ]
59
+ }
60
+ {% endschema %}
61
+
62
+ <world-video-list
63
+ data-x1pro-img='{{block.settings.img_141_icon | image_url}}'
64
+ data-x1-img='{{block.settings.img_130_icon | image_url}}'
65
+ data-x1pro-links='{{block.settings.links_141 | url_encode }}'
66
+ data-x1-links='{{block.settings.links_130 | url_encode }}'
67
+ data-request-type='{{ block.settings.request_type }}'
68
+ data-shop-select='{{ block.settings.shop_select }}'
69
+ >
70
+ <div class='tw-flex tw-justify-center tw-items-center tw-my-[30px] lg:tw-my-[80px]'>
71
+ <div class='world-video-switch tw-flex tw-w-[336px] lg:tw-w-[360px] tw-h-[42px] tw-bg-[#F3F3F3] tw-rounded-[21px] tw-overflow-hidden '>
72
+ <button
73
+ id='switch-pro'
74
+ class='tw-flex-1 tw-border-none tw-h-full tw-text-[13px] lg:tw-text-[16px] tw-bg-black tw-text-white tw-rounded-[21px] tw-transition-colors'
75
+ style='font-size: 16px;'
76
+ >
77
+ X1 PRO&PROMAX
78
+ </button>
79
+ <button
80
+ id='switch-x1'
81
+ class='tw-flex-1 tw-border-none tw-h-full tw-rounded-[21px] tw-text-[13px] lg:tw-text-[16px] tw-bg-transparent tw-text-black tw-transition-colors'
82
+ style='font-size: 16px;'
83
+ >
84
+ X1
85
+ </button>
86
+ </div>
87
+ </div>
88
+ <div class='tw-relative tw-w-full'>
89
+ <div
90
+ id='video-page-content'
91
+ class='video-page-list tw-flex tw-overflow-x-scroll tw-w-full lg:tw-pr-[120px] tw-pr-[20px]'
92
+ >
93
+ <div
94
+ class='tw-w-full tw-h-[100px] tw-flex tw-justify-center tw-items-center'
95
+ >
96
+ <span
97
+ class='tw-daisy-loading tw-daisy-loading-dots tw-daisy-loading-lg'
98
+ ></span>
99
+ </div>
100
+ </div>
101
+
102
+ <div class='video-page-left-arrow tw-cursor-pointer tw-bg-white/20 tw-backdrop-blur-[10px] tw-rounded-[50%] max-lg:tw-hidden tw-absolute tw-left-[48px] tw-top-1/2 tw-translate-y-[-50%]'>
103
+ <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
104
+ <foreignObject x="-10" y="-10" width="68" height="68"><div xmlns="http://www.w3.org/1999/xhtml" style="backdrop-filter:blur(5px);clip-path:url(#bgblur_0_11239_23806_clip_path);height:100%;width:100%"></div></foreignObject><rect data-figma-bg-blur-radius="10" width="48" height="48" rx="24" fill="white" fill-opacity="0.3"/>
105
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M19 24L26.0711 16.9289L26.0608 19.1149L21.1757 24L26.0711 28.8718L26.0711 31.0711L19 24Z" fill="white"/>
106
+ <defs>
107
+ <clipPath id="bgblur_0_11239_23806_clip_path" transform="translate(10 10)"><rect width="48" height="48" rx="24"/>
108
+ </clipPath></defs>
109
+ </svg>
110
+
111
+ </div>
112
+ <div class='video-page-right-arrow tw-cursor-pointer tw-bg-white/20 tw-backdrop-blur-[10px] tw-rounded-[50%] max-lg:tw-hidden tw-absolute tw-right-[48px] tw-top-1/2 tw-translate-y-[-50%]'>
113
+ <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
114
+ <foreignObject x="-10" y="-10" width="68" height="68"><div xmlns="http://www.w3.org/1999/xhtml" style="backdrop-filter:blur(5px);clip-path:url(#bgblur_0_11239_23800_clip_path);height:100%;width:100%"></div></foreignObject><rect data-figma-bg-blur-radius="10" width="48" height="48" rx="24" fill="white" fill-opacity="0.3"/>
115
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M29 24L21.9289 16.9289L21.9392 19.1149L26.8243 24L21.9289 28.8718L21.9289 31.0711L29 24Z" fill="white"/>
116
+ <defs>
117
+ <clipPath id="bgblur_0_11239_23800_clip_path" transform="translate(10 10)"><rect width="48" height="48" rx="24"/>
118
+ </clipPath></defs>
119
+ </svg>
120
+
121
+ </div>
122
+
123
+ </div>
124
+
125
+ <world-video-dialog
126
+ data-x1pro-img='{{block.settings.img_141_icon | image_url}}'
127
+ data-x1-img='{{block.settings.img_130_icon | image_url}}'
128
+ data-x1pro-links='{{block.settings.links_141 | url_encode }}'
129
+ data-x1-links='{{block.settings.links_130 | url_encode }}'
130
+ data-request-type='{{ block.settings.request_type }}'
131
+ >
132
+ <!-- 蒙层 -->
133
+ <div
134
+ id='world-video-modalMask'
135
+ class='world-video-modal-mask tw-bg-black/60 tw-fixed tw-inset-0 tw-z-[1000]'
136
+ >
137
+ <div class='close-modal-btn max-lg:tw-hidden tw-z-[10042] tw-w-[40px] tw-h-[40px] tw-cursor-pointer tw-absolute tw-top-[20px] tw-right-[20px]'>
138
+ <img
139
+ class='tw-w-full tw-h-full'
140
+ width='40'
141
+ height='40'
142
+ src='https://cdn.shopify.com/s/files/1/0891/9796/9711/files/Group_1509997654.png?v=1746510524'
143
+ alt='close button'
144
+ >
145
+ </div>
146
+ </div>
147
+ <!-- 弹窗 -->
148
+ <div
149
+ id='world-video-modal'
150
+ class='world-video-modal max-lg:tw-w-screen max-lg:tw-h-screen max-lg:tw-bg-black tw-fixed tw-z-[1001] max-lg:tw-z-[10005]'
151
+ >
152
+ <div class='video-page-swiper tw-overflow-hidden max-lg:tw-w-screen max-lg:tw-h-screen lg:tw-w-[854px] lg:tw-h-[480px] xl:tw-w-[960px] xl:tw-h-[540px]'>
153
+ {% comment %} 轮播图, 弹起时候获取,往swiper-wrapper中添加swiper-slide {% endcomment %}
154
+ <div
155
+ class='swiper-wrapper max-lg:tw-w-screen max-lg:tw-h-screen lg:tw-w-[854px] lg:tw-h-[480px] xl:tw-w-[960px] xl:tw-h-[540px]'
156
+ id='video-swiper-wrapper'
157
+ ></div>
158
+ <div class='swiper-button-prev !tw-w-[48px] !tw-h-[48px] tw-cursor-pointer max-lg:tw-hidden tw-absolute !tw-left-[-100px] !tw-top-1/2 !tw-translate-y-[-50%]'>
159
+ <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
160
+ <foreignObject x="-10" y="-10" width="68" height="68"><div xmlns="http://www.w3.org/1999/xhtml" style="backdrop-filter:blur(5px);clip-path:url(#bgblur_0_11239_23806_clip_path);height:100%;width:100%"></div></foreignObject><rect data-figma-bg-blur-radius="10" width="48" height="48" rx="24" fill="white" fill-opacity="0.3"/>
161
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M19 24L26.0711 16.9289L26.0608 19.1149L21.1757 24L26.0711 28.8718L26.0711 31.0711L19 24Z" fill="white"/>
162
+ <defs>
163
+ <clipPath id="bgblur_0_11239_23806_clip_path" transform="translate(10 10)"><rect width="48" height="48" rx="24"/>
164
+ </clipPath></defs>
165
+ </svg>
166
+
167
+ </div>
168
+ <div class='swiper-button-next !tw-w-[48px] !tw-h-[48px] tw-cursor-pointer max-lg:tw-hidden tw-absolute !tw-right-[-100px] tw-top-1/2 !tw-translate-y-[-50%]'>
169
+ <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
170
+ <foreignObject x="-10" y="-10" width="68" height="68"><div xmlns="http://www.w3.org/1999/xhtml" style="backdrop-filter:blur(5px);clip-path:url(#bgblur_0_11239_23800_clip_path);height:100%;width:100%"></div></foreignObject><rect data-figma-bg-blur-radius="10" width="48" height="48" rx="24" fill="white" fill-opacity="0.3"/>
171
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M29 24L21.9289 16.9289L21.9392 19.1149L26.8243 24L21.9289 28.8718L21.9289 31.0711L29 24Z" fill="white"/>
172
+ <defs>
173
+ <clipPath id="bgblur_0_11239_23800_clip_path" transform="translate(10 10)"><rect width="48" height="48" rx="24"/>
174
+ </clipPath></defs>
175
+ </svg>
176
+
177
+ </div>
178
+
179
+
180
+
181
+ </div>
182
+
183
+ </div>
184
+
185
+ </world-video-dialog>
186
+ {% comment %} 模板 {% endcomment %}
187
+ <script type='text/template' id='video-page-item'>
188
+ <div class="tw-flex tw-scroll-snap-align-start tw-ml-[8px] lg:tw-ml-[20px]">
189
+ <div class="tw-w-[80vw] lg:tw-w-[740px] {item-display-1}">
190
+ <div class="video-item tw-w-full tw-h-[36.8vw] lg:tw-h-[340px] tw-cursor-pointer {item-display-1}" data-item="{video-item-1}">
191
+ <video class="word-lazy-video world-lozad tw-w-full tw-h-full tw-object-cover tw-rounded-[10px] lg:tw-rounded-[20px]" data-poster="{poster-1}" muted autoplay playsinline x5-video-player-type="h5" webkit-playsinline loop data-video-index="video-1" >
192
+ <source type='video/mp4'
193
+ data-src="{video-1}"
194
+ >
195
+ </video>
196
+ </div>
197
+ <div class="tw-flex tw-w-full tw-h-[46.4vw] lg:tw-h-[204px] tw-mt-[8px] lg:tw-mt-[20px] {item-display-2}">
198
+ <div class="video-item tw-flex-1 tw-relative tw-cursor-pointer tw-h-full {item-display-2}" data-item="{video-item-2}">
199
+ <img class="play-icon tw-absolute tw-w-[32px] tw-h-[32px] lg:tw-w-[80px] lg:tw-h-[80px] tw-top-[50%] tw-left-[50%] tw-translate-x-[-50%] tw-translate-y-[-50%]" src="https://cdn.shopify.com/s/files/1/0891/9796/9711/files/video_on.png?v=1745996489">
200
+ <img class="tw-w-full tw-h-full tw-rounded-[10px] lg:tw-rounded-[20px] tw-object-cover" src="{video-2}" alt="" data-video-index="video-2"/>
201
+ </div>
202
+ <div class="video-item tw-flex-1 tw-relative tw-cursor-pointer tw-ml-[8px] lg:tw-ml-[20px] tw-h-full {item-display-3}" data-item="{video-item-3}">
203
+ <img class="tw-h-full tw-w-full tw-rounded-[10px] lg:tw-rounded-[20px] tw-object-cover" src="{video-3}" alt="" data-video-index="video-3"/>
204
+ <img class="play-icon tw-absolute tw-w-[32px] tw-h-[32px] lg:tw-w-[80px] lg:tw-h-[80px] tw-top-[50%] tw-left-[50%] tw-translate-x-[-50%] tw-translate-y-[-50%]" src="https://cdn.shopify.com/s/files/1/0891/9796/9711/files/video_on.png?v=1745996489">
205
+ </div>
206
+ </div>
207
+ </div>
208
+ <div class="video-item tw-w-[48vw] lg:tw-w-[360px] tw-h-full lg:tw-h-[564px] tw-ml-[8px] lg:tw-ml-[20px] tw-cursor-pointer {item-display-4}" data-item="{video-item-4}">
209
+ <video class="word-lazy-video world-lozad tw-w-full tw-h-full tw-object-cover tw-rounded-[10px] lg:tw-rounded-[20px]" data-poster="{poster-4}" muted autoplay playsinline x5-video-player-type="h5" webkit-playsinline loop data-video-index="video-4" >
210
+ <source type='video/mp4'
211
+ data-src="{video-4}"
212
+ >
213
+ </video>
214
+ </div>
215
+
216
+ </div>
217
+ <div class="tw-flex tw-scroll-snap-align-start tw-ml-[8px] lg:tw-ml-[20px] {item-display-5}">
218
+ <div class="tw-w-[80vw] lg:tw-w-[740px] {item-display-5}">
219
+ <div class="tw-flex tw-w-full tw-h-[46.4vw] lg:tw-h-[204px] {item-display-5}">
220
+ <div class="video-item tw-relative tw-flex-1 tw-cursor-pointer {item-display-5}" data-item="{video-item-5}">
221
+ <img class="tw-w-full tw-h-full tw-rounded-[10px] lg:tw-rounded-[20px] tw-object-cover" src="{video-5}" alt="" data-video-index="video-5" />
222
+ <img class="play-icon tw-absolute tw-w-[32px] tw-h-[32px] lg:tw-w-[80px] lg:tw-h-[80px] tw-top-[50%] tw-left-[50%] tw-translate-x-[-50%] tw-translate-y-[-50%]" src="https://cdn.shopify.com/s/files/1/0891/9796/9711/files/video_on.png?v=1745996489">
223
+ </div>
224
+ <div class="video-item tw-relative tw-flex-1 tw-cursor-pointer tw-ml-[8px] lg:tw-ml-[20px] tw-h-full {item-display-6}" data-item="{video-item-6}">
225
+ <img class="tw-w-full tw-h-full tw-rounded-[10px] lg:tw-rounded-[20px] tw-object-cover" src="{video-6}" alt="" data-video-index="video-6"/>
226
+ <img class="play-icon tw-absolute tw-w-[32px] tw-h-[32px] lg:tw-w-[80px] lg:tw-h-[80px] tw-top-[50%] tw-left-[50%] tw-translate-x-[-50%] tw-translate-y-[-50%]" src="https://cdn.shopify.com/s/files/1/0891/9796/9711/files/video_on.png?v=1745996489">
227
+ </div>
228
+
229
+
230
+ </div>
231
+ <div class="video-item tw-w-full tw-h-[36.8vw] lg:tw-h-[340px] tw-cursor-pointer tw-mt-[8px] lg:tw-mt-[20px] {item-display-7}" data-item="{video-item-7}">
232
+ <video class="word-lazy-video world-lozad tw-w-full tw-h-full tw-object-cover tw-rounded-[10px] lg:tw-rounded-[20px]" data-poster="{poster-7}" muted autoplay playsinline x5-video-player-type="h5" webkit-playsinline loop data-video-index="video-7" >
233
+ <source type='video/mp4'
234
+ data-src="{video-7}"
235
+ >
236
+ </video>
237
+ </div>
238
+ </div>
239
+ <div class="video-item tw-w-[48vw] lg:tw-w-[360px] lg:tw-h-[564px] tw-h-full tw-ml-[8px] lg:tw-ml-[20px] {item-display-8}" data-item="{video-item-8}">
240
+ <video class="word-lazy-video world-lozad tw-w-full tw-cursor-pointer tw-h-full tw-object-cover tw-rounded-[10px] lg:tw-rounded-[20px]" data-poster="{poster-8}" muted autoplay playsinline x5-video-player-type="h5" webkit-playsinline loop data-video-index="video-8" >
241
+ <source type='video/mp4'
242
+ data-src="{video-8}"
243
+ >
244
+ </video>
245
+ </div>
246
+
247
+ </div>
248
+ </script>
249
+ <script type='text/template' id='video-swiper-slide'>
250
+ <div class='swiper-slide max-lg:tw-w-full max-lg:tw-h-full lg:tw-w-[854px] lg:tw-h-[480px] xl:tw-w-[960px] xl:tw-h-[540px] lg:tw-rounded-[20px] tw-relative'>
251
+ <world-video data-id='{id}' data-product-links="{product-links}">
252
+ <video
253
+ class='word-slide-lazy-video video-player tw-bg-black tw-w-full tw-h-full lg:tw-w-[854px] lg:tw-h-[480px] xl:tw-w-[960px] xl:tw-h-[540px] lg:tw-rounded-[20px]'
254
+ playsinline
255
+ x5-video-player-type="h5"
256
+ webkit-playsinline
257
+ poster="{poster-url}"
258
+ loop
259
+ >
260
+ <source type='video/mp4'
261
+ src="{video-url}"
262
+ >
263
+ </video>
264
+ <div class="controls lg:tw-min-h-[40px] tw-absolute lg:tw-bottom-0 max-lg:tw-bottom-[56px] tw-left-0 tw-right-0 tw-w-full tw-flex tw-flex-col tw-gap-[12px] tw-pb-[6px] tw-pt-[6px] tw-z-50 lg:tw-px-[60px] max-lg:tw-px-[20px] tw-box-border">
265
+ <div class="controls-container lg:tw-hidden">
266
+ <div class="progress-container tw-w-full tw-h-[4px] tw-bg-white/20 tw-rounded-[3px] tw-cursor-pointer tw-relative">
267
+ <div class="progress-bar tw-h-[4px] tw-bg-white tw-rounded-[3px] tw-w-0 tw-relative">
268
+ <div class="progress-handle tw-w-[12px] tw-h-[12px] tw-bg-white tw-rounded-[50%] tw-absolute tw-top-[50%] tw-right-[-6px] tw-translate-y-[-50%]">&nbsp;</div>
269
+ </div>
270
+ </div>
271
+ <div class="buttons-container tw-flex tw-justify-between max-lg:tw-hidden lg:tw-mt-[6px]">
272
+
273
+ <div class="play-volume-container tw-flex tw-items-center tw-gap-[20px]">
274
+ <div class="play-pause ">
275
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
276
+ <rect x="6.6001" y="5.09961" width="3.6" height="13.8" rx="0.9" fill="white"/>
277
+ <rect x="13.7998" y="5.09961" width="3.6" height="13.8" rx="0.9" fill="white"/>
278
+ </svg>
279
+
280
+ </div>
281
+ <div class="time-display tw-text-white tw-text-[12px]">
282
+ <span class="current-time tw-inline-block tw-min-w-[30px]">0:00</span> / <span class="total-time tw-text-white/60">0:00</span>
283
+ </div>
284
+ </div>
285
+ <div class="volume-btn">
286
+ <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
287
+ <path d="M-0.000976562 6.81816C-0.000976562 6.3663 0.365326 6 0.817183 6H4.27166L8.5972 1.60038C9.11057 1.07822 9.99878 1.44172 9.99878 2.17398V17.815C9.99878 18.5468 9.11159 18.9105 8.59792 18.3893L4.27166 14H0.817183C0.365326 14 -0.000976562 13.6337 -0.000976562 13.1818V6.81816Z" fill="white"/>
288
+ <path d="M13.2734 6.31152C14.4639 7.10304 15.2485 8.45651 15.2485 9.99324C15.2485 11.53 14.4639 12.8834 13.2734 13.675" stroke="white" stroke-width="1.3" stroke-linecap="round"/>
289
+ <path d="M15.7246 3.89258C17.6972 5.20412 18.9972 7.44685 18.9972 9.99323C18.9972 12.5396 17.6972 14.7823 15.7246 16.0939" stroke="white" stroke-width="1.3" stroke-linecap="round"/>
290
+ </svg>
291
+
292
+ </div>
293
+
294
+ </div>
295
+ </div>
296
+ </div>
297
+ <div class='overlay video-info tw-w-full tw-h-full tw-absolute tw-bottom-0 tw-left-0 tw-flex tw-flex-col tw-justify-end tw-z-40'>
298
+ <div class='pc-video-info tw-w-full tw-flex max-lg:tw-hidden tw-justify-between tw-items-end tw-pb-[54px] tw-px-[60px] tw-box-border'>
299
+ <div>
300
+ <div class='max-lg:tw-hidden tw-mb-[12px] tw-flex tw-items-center tw-gap-[9px]'>
301
+ <img
302
+ class='tw-w-[36px] tw-h-[36px] tw-rounded-[50%] tw-bg-white'
303
+ src='{avatar}'
304
+ width='36'
305
+ height='36'
306
+ alt='avatar'
307
+ >
308
+ <div class='tw-flex tw-flex-col tw-gap-[4px]'>
309
+ <span class='tw-text-[14px] tw-font-blod tw-text-white tw-leading-[1.5]'
310
+ >{nickname}</span
311
+ >
312
+ <span class='tw-text-[14px] tw-font-medium tw-text-white/50 tw-leading-[1.5]'
313
+ >@{nickname}</span
314
+ >
315
+ </div>
316
+ </div>
317
+ <div class='tw-text-[14px] tw-mb-[20px] tw-w-[320px] tw-font-[500] tw-text-white/70 tw-leading-[1.5]'>
318
+ {content}
319
+ </div>
320
+ <div class='tw-flex tw-items-center tw-gap-[40px]'>
321
+ <div class='video-like-btn tw-flex tw-items-center tw-gap-[4px] tw-text-white/70 tw-font-medium tw-text-[16px]'>
322
+ <svg
323
+ width='24'
324
+ height='24'
325
+ viewBox='0 0 24 24'
326
+ fill='none'
327
+ xmlns='http://www.w3.org/2000/svg'
328
+ >
329
+ <path d="M7.76465 3.57422H7.76562C9.14354 3.57246 10.4742 4.08002 11.5 5C11.7846 5.25525 12.215 5.25577 12.5 5.00098C14.0954 3.574 16.3593 3.18434 18.333 3.98145L18.5234 4.0625C20.5401 4.96453 21.8387 6.96759 21.8389 9.17676C21.8389 11.7565 20.415 14.1798 18.6104 16.1152L18.2451 16.4961C16.39 18.37 14.157 19.7975 12.4658 20.4404L12.1348 20.5586C12.0692 20.5803 12 20.5861 11.9326 20.5752L11.8662 20.5586C10.2514 20.022 8.03343 18.678 6.13281 16.8652L5.75684 16.4961L5.39062 16.1152C3.58519 14.1791 2.16211 11.7563 2.16211 9.17676C2.16232 6.17928 4.51634 3.73118 7.47656 3.58105L7.76465 3.57422Z" stroke="white" stroke-opacity="0.7" stroke-width="1.5" stroke-linejoin="round"/>
330
+ </svg>
331
+ <span>{likeCount}</span>
332
+ </div>
333
+ <div class='video-comments-btn tw-cursor-pointer tw-flex tw-items-center tw-gap-[4px] tw-text-white/70 tw-font-medium tw-text-[16px]' data-id="{mediaId}">
334
+ <svg
335
+ width='24'
336
+ height='24'
337
+ viewBox='0 0 24 24'
338
+ fill='none'
339
+ xmlns='http://www.w3.org/2000/svg'
340
+ >
341
+ <path d="M3 4.75H21C21.1381 4.75 21.25 4.86193 21.25 5V18C21.25 18.1381 21.1381 18.25 21 18.25H16.333C16.0017 18.2501 15.678 18.3438 15.3994 18.5195L15.2832 18.5996L12.1504 20.9502C12.0837 21.0002 11.9979 21.0123 11.9219 20.9873L11.8496 20.9502L8.7168 18.5996C8.41399 18.3725 8.04548 18.2501 7.66699 18.25H3C2.86193 18.25 2.75 18.1381 2.75 18V5C2.75 4.86193 2.86193 4.75 3 4.75Z" stroke="white" stroke-opacity="0.7" stroke-width="1.5" stroke-linejoin="round"/>
342
+ <path d="M8 11.5H16" stroke="white" stroke-opacity="0.7" stroke-width="1.5" stroke-linecap="round"/>
343
+ </svg>
344
+
345
+ <span>{commentCount}</span>
346
+ </div>
347
+ </div>
348
+ </div>
349
+ <div
350
+ class='tw-flex world-video-learn-more tw-cursor-pointer tw-items-center tw-gap-[12px] tw-bg-white/20 tw-backdrop-blur-[10px] tw-text-white tw-font-medium tw-h-[48px] tw-rounded-[100px] tw-px-[24px]'
351
+ data-product-type='{product-type}'
352
+ >
353
+ <img
354
+ class='product-icon tw-w-[auto] tw-h-[34px]'
355
+ width='auto'
356
+ height='34'
357
+ src='{product-icon}'
358
+ >
359
+ Learn more
360
+ </div>
361
+ </div>
362
+ <div class='mb-video-info lg:tw-hidden tw-w-full tw-px-[20px] tw-pb-[12px] tw-box-border'>
363
+ <div class='tw-flex tw-justify-between tw-items-end'>
364
+ <div class='tw-text-[12px] tw-w-[160px] tw-font-[500] tw-text-white/70 tw-leading-[1.5]'>
365
+ {content}
366
+ </div>
367
+ <div
368
+ class='tw-flex world-video-learn-more tw-cursor-pointer tw-items-center tw-gap-[12px] tw-bg-white/20 tw-backdrop-blur-[10px] tw-text-white tw-font-medium tw-h-[36px] tw-rounded-[75px] tw-px-[18px]'
369
+ data-product-type='{product-type}'
370
+ >
371
+ <img
372
+ class='product-icon tw-w-[auto] tw-h-[25px]'
373
+ width='auto'
374
+ height='25'
375
+ src='{product-icon}'
376
+ >
377
+ Learn more
378
+ </div>
379
+ </div>
380
+ <div class='tw-flex tw-justify-between tw-mt-[34px] tw-items-center'>
381
+ <div class='tw-flex tw-items-center tw-gap-[9px]'>
382
+ <img
383
+ class='tw-w-[36px] tw-h-[36px] tw-rounded-[50%] tw-bg-white'
384
+ src='{avatar}'
385
+ width='36'
386
+ height='36'
387
+ alt='avatar'
388
+ >
389
+ <div class='tw-flex tw-flex-col tw-gap-[4px]'>
390
+ <span class='tw-text-[14px] tw-font-blod tw-text-white tw-leading-[1.5]'
391
+ >{nickname}</span
392
+ >
393
+ <span class='tw-text-[12px] tw-font-medium tw-text-white/50 tw-leading-[1.5]'
394
+ >@{nickname}</span
395
+ >
396
+ </div>
397
+ </div>
398
+ <div class='tw-flex tw-items-center tw-gap-[40px]'>
399
+ <div class='video-like-btn tw-flex tw-items-center tw-gap-[4px] tw-text-white/70 tw-font-medium tw-text-[12px]'>
400
+ <svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
401
+ <path d="M6.47046 3.47852H6.47144C7.61969 3.47705 8.72793 3.90035 9.58276 4.66699C9.81992 4.87968 10.1793 4.88024 10.4167 4.66797C11.7033 3.51726 13.5111 3.17579 15.1169 3.75684L15.4353 3.88574C17.1161 4.63739 18.1989 6.3063 18.199 8.14746C18.199 10.2973 17.0125 12.3168 15.5085 13.9297L15.2039 14.2471C13.6578 15.8088 11.7968 16.9986 10.3875 17.5342L10.1121 17.6318C10.0572 17.65 9.99945 17.6547 9.94312 17.6455L9.88843 17.6318C8.54259 17.1846 6.69407 16.0646 5.11011 14.5537L4.79761 14.2471H4.79663C3.15054 12.585 1.80151 10.4405 1.80151 8.14746C1.80161 5.64949 3.76332 3.60949 6.23022 3.48438L6.47046 3.47852Z" stroke="white" stroke-opacity="0.7" stroke-width="1.25" stroke-linejoin="round"/>
402
+ </svg>
403
+
404
+ <span>{likeCount}</span>
405
+ </div>
406
+ <div class='video-comments-btn tw-cursor-pointer tw-flex tw-items-center tw-gap-[4px] tw-text-white/70 tw-font-medium tw-text-[12px]' data-id="{mediaId}">
407
+ <svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
408
+ <path d="M2.49976 4.45801H17.4998C17.6147 4.45801 17.7086 4.5511 17.7087 4.66602V15.5C17.7086 15.6149 17.6147 15.708 17.4998 15.708H13.6111C13.3352 15.708 13.0658 15.7864 12.8337 15.9326L12.7361 16L10.1248 17.958C10.0693 17.9995 9.99852 18.0099 9.9353 17.9893L9.87476 17.958L7.2644 16C7.01209 15.8108 6.70479 15.7081 6.3894 15.708H2.49976C2.38496 15.7078 2.29192 15.6148 2.29175 15.5V4.66602C2.29192 4.55121 2.38495 4.45818 2.49976 4.45801Z" stroke="white" stroke-opacity="0.7" stroke-width="1.25" stroke-linejoin="round"/>
409
+ <path d="M6.66675 10.083H13.3334" stroke="white" stroke-opacity="0.7" stroke-width="1.25" stroke-linecap="round"/>
410
+ </svg>
411
+
412
+
413
+ <span>{commentCount}</span>
414
+ </div>
415
+ </div>
416
+ </div>
417
+ </div>
418
+ <div class='mb-voice-close lg:tw-hidden tw-absolute tw-z-[10020] tw-top-[20px] tw-right-[20px] tw-flex tw-items-center tw-justify-center tw-gap-[16px] tw-w-[80px] tw-h-[32px] tw-bg-white/20 tw-backdrop-blur-[10px] tw-rounded-[20px]'>
419
+ <div class='mb-word-video-volume-btn tw-cursor-pointer'>
420
+ <svg
421
+ width='20'
422
+ height='20'
423
+ viewBox='0 0 20 20'
424
+ fill='none'
425
+ xmlns='http://www.w3.org/2000/svg'
426
+ >
427
+ <path d="M12.7271 6.92578C13.7191 7.58537 14.3729 8.71327 14.3729 9.99388C14.3729 11.2745 13.7191 12.4024 12.7271 13.062" stroke="white" stroke-width="1.15381" stroke-linecap="round"/>
428
+ <path d="M14.7729 4.91113C16.4168 6.00409 17.5001 7.87303 17.5001 9.99501C17.5001 12.117 16.4168 13.9859 14.7729 15.0789" stroke="white" stroke-width="1.15381" stroke-linecap="round"/>
429
+ <path d="M3.50098 3.79785L15.8753 16.1722" stroke="white" stroke-width="1.25" stroke-linecap="round"/>
430
+ <path d="M10 12.5468V16.4891C9.9997 17.1018 9.25411 17.4031 8.82812 16.9628L5.22754 13.2372H1.93164C1.5553 13.2371 1.25022 12.9319 1.25 12.5555V7.43153C1.25 7.05503 1.55517 6.74997 1.93164 6.74988H4.20312L10 12.5468ZM8.82812 3.0243C9.25423 2.58404 10 2.88606 10 3.49891V10.4257L5.76562 6.19129L8.82812 3.0243Z" fill="white"/>
431
+ </svg>
432
+ </div>
433
+ <div class='mb-close-modal-btn tw-cursor-pointer'>
434
+ <svg
435
+ width='20'
436
+ height='20'
437
+ viewBox='0 0 20 20'
438
+ fill='none'
439
+ xmlns='http://www.w3.org/2000/svg'
440
+ >
441
+ <path d="M5.09961 14.9492L14.9991 5.04972" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
442
+ <path d="M5.09961 5.0498L14.9991 14.9493" stroke="white" stroke-width="1.5" stroke-linecap="round"/>
443
+ </svg>
444
+ </div>
445
+ </div>
446
+ </div>
447
+
448
+ <div class="video-play-btn lg:tw-hidden tw-absolute tw-w-[60px] tw-h-[60px] tw-z-[1009] tw-top-[50%] tw-left-[50%] tw-translate-x-[-50%] tw-translate-y-[-50%]">
449
+ <svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
450
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M48.0537 26.1529C50.9545 27.8974 50.9545 32.1026 48.0537 33.8471L25.5732 47.3658C22.5812 49.1651 18.7707 47.0101 18.7707 43.5187L18.7707 16.4813C18.7707 12.9899 22.5812 10.8349 25.5732 12.6342L48.0537 26.1529Z" fill="white" fill-opacity="0.6"/>
451
+ </svg>
452
+ </div>
453
+
454
+ <world-video-comments-dialog>
455
+ <div
456
+ class='world-video-comments-mask lg:tw-hidden tw-z-[1007] tw-bg-black/60 tw-fixed tw-inset-0 tw-z-[1000]'
457
+ ></div>
458
+ <div class="word-video-comments-modal tw-absolute tw-z-[1008] tw-bottom-0 tw-left-0 max-lg:tw-right-0 lg:tw-w-[375px] tw-w-full lg:tw-h-full max-lg:tw-h-[70vh] tw-bg-white">
459
+ <div class="word-video-comments-modal-content tw-w-full tw-h-full">
460
+ <div class="tw-flex tw-justify-between tw-items-center tw-px-[20px] tw-p-[20px]">
461
+ <div>&nbsp;</div>
462
+ <div class="reply-title tw-text-[15px] tw-font-medium tw-text-[#333333]"><span class="reply-title-num"></span> replies</div>
463
+
464
+ <div class="close-modal-btn tw-cursor-pointer">
465
+ <svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
466
+ <path d="M3 3.5L13 13.5" stroke="#979797" stroke-width="1.5" stroke-linecap="round"/>
467
+ <path d="M3 13.5L13 3.5" stroke="#979797" stroke-width="1.5" stroke-linecap="round"/>
468
+ </svg>
469
+ </div>
470
+ </div>
471
+ <div class="word-video-comments-list tw-overflow-y-auto tw-w-full tw-px-[20px] tw-pb-[20px] tw-box-border">
472
+ <div class="tw-h-[40px] tw-w-full word-video-comments-list-footer tw-flex tw-items-center tw-justify-center">
473
+ <span class="tw-daisy-loading tw-daisy-loading-dots tw-daisy-loading-md"></span>
474
+ </div>
475
+ </div>
476
+
477
+
478
+ </div>
479
+ </div>
480
+
481
+ </world-video-comments-dialog>
482
+
483
+ </world-video>
484
+ </div>
485
+ </script>
486
+ <script type='text/template' id='video-comment'>
487
+ <div class="video-comment-item tw-flex tw-gap-[8px] tw-pt-[8px]" >
488
+
489
+ <img class="tw-w-[36px] tw-h-[36px] tw-rounded-[50%]" src="{avatar}" alt="avatar">
490
+ <div class="video-comment-item-content">
491
+ <div class="video-comment-item-content-header-name tw-text-black/50 tw-text-[12px]">{nickname}</div>
492
+ <div class="video-comment-item-content-text tw-text-black tw-text-[14px]">{content}</div>
493
+ <div class="video-comment-item-content-header-time tw-text-black/50 tw-text-[12px] tw-pb-[8px]">{time}</div>
494
+ <div class="sub-comment-list {hasReply} tw-py-[8px]">
495
+ <div data-comment-id="{commentId}">
496
+ <div class="video-comment-item tw-flex tw-gap-[8px] tw-pt-[8px]" >
497
+ <img class="tw-w-[36px] tw-h-[36px] tw-rounded-[50%]" src="{sub-avatar}" alt="avatar">
498
+ <div class="video-comment-item-content">
499
+ <div class="video-comment-item-content-header-name tw-text-black/50 tw-text-[12px]">{sub-nickname}</div>
500
+ <div class="video-comment-item-content-text tw-text-black tw-text-[14px]">{sub-content}</div>
501
+ <div class="video-comment-item-content-header-time tw-text-black/50 tw-text-[12px] tw-pb-[8px]">{sub-time}</div>
502
+ </div>
503
+ </div>
504
+ </div>
505
+ <div class="more-comment {hasMore} tw-text-[#378DDD] tw-text-[12px] tw-cursor-pointer" data-id="{commentId}" data-total="{total}" data-sub-comment-id="{subCommentId}">
506
+ <span class="more-comment-text-num">{moreNum}</span>
507
+ <span class="more-comment-text-text" >more replies</span>
508
+ </div>
509
+
510
+ </div>
511
+ </div>
512
+
513
+
514
+ </div>
515
+ </script>
516
+ <script type='text/template' id='world-video-header-footer'>
517
+ <div class='page-header tw-w-[20px] lg:tw-w-[130px] xl:tw-w-[240px] tw-flex-shrink-0 max-lg:tw-hidden'>
518
+ &nbsp;
519
+ </div>
520
+ <div
521
+ id='video-page-content-footer'
522
+ class='page-footer tw-w-[100px] lg:tw-w-[240px] tw-flex-shrink-0 tw-flex tw-justify-center'
523
+ >
524
+ <span class='tw-daisy-loading tw-daisy-loading-dots tw-daisy-loading-lg'></span>
525
+ </div>
526
+ </script>
527
+ </world-video-list>
528
+
529
+ <script defer src='{{ 'zz-http-request.js' | asset_url }}'></script>
530
+ <script defer src='{{ 'zz-world-video-list.js' | asset_url }}'></script>
531
+ <script defer src='{{ 'zz-world-video-dialog.js' | asset_url }}'></script>
532
+ <script defer src='{{ 'zz-world-video-comments-dialog.js' | asset_url }}'></script>
533
+ <script defer src='{{ 'zz-world-video.js' | asset_url }}'></script>
534
+ <style>
535
+ body.modal-open {
536
+ overflow: hidden;
537
+ touch-action: none;
538
+ }
539
+ body {
540
+ overflow-x: hidden;
541
+ }
542
+ #shopify-block-{{ block.id }} {
543
+ width: 100%;
544
+ }
545
+ #shopify-block-{{ block.id }} .video-page-list {
546
+ scroll-snap-type: x mandatory;
547
+ scroll-behavior: smooth;
548
+
549
+ }
550
+ #shopify-block-{{ block.id }} .swiper-button-next:after,
551
+ #shopify-block-{{ block.id }} .swiper-button-prev:after {
552
+ display: none;
553
+ }
554
+
555
+ .world-video-modal-mask {
556
+ display: none;
557
+ }
558
+
559
+ .world-video-modal {
560
+
561
+ display: none;
562
+ transition: translate 0.3s ease, scale 0.3s ease;
563
+ }
564
+ .world-video-comments-mask {
565
+ display: none;
566
+ }
567
+ .word-video-comments-modal {
568
+ display: none;
569
+ transition: translate 0.3s ease, scale 0.3s ease;
570
+ border-radius: 20px 0 0 20px;
571
+ transform: translateY(100%);
572
+ }
573
+ .word-video-comments-modal.show {
574
+ transform: translateY(0);
575
+ }
576
+ .word-video-comments-list {
577
+ height: calc(100% - 64px);
578
+ }
579
+
580
+ /* PC端样式 */
581
+ @media (min-width: 1024px) {
582
+ .world-video-modal {
583
+ top: 50%;
584
+ left: 50%;
585
+ transform: translate(-50%, -50%) scale(0.7);
586
+ opacity: 0;
587
+
588
+ }
589
+
590
+ .world-video-modal.show {
591
+ transform: translate(-50%, -50%) scale(1);
592
+ opacity: 1;
593
+ }
594
+ .controls:hover .controls-container {
595
+ display: block;
596
+ }
597
+ .controls:hover ~ .overlay {
598
+ display: none;
599
+ }
600
+ .controls-container {
601
+ }
602
+
603
+ }
604
+
605
+ /* 移动端样式 */
606
+ @media (max-width: 1023px) {
607
+ .world-video-modal {
608
+ bottom: 0;
609
+ left: 0;
610
+ width: 100%;
611
+ border-bottom-left-radius: 0;
612
+ border-bottom-right-radius: 0;
613
+ transform: translateY(100%);
614
+ }
615
+ .word-video-comments-modal {
616
+ border-radius: 20px 20px 0 0;
617
+ }
618
+
619
+ .world-video-modal.show {
620
+ transform: translateY(0);
621
+ }
622
+ #shopify-block-{{ block.id }} .overlay {
623
+ height: 100dvh;
624
+ }
625
+
626
+ }
627
+
628
+ .video-page-list {
629
+ -webkit-overflow-scrolling: touch; /* 移动端流畅滚动(可选) */
630
+ scrollbar-width: none; /* Firefox */
631
+ -ms-overflow-style: none; /* IE 和 Edge */
632
+ }
633
+ .video-page-list::-webkit-scrollbar {
634
+ width: 0px; /* 隐藏滚动条 */
635
+ }
636
+ .video-page-list::-webkit-scrollbar {
637
+ display: none;
638
+ }
639
+ </style>