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.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/iceholidays/frontend/application.scss +93 -39
  3. data/app/controllers/iceholidays/frontend/application_controller.rb +1 -0
  4. data/app/javascript/react/components/Destinations.tsx +33 -62
  5. data/app/javascript/react/components/Homepage.tsx +0 -1
  6. data/app/javascript/react/components/HomepageBanner.tsx +18 -10
  7. data/app/javascript/react/components/Testimonials.tsx +30 -10
  8. data/app/javascript/react/components/shared/SlickButtonFix.tsx +19 -0
  9. data/app/views/iceholidays/frontend/site/index.html.erb +4 -4
  10. data/app/views/layouts/iceholidays/frontend/application.html.erb +1 -1
  11. data/app/views/layouts/iceholidays/frontend/shared/_header.html.erb +1 -1
  12. data/lib/iceholidays/frontend/engine.rb +11 -4
  13. data/lib/iceholidays/frontend/version.rb +1 -1
  14. data/public/iceholidays-assets/application.js +856 -0
  15. data/public/iceholidays-assets/application.js.map +7 -0
  16. data/public/iceholidays-assets/images/banner_arrow.png +0 -0
  17. data/public/iceholidays-assets/images/banner_right_arrow.png +0 -0
  18. metadata +37 -57
  19. data/app/assets/builds/iceholidays/frontend/5star-GEMYV5WA.digested.png +0 -0
  20. data/app/assets/builds/iceholidays/frontend/Frame71-U6FKYUGB.digested.png +0 -0
  21. data/app/assets/builds/iceholidays/frontend/Layer_1-24HTXUKI.digested.png +0 -0
  22. data/app/assets/builds/iceholidays/frontend/Rectangle49-SVQRLXW6.digested.png +0 -0
  23. data/app/assets/builds/iceholidays/frontend/africa-HBPEOBHM.digested.png +0 -0
  24. data/app/assets/builds/iceholidays/frontend/application.js +0 -293
  25. data/app/assets/builds/iceholidays/frontend/application.js.map +0 -7
  26. data/app/assets/builds/iceholidays/frontend/banner1-OM6SQ5GW.digested.png +0 -0
  27. data/app/assets/builds/iceholidays/frontend/banner2-BWOLYVUE.digested.png +0 -0
  28. data/app/assets/builds/iceholidays/frontend/china-DX6D6FE2.digested.png +0 -0
  29. data/app/assets/builds/iceholidays/frontend/china2-FESATHUH.digested.png +0 -0
  30. data/app/assets/builds/iceholidays/frontend/chongqing-CCJWJDUN.digested.png +0 -0
  31. data/app/assets/builds/iceholidays/frontend/guangzhou-JGSVPIYY.digested.png +0 -0
  32. data/app/assets/builds/iceholidays/frontend/guilin-AXXU7K32.digested.png +0 -0
  33. data/app/assets/builds/iceholidays/frontend/harbin-2YJL7HHH.digested.png +0 -0
  34. data/app/assets/builds/iceholidays/frontend/hongkong-IPUEZ35P.digested.png +0 -0
  35. data/app/assets/builds/iceholidays/frontend/inner_mongolia-EURVGQVT.digested.png +0 -0
  36. data/app/assets/builds/iceholidays/frontend/jiangxi-DTEOQGIY.digested.png +0 -0
  37. data/app/assets/builds/iceholidays/frontend/kenya-F5ZJOIBS.digested.png +0 -0
  38. data/app/assets/builds/iceholidays/frontend/kenya2-CCJWJDUN.digested.png +0 -0
  39. data/app/assets/builds/iceholidays/frontend/kunming-OCHNG2UW.digested.png +0 -0
  40. data/app/assets/builds/iceholidays/frontend/slikroad-CVUSDDRO.digested.png +0 -0
  41. data/app/assets/builds/iceholidays/frontend/southafrica-HBPEOBHM.digested.png +0 -0
  42. data/app/assets/builds/iceholidays/frontend/tanzania-VJSRMTCY.digested.png +0 -0
  43. data/app/assets/builds/iceholidays/frontend/uganda-H4JWFN3A.digested.png +0 -0
  44. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/5star.png +0 -0
  45. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/Frame71.png +0 -0
  46. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/Group_71.png +0 -0
  47. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/Layer_1.png +0 -0
  48. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/Rectangle49.png +0 -0
  49. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/TS_Logo.png +0 -0
  50. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/about_st_bg.png +0 -0
  51. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/africa.png +0 -0
  52. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/banner1.png +0 -0
  53. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/banner2.png +0 -0
  54. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/china.png +0 -0
  55. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/china2.png +0 -0
  56. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/chongqing.png +0 -0
  57. /data/{app/assets/images/iceholidays/frontend/cover_img.jpeg → public/iceholidays-assets/images/cover_img.jpg} +0 -0
  58. /data/{app/assets/images/iceholidays/frontend/feature.jpeg → public/iceholidays-assets/images/feature.jpg} +0 -0
  59. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/guangzhou.png +0 -0
  60. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/guilin.png +0 -0
  61. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/harbin.png +0 -0
  62. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/hongkong.png +0 -0
  63. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/inner_mongolia.png +0 -0
  64. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/jiangxi.png +0 -0
  65. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/kenya.png +0 -0
  66. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/kenya2.png +0 -0
  67. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/kunming.png +0 -0
  68. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/logo_container.png +0 -0
  69. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/logomark.png +0 -0
  70. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/slikroad.png +0 -0
  71. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/southafrica.png +0 -0
  72. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/tanzania.png +0 -0
  73. /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: 883ac208fd84d5913b7a11430f4ee361e446968737f5d25d8a20cb06ce9bb76a
