iceholidays-frontend 0.2.0 → 0.3.0
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.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/iceholidays/frontend/application.scss +93 -39
- data/app/controllers/iceholidays/frontend/application_controller.rb +1 -0
- data/app/javascript/react/components/Destinations.tsx +33 -62
- data/app/javascript/react/components/Homepage.tsx +0 -1
- data/app/javascript/react/components/HomepageBanner.tsx +18 -10
- data/app/javascript/react/components/Testimonials.tsx +30 -10
- data/app/javascript/react/components/shared/SlickButtonFix.tsx +19 -0
- data/app/views/iceholidays/frontend/site/index.html.erb +4 -4
- data/app/views/layouts/iceholidays/frontend/application.html.erb +1 -1
- data/app/views/layouts/iceholidays/frontend/shared/_header.html.erb +1 -1
- data/lib/iceholidays/frontend/engine.rb +11 -4
- data/lib/iceholidays/frontend/version.rb +1 -1
- data/public/iceholidays-assets/application.js +856 -0
- data/public/iceholidays-assets/application.js.map +7 -0
- data/public/iceholidays-assets/images/banner_arrow.png +0 -0
- data/public/iceholidays-assets/images/banner_right_arrow.png +0 -0
- metadata +37 -57
- data/app/assets/builds/iceholidays/frontend/5star-GEMYV5WA.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/Frame71-U6FKYUGB.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/Layer_1-24HTXUKI.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/Rectangle49-SVQRLXW6.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/africa-HBPEOBHM.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/application.js +0 -293
- data/app/assets/builds/iceholidays/frontend/application.js.map +0 -7
- data/app/assets/builds/iceholidays/frontend/banner1-OM6SQ5GW.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/banner2-BWOLYVUE.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/china-DX6D6FE2.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/china2-FESATHUH.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/chongqing-CCJWJDUN.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/guangzhou-JGSVPIYY.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/guilin-AXXU7K32.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/harbin-2YJL7HHH.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/hongkong-IPUEZ35P.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/inner_mongolia-EURVGQVT.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/jiangxi-DTEOQGIY.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/kenya-F5ZJOIBS.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/kenya2-CCJWJDUN.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/kunming-OCHNG2UW.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/slikroad-CVUSDDRO.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/southafrica-HBPEOBHM.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/tanzania-VJSRMTCY.digested.png +0 -0
- data/app/assets/builds/iceholidays/frontend/uganda-H4JWFN3A.digested.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/5star.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/Frame71.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/Group_71.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/Layer_1.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/Rectangle49.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/TS_Logo.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/about_st_bg.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/africa.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/banner1.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/banner2.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/china.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/china2.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/chongqing.png +0 -0
- /data/{app/assets/images/iceholidays/frontend/cover_img.jpeg → public/iceholidays-assets/images/cover_img.jpg} +0 -0
- /data/{app/assets/images/iceholidays/frontend/feature.jpeg → public/iceholidays-assets/images/feature.jpg} +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/guangzhou.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/guilin.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/harbin.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/hongkong.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/inner_mongolia.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/jiangxi.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/kenya.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/kenya2.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/kunming.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/logo_container.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/logomark.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/slikroad.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/southafrica.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/tanzania.png +0 -0
- /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/uganda.png +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 863654c2cf6a12a64a30d7ac313c3b3151e6772ba2f6fcfc6aa2160391dcc8bd
|
|
4
|
+
data.tar.gz: ec1f0394c55a0bc6a474ae0a96cbc5cca1e309d2e2f756437f7f615935f641f9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 903ac5ecac661c1062d2547570706c1965e1a1ca0d260167f91158442d49f05a6ba4bd00e4127726e988519718582d0d48692d5b9007a223f5b82bbd83a10e89
|
|
7
|
+
data.tar.gz: d9818be7bb909eaeb97d3b5693654c0b7c145602681916cfcd3aeab7979ca8ef2c0e39e990b54127e92442a806424e408f568ffe728bc96fefd92c839dfa5093
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
@import url("//fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,200;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,200;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
|
|
18
|
+
// @import "font-awesome.css";
|
|
18
19
|
|
|
19
20
|
$font-default: Poppins, san-serif;
|
|
20
21
|
|
|
@@ -68,7 +69,7 @@
|
|
|
68
69
|
display: unset !important;
|
|
69
70
|
width: 100% !important;
|
|
70
71
|
}
|
|
71
|
-
|
|
72
|
+
|
|
72
73
|
|
|
73
74
|
[class~='ant-carousel'] {
|
|
74
75
|
[class~='slick-dots'] {
|
|
@@ -96,12 +97,23 @@ width: 100% !important;
|
|
|
96
97
|
}
|
|
97
98
|
}
|
|
98
99
|
}
|
|
100
|
+
|
|
101
|
+
.slick-prev,
|
|
102
|
+
.slick-next{
|
|
103
|
+
width: unset;
|
|
104
|
+
height: unset;
|
|
105
|
+
|
|
106
|
+
&::after{
|
|
107
|
+
display: none;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
99
110
|
|
|
100
111
|
}
|
|
101
|
-
|
|
112
|
+
|
|
102
113
|
body{
|
|
103
114
|
margin: 0;
|
|
104
115
|
background: #F2F2F2;
|
|
116
|
+
font-family: Poppins, sans-serif;
|
|
105
117
|
}
|
|
106
118
|
|
|
107
119
|
#header{
|
|
@@ -269,7 +281,7 @@ body{
|
|
|
269
281
|
transform: scaleX(-1);
|
|
270
282
|
}
|
|
271
283
|
|
|
272
|
-
#
|
|
284
|
+
#homepage-banner{
|
|
273
285
|
width: 1440px;
|
|
274
286
|
height: 760px;
|
|
275
287
|
gap: 0px;
|
|
@@ -277,6 +289,19 @@ body{
|
|
|
277
289
|
opacity: 0px;
|
|
278
290
|
/* position: relative; */
|
|
279
291
|
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
[class~='ant-carousel'] {
|
|
295
|
+
.slick-prev{
|
|
296
|
+
inset-inline-start: 115px;
|
|
297
|
+
}
|
|
298
|
+
.slick-next{
|
|
299
|
+
inset-inline-end: 115px;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
|
|
280
305
|
}
|
|
281
306
|
|
|
282
307
|
#tagline{
|
|
@@ -343,22 +368,30 @@ body{
|
|
|
343
368
|
|
|
344
369
|
.top-cities .city-cover{
|
|
345
370
|
border-radius: 20px;
|
|
371
|
+
overflow: hidden;
|
|
346
372
|
}
|
|
347
373
|
|
|
348
374
|
.city-cover{
|
|
349
375
|
width: 540px;
|
|
350
|
-
}
|
|
351
|
-
.city-cover img{
|
|
352
|
-
width: 100%;
|
|
353
|
-
height: 230.5px;
|
|
354
|
-
gap: 0px;
|
|
355
|
-
opacity: 0px;
|
|
356
|
-
border-top-left-radius: 20px;
|
|
357
|
-
border-top-right-radius: 20px;
|
|
358
|
-
display: block;
|
|
359
|
-
object-fit: cover;
|
|
360
|
-
object-position: top center;
|
|
361
376
|
|
|
377
|
+
img{
|
|
378
|
+
width: 100%;
|
|
379
|
+
height: 230.5px;
|
|
380
|
+
gap: 0px;
|
|
381
|
+
opacity: 0px;
|
|
382
|
+
border-top-left-radius: 20px;
|
|
383
|
+
border-top-right-radius: 20px;
|
|
384
|
+
display: block;
|
|
385
|
+
object-fit: cover;
|
|
386
|
+
object-position: top center;
|
|
387
|
+
transition: transform 0.4s ease;
|
|
388
|
+
transform-origin: 50% 100%;
|
|
389
|
+
&:hover{
|
|
390
|
+
transform: scale(1.2);
|
|
391
|
+
width: 100%;
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
|
|
362
395
|
}
|
|
363
396
|
|
|
364
397
|
.top-cities .city-details{
|
|
@@ -403,10 +436,6 @@ cursor: pointer;
|
|
|
403
436
|
|
|
404
437
|
}
|
|
405
438
|
|
|
406
|
-
.city-details .tour-count:hover{
|
|
407
|
-
text-decoration: underline;
|
|
408
|
-
}
|
|
409
|
-
|
|
410
439
|
.country-info {
|
|
411
440
|
position: relative;
|
|
412
441
|
|
|
@@ -478,18 +507,29 @@ cursor: pointer;
|
|
|
478
507
|
margin: auto;
|
|
479
508
|
padding: 50px 170px 70px 170px;
|
|
480
509
|
// gap: 20px;
|
|
510
|
+
|
|
511
|
+
|
|
512
|
+
[class~='ant-carousel'] {
|
|
513
|
+
.slick-prev,
|
|
514
|
+
.slick-next{
|
|
515
|
+
color: #959492;
|
|
516
|
+
|
|
517
|
+
&:hover{
|
|
518
|
+
color: #DFB163;
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
}
|
|
481
522
|
}
|
|
482
523
|
.testimonial{
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
display: grid !important;
|
|
524
|
+
height: 383px;
|
|
525
|
+
padding: 10px 18px 20px 18px;
|
|
526
|
+
// gap: 15px;
|
|
527
|
+
border-radius: 20px;
|
|
528
|
+
opacity: 0px;
|
|
529
|
+
background: #FFFFFF;
|
|
530
|
+
box-shadow: 0px 5px 20px 0px #E1B65B33;
|
|
531
|
+
text-align: center;
|
|
532
|
+
display: grid !important;
|
|
493
533
|
}
|
|
494
534
|
|
|
495
535
|
.stars-icon{
|
|
@@ -511,7 +551,7 @@ display: grid !important;
|
|
|
511
551
|
background: linear-gradient(270deg, #F9E298 0%, #FFFDF5 117.76%);
|
|
512
552
|
box-shadow: 0px 7px 16.7px 0px #E1B65B80;
|
|
513
553
|
box-sizing: border-box;
|
|
514
|
-
display: flex;
|
|
554
|
+
display: inline-flex;
|
|
515
555
|
align-items: center;
|
|
516
556
|
|
|
517
557
|
|
|
@@ -530,6 +570,8 @@ text-align: left;
|
|
|
530
570
|
text-underline-position: from-font;
|
|
531
571
|
text-decoration-skip-ink: none;
|
|
532
572
|
color: #AA853E;
|
|
573
|
+
width: 100%;
|
|
574
|
+
display: block;
|
|
533
575
|
|
|
534
576
|
|
|
535
577
|
}
|
|
@@ -546,16 +588,28 @@ color: #AA853E;
|
|
|
546
588
|
|
|
547
589
|
}
|
|
548
590
|
|
|
549
|
-
.customer-name
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
letter-spacing: 0.05em;
|
|
555
|
-
text-align: left;
|
|
556
|
-
text-underline-position: from-font;
|
|
557
|
-
text-decoration-skip-ink: none;
|
|
591
|
+
.customer-name {
|
|
592
|
+
display: inline-flex;
|
|
593
|
+
align-items: center;
|
|
594
|
+
justify-content: center;
|
|
595
|
+
gap: 10px;
|
|
558
596
|
|
|
597
|
+
.author-icon{
|
|
598
|
+
color: rgba(0, 0, 0, 0.8);
|
|
599
|
+
width: 20px;
|
|
600
|
+
height: 20px;
|
|
601
|
+
}
|
|
602
|
+
span{
|
|
603
|
+
font-family: $font-default;
|
|
604
|
+
font-size: 20px;
|
|
605
|
+
font-weight: 400;
|
|
606
|
+
line-height: 30px;
|
|
607
|
+
letter-spacing: 0.05em;
|
|
608
|
+
text-align: left;
|
|
609
|
+
text-underline-position: from-font;
|
|
610
|
+
text-decoration-skip-ink: none;
|
|
611
|
+
|
|
612
|
+
}
|
|
559
613
|
}
|
|
560
614
|
.more-cities h2{
|
|
561
615
|
font-family: $font-default;
|
|
@@ -639,7 +693,7 @@ text-decoration-skip-ink: none;
|
|
|
639
693
|
}
|
|
640
694
|
|
|
641
695
|
.tour-count{
|
|
642
|
-
width:
|
|
696
|
+
width: 45px;
|
|
643
697
|
font-family: $font-default;
|
|
644
698
|
font-size: 12px;
|
|
645
699
|
font-weight: 400;
|
|
@@ -1,95 +1,71 @@
|
|
|
1
|
+
import { faCaretRight } from "@fortawesome/free-solid-svg-icons/faCaretRight";
|
|
2
|
+
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|
1
3
|
import { Tabs, TabsProps } from "antd";
|
|
2
4
|
import React from "react";
|
|
3
|
-
import africa from "../../../assets/images/iceholidays/frontend/africa.png";
|
|
4
|
-
|
|
5
|
-
import kenya from "../../../assets/images/iceholidays/frontend/kenya.png";
|
|
6
|
-
import kenya2 from "../../../assets/images/iceholidays/frontend/kenya2.png";
|
|
7
|
-
import southafrica from "../../../assets/images/iceholidays/frontend/southafrica.png";
|
|
8
|
-
|
|
9
|
-
import tanzania from "../../../assets/images/iceholidays/frontend/tanzania.png";
|
|
10
|
-
import uganda from "../../../assets/images/iceholidays/frontend/uganda.png";
|
|
11
|
-
|
|
12
|
-
import china from "../../../assets/images/iceholidays/frontend/china.png";
|
|
13
|
-
import china2 from "../../../assets/images/iceholidays/frontend/china2.png";
|
|
14
|
-
import chongqing from "../../../assets/images/iceholidays/frontend/chongqing.png";
|
|
15
|
-
import guangzhou from "../../../assets/images/iceholidays/frontend/guangzhou.png";
|
|
16
|
-
|
|
17
|
-
import frame71 from "../../../assets/images/iceholidays/frontend/Frame71.png";
|
|
18
|
-
import guilin from "../../../assets/images/iceholidays/frontend/guilin.png";
|
|
19
|
-
import hongkong from "../../../assets/images/iceholidays/frontend/hongkong.png";
|
|
20
|
-
import harbin from "../../../assets/images/iceholidays/frontend/harbin.png";
|
|
21
|
-
import inner_mongolia from "../../../assets/images/iceholidays/frontend/inner_mongolia.png";
|
|
22
|
-
import jiangxi from "../../../assets/images/iceholidays/frontend/jiangxi.png";
|
|
23
|
-
import kunming from "../../../assets/images/iceholidays/frontend/kunming.png";
|
|
24
|
-
import slikroad from "../../../assets/images/iceholidays/frontend/slikroad.png";
|
|
25
|
-
|
|
26
5
|
|
|
27
6
|
const countries = [
|
|
28
7
|
{
|
|
29
8
|
name: "Africa",
|
|
30
|
-
image: africa,
|
|
31
|
-
image2: africa,
|
|
9
|
+
image: "iceholidays-assets/images/africa.png",
|
|
32
10
|
topCities: [{
|
|
33
|
-
name: "Kenya",
|
|
34
|
-
image: kenya,
|
|
35
|
-
image2: kenya2,
|
|
11
|
+
name: "Kenya",
|
|
12
|
+
image: "iceholidays-assets/images/kenya.png",
|
|
36
13
|
},
|
|
37
14
|
{
|
|
38
|
-
name: "South Africa",
|
|
39
|
-
image: southafrica,
|
|
15
|
+
name: "South Africa",
|
|
16
|
+
image: "iceholidays-assets/images/southafrica.png",
|
|
40
17
|
},
|
|
41
18
|
{
|
|
42
19
|
name: "Tanzania",
|
|
43
|
-
image: tanzania,
|
|
20
|
+
image: "iceholidays-assets/images/tanzania.png",
|
|
44
21
|
},
|
|
45
22
|
{
|
|
46
|
-
name: "Uaganda",
|
|
47
|
-
image: uganda,
|
|
23
|
+
name: "Uaganda",
|
|
24
|
+
image: "iceholidays-assets/images/uganda.png",
|
|
48
25
|
}]
|
|
49
26
|
},
|
|
50
27
|
{
|
|
51
|
-
name: "China",
|
|
52
|
-
image: china,
|
|
53
|
-
image2: china2,
|
|
28
|
+
name: "China",
|
|
29
|
+
image: "iceholidays-assets/images/china.png",
|
|
54
30
|
topCities: [{
|
|
55
31
|
name: "Chong Qing",
|
|
56
|
-
image:
|
|
32
|
+
image: "iceholidays-assets/images/china.png",
|
|
57
33
|
},
|
|
58
34
|
{
|
|
59
35
|
name: "Guangzhou",
|
|
60
|
-
image: guangzhou,
|
|
36
|
+
image: "iceholidays-assets/images/guangzhou.png",
|
|
61
37
|
},
|
|
62
38
|
{
|
|
63
|
-
name: "Guilin",
|
|
64
|
-
image: guilin,
|
|
39
|
+
name: "Guilin",
|
|
40
|
+
image: "iceholidays-assets/images/guilin.png",
|
|
65
41
|
},
|
|
66
42
|
{
|
|
67
|
-
name: "Hongkong",
|
|
68
|
-
image: hongkong,
|
|
43
|
+
name: "Hongkong",
|
|
44
|
+
image: "iceholidays-assets/images/hongkong.png",
|
|
69
45
|
}],
|
|
70
46
|
moreCities: [
|
|
71
47
|
"Leizhou", "Ningxia", "Qinghai", "Shanghai", "Tibet", "Xiamen", "Yunnan"
|
|
72
48
|
],
|
|
73
49
|
tours: [
|
|
74
50
|
{
|
|
75
|
-
name: "Harbin",
|
|
76
|
-
image: harbin,
|
|
51
|
+
name: "Harbin",
|
|
52
|
+
image: "iceholidays-assets/images/harbin.png",
|
|
77
53
|
},
|
|
78
54
|
{
|
|
79
|
-
name: "Inner Mongolia",
|
|
80
|
-
image: inner_mongolia,
|
|
55
|
+
name: "Inner Mongolia",
|
|
56
|
+
image: "iceholidays-assets/images/inner_mongolia.png",
|
|
81
57
|
},
|
|
82
58
|
{
|
|
83
|
-
name: "Jiangxi",
|
|
84
|
-
image: jiangxi,
|
|
59
|
+
name: "Jiangxi",
|
|
60
|
+
image: "iceholidays-assets/images/jiangxi.png",
|
|
85
61
|
},
|
|
86
62
|
{
|
|
87
|
-
name: "Kun Ming",
|
|
88
|
-
image: kunming,
|
|
63
|
+
name: "Kun Ming",
|
|
64
|
+
image: "iceholidays-assets/images/kunming.png",
|
|
89
65
|
},
|
|
90
66
|
{
|
|
91
|
-
name: "Silk Road",
|
|
92
|
-
image: slikroad,
|
|
67
|
+
name: "Silk Road",
|
|
68
|
+
image: "iceholidays-assets/images/slikroad.png",
|
|
93
69
|
}
|
|
94
70
|
]
|
|
95
71
|
},
|
|
@@ -123,11 +99,9 @@ function Destinations(){
|
|
|
123
99
|
<div>
|
|
124
100
|
<div className="country-info">
|
|
125
101
|
<img className="country-image"
|
|
126
|
-
src={`${country.image}`}
|
|
127
|
-
onMouseOver={e => (e.currentTarget.src = `${country.image2}`)}
|
|
128
|
-
onMouseOut={e => (e.currentTarget.src = `${country.image}`)}/>
|
|
102
|
+
src={`${country.image}`} />
|
|
129
103
|
<h1 className="country-name"> {country.name} </h1>
|
|
130
|
-
<img className="bottom-logo" src=
|
|
104
|
+
<img className="bottom-logo" src="iceholidays-assets/images/Frame71.png"></img>
|
|
131
105
|
</div>
|
|
132
106
|
{
|
|
133
107
|
country.topCities?.length &&
|
|
@@ -138,13 +112,10 @@ function Destinations(){
|
|
|
138
112
|
country.topCities?.map((city, index)=>{
|
|
139
113
|
return (
|
|
140
114
|
<div key={index} className="city-cover">
|
|
141
|
-
<img
|
|
142
|
-
src={`${city.image}`}
|
|
143
|
-
onMouseOver={e => (e.currentTarget.src = `${city.image2}`)}
|
|
144
|
-
onMouseOut={e => (e.currentTarget.src = `${city.image}`)}/>
|
|
115
|
+
<img src={`${city.image}`}/>
|
|
145
116
|
<div className="city-details">
|
|
146
117
|
<span className="city-name">{city.name}</span>
|
|
147
|
-
<span className="tour-count">1 Tour</span>
|
|
118
|
+
<span className="tour-count">1 Tour <FontAwesomeIcon icon={faCaretRight}/> </span>
|
|
148
119
|
</div>
|
|
149
120
|
</div>
|
|
150
121
|
)
|
|
@@ -176,7 +147,7 @@ function Destinations(){
|
|
|
176
147
|
return <div key={index} className={"tour-story"} style={{backgroundImage:`linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.8) 100%), url("${tour.image}")`}}>
|
|
177
148
|
<div className="tour-detail">
|
|
178
149
|
<span className="city-name"> {tour.name} </span>
|
|
179
|
-
<span className="tour-count"> 1 tour </span>
|
|
150
|
+
<span className="tour-count"> 1 tour <FontAwesomeIcon icon={faCaretRight}/> </span>
|
|
180
151
|
</div>
|
|
181
152
|
</div>
|
|
182
153
|
})
|
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
import { Button, Carousel, DatePicker, Form, Image, Input, Space } from "antd";
|
|
2
2
|
import React from "react";
|
|
3
|
-
import
|
|
4
|
-
import banner2 from "../../../assets/images/iceholidays/frontend/banner2.png";
|
|
5
|
-
import reactangle from "../../../assets/images/iceholidays/frontend/Rectangle49.png";
|
|
3
|
+
import SlickButtonFix from "./shared/SlickButtonFix";
|
|
6
4
|
|
|
7
5
|
const banners = [
|
|
8
|
-
{file: banner1},
|
|
9
|
-
{file: banner2},
|
|
6
|
+
{file: 'iceholidays-assets/images/banner1.png'},
|
|
7
|
+
{file: 'iceholidays-assets/images/banner2.png'},
|
|
10
8
|
]
|
|
11
9
|
|
|
12
|
-
|
|
13
10
|
function HomepageBanner(){
|
|
14
11
|
const [form] = Form.useForm();
|
|
12
|
+
|
|
15
13
|
return (
|
|
16
|
-
<div id="
|
|
14
|
+
<div id="homepage-banner">
|
|
17
15
|
<div id="search-bar">
|
|
18
|
-
<img src=
|
|
16
|
+
<img src="iceholidays-assets/images/Rectangle49.png"/>
|
|
19
17
|
<div id="search-bar-widget">
|
|
20
18
|
<Form
|
|
21
19
|
form={form}
|
|
@@ -34,10 +32,20 @@ function HomepageBanner(){
|
|
|
34
32
|
</Space>
|
|
35
33
|
</Form>
|
|
36
34
|
</div>
|
|
37
|
-
<img src=
|
|
35
|
+
<img src="iceholidays-assets/images/Rectangle49.png" className="flip"/>
|
|
38
36
|
</div>
|
|
39
37
|
<div>
|
|
40
|
-
<Carousel autoplay arrows
|
|
38
|
+
<Carousel autoplay arrows
|
|
39
|
+
prevArrow={
|
|
40
|
+
<SlickButtonFix>
|
|
41
|
+
<img src="iceholidays-assets/images/banner_arrow.png"/>
|
|
42
|
+
</SlickButtonFix>
|
|
43
|
+
}
|
|
44
|
+
nextArrow={
|
|
45
|
+
<SlickButtonFix>
|
|
46
|
+
<img src="iceholidays-assets/images/banner_arrow.png" className="flip"/>
|
|
47
|
+
</SlickButtonFix>
|
|
48
|
+
}>
|
|
41
49
|
{
|
|
42
50
|
banners?.map((image, index)=>{
|
|
43
51
|
return (
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { faPenNib } from "@fortawesome/free-solid-svg-icons/faPenNib";
|
|
2
|
+
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|
1
3
|
import { Carousel } from "antd";
|
|
2
4
|
import React from "react";
|
|
5
|
+
import SlickButtonFix from "./shared/SlickButtonFix";
|
|
6
|
+
import { faCaretLeft } from "@fortawesome/free-solid-svg-icons/faCaretLeft";
|
|
7
|
+
import { faCaretRight } from "@fortawesome/free-solid-svg-icons/faCaretRight";
|
|
8
|
+
|
|
3
9
|
|
|
4
|
-
import star5 from "../../../assets/images/iceholidays/frontend/5star.png";
|
|
5
|
-
import layer1 from "../../../assets/images/iceholidays/frontend/Layer_1.png";
|
|
6
10
|
const contentStyle: React.CSSProperties = {
|
|
7
11
|
height: '160px',
|
|
8
12
|
color: '#fff',
|
|
@@ -14,45 +18,61 @@ const contentStyle: React.CSSProperties = {
|
|
|
14
18
|
const reviews = [
|
|
15
19
|
{
|
|
16
20
|
key: 1,
|
|
17
|
-
|
|
21
|
+
itinerarySummaryTitle: "8D6N 8D6N PREMIUM KOREA:",
|
|
22
|
+
itinerarySummaryDesc: "SPLENDOR OF WINTER",
|
|
18
23
|
comment: "Thanks to our exceptional guide ANDY & MEILAN. 👍👍👍The Korea tour was fantastic,Their deep knowledge and engaging style made the experience truly memorable. Highly recommend for anyone wanting an insightful and enjoyable tour of Korea!🇰🇷 …",
|
|
19
24
|
customerName: "Evon Ooi"
|
|
20
25
|
},
|
|
21
26
|
{
|
|
22
27
|
key: 2,
|
|
23
|
-
|
|
28
|
+
itinerarySummaryTitle: "review 2",
|
|
24
29
|
comment: "Thanks to our exceptional guide ANDY & MEILAN. 👍👍👍The Korea tour was fantastic,Their deep knowledge and engaging style made the experience truly memorable. Highly recommend for anyone wanting an insightful and enjoyable tour of Korea!🇰🇷 …",
|
|
25
30
|
customerName: "Evon Ooi"
|
|
26
31
|
},
|
|
27
32
|
{
|
|
28
33
|
key: 3,
|
|
29
|
-
|
|
34
|
+
itinerarySummaryTitle: "review 3",
|
|
30
35
|
comment: "Thanks to our exceptional guide ANDY & MEILAN. 👍👍👍The Korea tour was fantastic,Their deep knowledge and engaging style made the experience truly memorable. Highly recommend for anyone wanting an insightful and enjoyable tour of Korea!🇰🇷 …",
|
|
31
36
|
customerName: "Evon Ooi"
|
|
32
|
-
}
|
|
37
|
+
},
|
|
33
38
|
]
|
|
34
39
|
|
|
35
40
|
function Testimonials(){
|
|
36
41
|
return (
|
|
37
42
|
<div id="testimonial">
|
|
38
|
-
<div id="testimonial-header" style={{backgroundImage: "url(
|
|
43
|
+
<div id="testimonial-header" style={{backgroundImage: "url('iceholidays-assets/images/Layer_1.png')"}}>
|
|
39
44
|
<span>Testimonial</span>
|
|
40
45
|
</div>
|
|
41
46
|
|
|
42
47
|
<div id="testimonials">
|
|
43
|
-
<Carousel arrows slidesToScroll= {1} slidesToShow={3}
|
|
48
|
+
<Carousel autoplay arrows dots={false} draggable slidesToScroll= {1} slidesToShow={3}
|
|
49
|
+
prevArrow={
|
|
50
|
+
<SlickButtonFix>
|
|
51
|
+
<FontAwesomeIcon icon={faCaretLeft} size="4x"/>
|
|
52
|
+
</SlickButtonFix>
|
|
53
|
+
}
|
|
54
|
+
nextArrow={
|
|
55
|
+
<SlickButtonFix>
|
|
56
|
+
<FontAwesomeIcon icon={faCaretRight} size="4x"/>
|
|
57
|
+
</SlickButtonFix>
|
|
58
|
+
}>
|
|
44
59
|
{
|
|
45
60
|
reviews?.map((review)=>{
|
|
46
61
|
return (
|
|
47
62
|
<div key={review.key} className="testimonial">
|
|
48
|
-
<img src=
|
|
63
|
+
<img src="iceholidays-assets/images/5star.png" className="stars-icon"/>
|
|
49
64
|
<div className="itinerary-summary">
|
|
50
|
-
<
|
|
65
|
+
<img src="iceholidays-assets/images/logomark.png" className="st-logo"/>
|
|
66
|
+
<div>
|
|
67
|
+
<span> {review.itinerarySummaryTitle} </span>
|
|
68
|
+
<span> {review.itinerarySummaryDesc} </span>
|
|
69
|
+
</div>
|
|
51
70
|
</div>
|
|
52
71
|
<div className="comment">
|
|
53
72
|
<span>{review.comment}</span>
|
|
54
73
|
</div>
|
|
55
74
|
<div className="customer-name">
|
|
75
|
+
<FontAwesomeIcon icon={faPenNib} className="author-icon" />
|
|
56
76
|
<span>{review.customerName}</span>
|
|
57
77
|
</div>
|
|
58
78
|
</div>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React, { JSX } from "react";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
const SlickButtonFix = (
|
|
5
|
+
props: {
|
|
6
|
+
children: JSX.Element;
|
|
7
|
+
slideCount?: number;
|
|
8
|
+
currentSlide?: number;
|
|
9
|
+
}
|
|
10
|
+
) => {
|
|
11
|
+
const { children, currentSlide, slideCount, ...others } = props;
|
|
12
|
+
return (
|
|
13
|
+
<span {...others}>
|
|
14
|
+
{children}
|
|
15
|
+
</span>
|
|
16
|
+
);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default SlickButtonFix;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
<%= react_component "Homepage"%>
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
<div id="about-signature-tours" style="background: url(<%=asset_path('iceholidays/
|
|
4
|
+
<div id="about-signature-tours" style="background: url(<%=asset_path('/iceholidays-assets/images/about_st_bg.png')%>) no-repeat 70% 7%, linear-gradient(65.77deg, rgba(170, 133, 62, 0.5) 33.44%, rgba(249, 225, 151, 0.5) 67.37%)">
|
|
5
5
|
<div>
|
|
6
6
|
<h1>ABOUT SIGNATURE TOURS</h1>
|
|
7
7
|
<p>
|
|
8
8
|
From charming accommodations to curated cultural encounters, every aspect is thoughtfully crafted to elevate your travel experience. At The Signature Tours, we believe in the S-Tour’s philosophy —where every moment is a signature memory.
|
|
9
9
|
</p>
|
|
10
|
-
<%=image_tag("iceholidays/
|
|
10
|
+
<%=image_tag("/iceholidays-assets/images/Group_71.png")%>
|
|
11
11
|
<div id="about-st-feature">
|
|
12
12
|
<div style="max-width: 449px">
|
|
13
13
|
<p>Every experience is meticulously designed to create memories that last a lifetime. Our journeys go beyond the ordinary, offering experiences that are as unique as you are.</p>
|
|
14
14
|
</div>
|
|
15
15
|
<div id="feature">
|
|
16
|
-
<%=image_tag("iceholidays/
|
|
16
|
+
<%=image_tag("/iceholidays-assets/images/feature.jpg")%>
|
|
17
17
|
<div id="st-brand">
|
|
18
18
|
<span>Signature Tours</span>
|
|
19
|
-
<%=image_tag("iceholidays/
|
|
19
|
+
<%=image_tag("/iceholidays-assets/images/logomark.png", id: "st-logo")%>
|
|
20
20
|
</div>
|
|
21
21
|
</div>
|
|
22
22
|
</div>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<%= yield :head %>
|
|
9
9
|
|
|
10
|
-
<%= javascript_include_tag "iceholidays/
|
|
10
|
+
<%= javascript_include_tag "/iceholidays-assets/application", "data-turbo-track": "reload", type: "module" %>
|
|
11
11
|
<%= stylesheet_link_tag "iceholidays/frontend/application", media: "all" %>
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
@@ -3,11 +3,18 @@ module Iceholidays
|
|
|
3
3
|
class Engine < ::Rails::Engine
|
|
4
4
|
isolate_namespace Iceholidays::Frontend
|
|
5
5
|
initializer "iceholidays_frontend.assets.precompile" do |app|
|
|
6
|
-
app.config.assets.precompile += %w(iceholidays/frontend/application.
|
|
7
|
-
app.config.assets.precompile += Dir.glob( root.join( 'app', 'assets', 'images', 'iceholidays', 'frontend','**' ) )
|
|
6
|
+
app.config.assets.precompile += %w(iceholidays/frontend/application.css)
|
|
7
|
+
# app.config.assets.precompile += Dir.glob( root.join( 'app', 'assets', 'images', 'iceholidays', 'frontend','**' ) )
|
|
8
|
+
# app.config.assets.precompile += Dir.glob( root.join( 'public','**/**' ) )
|
|
9
|
+
# app.config.assets.precompile += Dir.glob( root.join( 'public', 'iceholidays-asset', '**' ) )
|
|
10
|
+
#app.config.assets.paths += Dir.glob(root.join( 'public', 'iceholidays-assets', '**' ))
|
|
8
11
|
end
|
|
9
|
-
|
|
10
|
-
|
|
12
|
+
|
|
13
|
+
config.app_middleware.use(
|
|
14
|
+
Rack::Static,
|
|
15
|
+
urls: ["/iceholidays-assets"],
|
|
16
|
+
root: Iceholidays::Frontend::Engine.root.join("public")
|
|
17
|
+
)
|
|
11
18
|
end
|
|
12
19
|
|
|
13
20
|
end
|