iceholidays-frontend 0.1.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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/iceholidays/frontend/application.scss +177 -63
  3. data/app/controllers/iceholidays/frontend/application_controller.rb +1 -0
  4. data/app/javascript/react/components/Destinations.tsx +34 -40
  5. data/app/javascript/react/components/Homepage.tsx +0 -1
  6. data/app/javascript/react/components/HomepageBanner.tsx +37 -10
  7. data/app/javascript/react/components/Testimonials.tsx +30 -8
  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. data/public/iceholidays-assets/images/china.png +0 -0
  19. metadata +37 -37
  20. data/app/assets/builds/iceholidays/frontend/application.js +0 -40819
  21. data/app/assets/builds/iceholidays/frontend/application.js.map +0 -7
  22. data/app/assets/builds/iceholidays/frontend/banner01-MY5H645U.digested.png +0 -0
  23. data/app/assets/builds/iceholidays/frontend/banner02-2GQQYFI3.digested.png +0 -0
  24. data/app/assets/builds/iceholidays/frontend/banner2-BWOLYVUE.digested.png +0 -0
  25. data/app/assets/images/iceholidays/frontend/china.jpeg +0 -0
  26. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/5star.png +0 -0
  27. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/Frame71.png +0 -0
  28. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/Group_71.png +0 -0
  29. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/Layer_1.png +0 -0
  30. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/Rectangle49.png +0 -0
  31. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/TS_Logo.png +0 -0
  32. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/about_st_bg.png +0 -0
  33. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/africa.png +0 -0
  34. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/banner1.png +0 -0
  35. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/banner2.png +0 -0
  36. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/china2.png +0 -0
  37. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/chongqing.png +0 -0
  38. /data/{app/assets/images/iceholidays/frontend/cover_img.jpeg → public/iceholidays-assets/images/cover_img.jpg} +0 -0
  39. /data/{app/assets/images/iceholidays/frontend/feature.jpeg → public/iceholidays-assets/images/feature.jpg} +0 -0
  40. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/guangzhou.png +0 -0
  41. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/guilin.png +0 -0
  42. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/harbin.png +0 -0
  43. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/hongkong.png +0 -0
  44. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/inner_mongolia.png +0 -0
  45. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/jiangxi.png +0 -0
  46. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/kenya.png +0 -0
  47. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/kenya2.png +0 -0
  48. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/kunming.png +0 -0
  49. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/logo_container.png +0 -0
  50. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/logomark.png +0 -0
  51. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/slikroad.png +0 -0
  52. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/southafrica.png +0 -0
  53. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/tanzania.png +0 -0
  54. /data/{app/assets/images/iceholidays/frontend → public/iceholidays-assets/images}/uganda.png +0 -0
@@ -1,24 +1,51 @@
1
- import { Carousel, Image } from "antd";
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"
3
+ import SlickButtonFix from "./shared/SlickButtonFix";
4
+
5
5
  const banners = [
6
- {file: banner2},
7
- {file: banner2},
6
+ {file: 'iceholidays-assets/images/banner1.png'},
7
+ {file: 'iceholidays-assets/images/banner2.png'},
8
8
  ]
9
9
 
10
10
  function HomepageBanner(){
11
+ const [form] = Form.useForm();
12
+
11
13
  return (
12
- <div id="cover">
14
+ <div id="homepage-banner">
13
15
  <div id="search-bar">
14
- {/* <%=image_tag("iceholidays/frontend/Rectangle49.png")%> */}
16
+ <img src="iceholidays-assets/images/Rectangle49.png"/>
15
17
  <div id="search-bar-widget">
16
- sample1
18
+ <Form
19
+ form={form}
20
+ layout="vertical"
21
+ >
22
+ <Space align="end">
23
+ <Form.Item label="Search">
24
+ <Input placeholder="Destinations, Attractions, etc" />
25
+ </Form.Item>
26
+ <Form.Item label="Travel Period">
27
+ <DatePicker picker="month" />
28
+ </Form.Item>
29
+ <Form.Item>
30
+ <Button type="primary" className="search-button">Search</Button>
31
+ </Form.Item>
32
+ </Space>
33
+ </Form>
17
34
  </div>
18
- {/* <%=image_tag("iceholidays/frontend/Rectangle49.png", class: "flip")%> */}
35
+ <img src="iceholidays-assets/images/Rectangle49.png" className="flip"/>
19
36
  </div>
20
37
  <div>
21
- <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
+ }>
22
49
  {
23
50
  banners?.map((image, index)=>{
24
51
  return (
@@ -1,5 +1,11 @@
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
10
  const contentStyle: React.CSSProperties = {
5
11
  height: '160px',
@@ -12,45 +18,61 @@ const contentStyle: React.CSSProperties = {
12
18
  const reviews = [
13
19
  {
14
20
  key: 1,
15
- itinerarySummary: "8D6N 8D6N PREMIUM KOREA: <br/> SPLENDOR OF WINTER",
21
+ itinerarySummaryTitle: "8D6N 8D6N PREMIUM KOREA:",
22
+ itinerarySummaryDesc: "SPLENDOR OF WINTER",
16
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!🇰🇷 …",
17
24
  customerName: "Evon Ooi"
18
25
  },
19
26
  {
20
27
  key: 2,
21
- itinerarySummary: "review 2",
28
+ itinerarySummaryTitle: "review 2",
22
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!🇰🇷 …",
23
30
  customerName: "Evon Ooi"
24
31
  },
25
32
  {
26
33
  key: 3,
27
- itinerarySummary: "review 3",
34
+ itinerarySummaryTitle: "review 3",
28
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!🇰🇷 …",
29
36
  customerName: "Evon Ooi"
30
- }
37
+ },
31
38
  ]
32
39
 
33
40
  function Testimonials(){
34
41
  return (
35
42
  <div id="testimonial">
36
- <div id="testimonial-header" style={{backgroundImage: 'url("/dev-assets/iceholidays/frontend/Layer_1.png")'}}>
43
+ <div id="testimonial-header" style={{backgroundImage: "url('iceholidays-assets/images/Layer_1.png')"}}>
37
44
  <span>Testimonial</span>
38
45
  </div>
39
46
 
40
47
  <div id="testimonials">
41
- <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
+ }>
42
59
  {
43
60
  reviews?.map((review)=>{
44
61
  return (
45
62
  <div key={review.key} className="testimonial">
46
- <img src="/dev-assets/iceholidays/frontend/5star.png" className="stars-icon"/>
63
+ <img src="iceholidays-assets/images/5star.png" className="stars-icon"/>
47
64
  <div className="itinerary-summary">
48
- <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>
49
70
  </div>
50
71
  <div className="comment">
51
72
  <span>{review.comment}</span>
52
73
  </div>
53
74
  <div className="customer-name">
75
+ <FontAwesomeIcon icon={faPenNib} className="author-icon" />
54
76
  <span>{review.customerName}</span>
55
77
  </div>
56
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.1.0"
3
+ VERSION = "0.3.0"
4
4
  end
5
5
  end