4
- data.tar.gz: 85e60418b9cd8827c34bc37ff8c77da7ccddcef45a03ad2b76787444a5bec459
3
+ metadata.gz: 863654c2cf6a12a64a30d7ac313c3b3151e6772ba2f6fcfc6aa2160391dcc8bd
4
+ data.tar.gz: ec1f0394c55a0bc6a474ae0a96cbc5cca1e309d2e2f756437f7f615935f641f9
5
5
  SHA512:
6
- metadata.gz: c3db3f6b1cd2c89b960bfff199fb7d7f79f75a9d32fa82cb1f01ec574171326e83b247ef21189c8f0aebefe0e325cb489802b6f8994f2551840dac9fe1ed1d18
7
- data.tar.gz: dc8f91e8822acbf56d0fbdcb4252d73098a74078c73cf1a5f8ad3e370e661bb4c8c1953da3de18a853af31fb40eaf90240fdcbe4672b32ac5bf9bde5c9a7ca6c
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
- #cover{
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
- width: 317.33px !important;
484
- height: 383px;
485
- padding: 10px 18px 20px 18px;
486
- gap: 15px;
487
- border-radius: 20px;
488
- opacity: 0px;
489
- background: #FFFFFF;
490
- box-shadow: 0px 5px 20px 0px #E1B65B33;
491
- text-align: center;
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 span{
550
- font-family: $font-default;
551
- font-size: 20px;
552
- font-weight: 400;
553
- line-height: 30px;
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: 40px;
696
+ width: 45px;
643
697
  font-family: $font-default;
644
698
  font-size: 12px;
645
699
  font-weight: 400;
@@ -1,6 +1,7 @@
1
1
  module Iceholidays
2
2
  module Frontend
3
3
  class ApplicationController < ::ApplicationController
4
+ skip_before_action :authenticate_user!
4
5
  end
5
6
  end
6
7
  end
@@ -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: chongqing,
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={frame71}></img>
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
  })
@@ -4,7 +4,6 @@ import Testimonials from "./Testimonials";
4
4
  import Destinations from "./Destinations";
5
5
 
6
6
 
7
-
8
7
  const Homepage = React.FC = () => (
9
8
  <div>
10
9
  <HomepageBanner/>
@@ -1,21 +1,19 @@
1
1
  import { Button, Carousel, DatePicker, Form, Image, Input, Space } from "antd";
2
2
  import React from "react";
3
- import banner1 from "../../../assets/images/iceholidays/frontend/banner1.png";
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="cover">
14
+ <div id="homepage-banner">
17
15
  <div id="search-bar">
18
- <img src={reactangle}/>
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={reactangle} className="flip"/>
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
- itinerarySummary: "8D6N 8D6N PREMIUM KOREA: <br/> SPLENDOR OF WINTER",
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
- itinerarySummary: "review 2",
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
- itinerarySummary: "review 3",
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("+ layer1+")"}}>
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={star5} className="stars-icon"/>
63
+ <img src="iceholidays-assets/images/5star.png" className="stars-icon"/>
49
64
  <div className="itinerary-summary">
50
- <span> {review.itinerarySummary} </span>
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/frontend/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%)">
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/frontend/Group_71.png")%>
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/frontend/feature.jpeg")%>
16
+ <%=image_tag("/iceholidays-assets/images/feature.jpg")%>
17
17
  <div id="st-brand">
18
18
  <span>Signature Tours</span>
19
- <%=image_tag("iceholidays/frontend/logomark.png", id: "st-logo")%>
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/frontend/application", "data-turbo-track": "reload", type: "module" %>
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>
@@ -7,7 +7,7 @@
7
7
  <a>blog</a>
8
8
  </div>
9
9
  <a href="/" class="nav-menu logo">
10
- <%=image_tag("iceholidays/frontend/logo_container.png")%>
10
+ <%=image_tag("/iceholidays-assets/images/logo_container.png")%>
11
11
  </a>
12
12
  <div class="nav-menu" id="right-menu">
13
13
  <a>contact agents</a>
@@ -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.js iceholidays/frontend/application.js.map iceholidays/frontend/application.css)
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
@@ -1,5 +1,5 @@
1
1
  module Iceholidays
2
2
  module Frontend
3
- VERSION = "0.2.0"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end