appscms-tools-theme 4.6.2 → 4.6.4

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 (132) hide show
  1. checksums.yaml +4 -4
  2. data/_data/about/en/about.json +16 -16
  3. data/_data/blog/nav.json +14 -14
  4. data/_data/blog/relatedblogs.json +2816 -2816
  5. data/_data/feature/en/batch-conversion.json +192 -192
  6. data/_data/feature/en/compress-pdf.json +222 -305
  7. data/_data/feature/en/devtools.json +321 -321
  8. data/_data/feature/en/face-detection.json +156 -156
  9. data/_data/feature/en/split-pdf.json +221 -221
  10. data/_data/feature/en/theframe.json +160 -160
  11. data/_data/footer/en/data.json +2 -2
  12. data/_data/header/en/data.json +412 -412
  13. data/_data/home/en/en.json +324 -324
  14. data/_data/home/en/posters.json +322 -322
  15. data/_includes/appscms/customblog/contenttool-recent-posts.html +94 -94
  16. data/_includes/appscms/customblog/pageRelatedPosts.html +68 -68
  17. data/_includes/appscms/customblog/recentposts.html +67 -67
  18. data/_includes/appscms/customblog/relatedBlogs.html +82 -82
  19. data/_includes/appscms/customblog/relatedposts.html +193 -193
  20. data/_includes/appscms/extras/appscms-postbox.html +57 -57
  21. data/_includes/appscms/featurePageAuthors/featurePageAuthors.html +85 -85
  22. data/_includes/appscms/head/bloghead.html +128 -128
  23. data/_includes/appscms/headings/contenttool-headings.html +33 -33
  24. data/_includes/appscms/headings/devtool-headings.html +38 -38
  25. data/_includes/appscms/home/contenttool-feature-boxes.html +19 -19
  26. data/_includes/appscms/home/devtool-feature-boxes.html +70 -70
  27. data/_includes/appscms/infographics/infographics.html +202 -166
  28. data/_includes/appscms/loaders/loader.html +4 -4
  29. data/_includes/appscms/navbars/devtool-navbar.html +50 -50
  30. data/_includes/appscms/navbars/devtool-toolbar.html +100 -100
  31. data/_includes/appscms/navbars/toolbar.html +4 -17
  32. data/_includes/appscms/recent-posts/recent_posts.html +90 -90
  33. data/_includes/appscms/recent-posts/related_categories_post.html +194 -194
  34. data/_includes/appscms/searchbar/devtool-searchbar.html +63 -63
  35. data/_includes/appscms/usp/usp.html +90 -90
  36. data/_includes/author_bio.html +41 -41
  37. data/_includes/authorpagehead/index.html +47 -47
  38. data/_includes/authors/authors.html +39 -39
  39. data/_includes/batch-conversion.html +141 -141
  40. data/_includes/bookmark.html +6 -6
  41. data/_includes/cssfile/links.html +54 -54
  42. data/_includes/custom-head.html +138 -138
  43. data/_includes/customCode.html +1 -1
  44. data/_includes/customScripts.html +1 -1
  45. data/_includes/customblog/pageRelatedPosts.html +87 -87
  46. data/_includes/customblog/recentposts.html +67 -67
  47. data/_includes/customblog/relatedBlogs.html +86 -86
  48. data/_includes/customblog/relatedposts.html +201 -201
  49. data/_includes/dropdown/langdropdown.html +32 -32
  50. data/_includes/feature.html +39 -39
  51. data/_includes/featurePageAuthors/featurePageAuthors.html +101 -101
  52. data/_includes/footer/index.html +537 -537
  53. data/_includes/google-analytics.html +32 -32
  54. data/_includes/head/index.html +623 -623
  55. data/_includes/header/blogHeader.html +34 -34
  56. data/_includes/header/index.html +192 -192
  57. data/_includes/infographics/infographics.html +244 -241
  58. data/_includes/paginationBlogPage.html +70 -70
  59. data/_includes/postbox.html +65 -65
  60. data/_includes/script.html +493 -493
  61. data/_includes/section/count.html +32 -32
  62. data/_includes/section/recent_posts.html +94 -94
  63. data/_includes/section/related_categories_post.html +196 -196
  64. data/_includes/share/socialshare.html +21 -21
  65. data/_includes/userTracking.html +14 -14
  66. data/_layouts/aboutUs.html +175 -175
  67. data/_layouts/allAuthors.html +131 -131
  68. data/_layouts/appscms-about.html +163 -163
  69. data/_layouts/appscms-audio.html +33 -33
  70. data/_layouts/appscms-author.html +436 -436
  71. data/_layouts/appscms-authors.html +145 -145
  72. data/_layouts/appscms-batch.html +141 -141
  73. data/_layouts/appscms-calculator.html +93 -93
  74. data/_layouts/appscms-categories.html +26 -26
  75. data/_layouts/appscms-contact.html +132 -132
  76. data/_layouts/appscms-disclaimer.html +124 -124
  77. data/_layouts/appscms-download.html +289 -289
  78. data/_layouts/appscms-feature-result.html +96 -96
  79. data/_layouts/appscms-help.html +25 -25
  80. data/_layouts/appscms-imagekit.html +96 -96
  81. data/_layouts/appscms-post.html +243 -243
  82. data/_layouts/appscms-privacy-policy.html +781 -781
  83. data/_layouts/appscms-terms-and-conditions.html +646 -646
  84. data/_layouts/appscms-video.html +33 -33
  85. data/_layouts/audio.html +33 -33
  86. data/_layouts/author.html +409 -409
  87. data/_layouts/batch.html +177 -177
  88. data/_layouts/blog-1.html +116 -116
  89. data/_layouts/blog.html +131 -131
  90. data/_layouts/calculator.html +99 -99
  91. data/_layouts/contenttool-feature.html +45 -45
  92. data/_layouts/contenttool-home.html +53 -53
  93. data/_layouts/devtool-blog.html +132 -132
  94. data/_layouts/devtool-feature.html +54 -54
  95. data/_layouts/devtool-home.html +53 -53
  96. data/_layouts/devtools.html +57 -57
  97. data/_layouts/feature-1.html +406 -406
  98. data/_layouts/feature.html +351 -351
  99. data/_layouts/featureResultPage.html +82 -82
  100. data/_layouts/frame.html +222 -222
  101. data/_layouts/home.html +281 -281
  102. data/_layouts/homeResultPage.html +32 -32
  103. data/_layouts/imagekit.html +308 -308
  104. data/_layouts/photo-effects-home.html +190 -190
  105. data/_layouts/post.html +233 -233
  106. data/assets/app.js +75 -75
  107. data/assets/css/appscms-blog.css +505 -505
  108. data/assets/css/appscms-contenttool.css +1384 -1384
  109. data/assets/css/appscms-feature.css +18 -2
  110. data/assets/css/appscms-home.css +5 -5
  111. data/assets/css/appscms-imagekit.css +855 -855
  112. data/assets/css/appscms-variables.css +19 -19
  113. data/assets/css/blog.css +510 -510
  114. data/assets/css/calculators.css +46 -46
  115. data/assets/css/devtool-main.css +1350 -1350
  116. data/assets/css/devtools.css +105 -105
  117. data/assets/css/feature-1.css +293 -293
  118. data/assets/css/imagekit copy.css +848 -848
  119. data/assets/css/imagekit.css +848 -848
  120. data/assets/css/tools.css +1847 -1847
  121. data/assets/images/close-button.svg +31 -31
  122. data/assets/images/digipaint.svg +6 -6
  123. data/assets/images/logo.svg +2 -2
  124. data/assets/images/manthink.svg +3552 -3552
  125. data/assets/images/search-icon.svg +2 -2
  126. data/assets/js/batch.js +219 -219
  127. data/assets/js/devtools.js +81 -81
  128. data/assets/js/sharePage.js +65 -65
  129. data/assets/js/usageTracking.js +143 -143
  130. data/assets/js/usageTrackingEvents.js +6 -6
  131. data/assets/js/webvitals.js +4 -4
  132. metadata +3 -3
@@ -1,38 +1,38 @@
1
- {%- if page.layout == "appscms-audio" or page.layout == "appscms-video" -%} {%-
2
- else -%}
3
- <div class="container heading" style="height: 40vh;">
4
- <div class="contenttool-bg-lite" style="margin-top: 20vh;"></div>
5
- <div class="row">
6
- <div
7
- class="container mt-3 grid-contentttool-h1"
8
- >
9
- {%- if pageData.H1 -%} {%- assign h1 = pageData.H1 -%} {%- elsif
10
- pageData.h1 -%} {%- assign h1 = pageData.h1 -%} {%- endif -%} {%- if
11
- pageData.H2 -%} {%- assign h2 = pageData.H2 -%} {%- elsif pageData.h2 -%}
12
- {%- assign h2 = pageData.h2 -%} {%- endif -%}
13
- <div class="heading-landing-text">
14
- <h1 class="text-center appscms-h1 contenttool-landing-h1 text-white">
15
- {%- for word in h1 -%} {%- if forloop.first == true -%} {{word |
16
- capitalize }} {%- else -%} {{word}} {%- endif -%} {%- endfor -%}
17
- </h1>
18
- <h2 class="text-center appscms-h2 contenttool-landing-h2 text-white">
19
- {%- for word in h2 -%} {%- if forloop.first == true -%} {{word |
20
- capitalize }} {%- else -%} {{word}} {%- endif -%} {%- endfor -%}
21
- </h2>
22
- <div class="random-spans">
23
- <span class="span1" style="position: absolute; transform: rotate(10deg); left: 20vw; top: 20vh; font-size: 38px; color: white;">+</span>
24
- <span class="span2" style="position: absolute; transform: rotate(-20deg); left: 40vw; top: 30vh; font-size: 24px; color: white;">+</span>
25
- <span class="span3" style="position: absolute; transform: rotate(5deg); right: 20vw; top: 40vh; font-size: 28px; color: white;">+</span>
26
- <span class="span4" style="position: absolute; transform: rotate(-15deg); left: 77vw; bottom: 60vh; font-size: 22px; color: white;">+</span>
27
- <span class="span5" style="position: absolute; transform: rotate(25deg); left: 10vw; bottom: 30vh; font-size: 24px; color: white;">+</span>
28
- <span class="span6" style="position: absolute; transform: rotate(0deg); right: 10vw; bottom: 20vh; font-size: 14px; color: white;">+</span>
29
- <span class="span7" style="position: absolute; transform: rotate(-10deg); left: 50vw; top: 10vh; font-size: 26px; color: white;">+</span>
30
- <span class="span8" style="position: absolute; transform: rotate(15deg); right: 10vw; bottom: 30vh; font-size: 35px; color: white;">+</span>
31
- <span class="span9" style="position: absolute; transform: rotate(-5deg); right: 5vw; top: 20vh; font-size: 30px; color: white;">+</span>
32
- <span class="span10" style="position: absolute; transform: rotate(8deg); left: 15vw; bottom: 15vh; font-size: 32px; color: white;">+</span>
33
- </div>
34
- </div>
35
- </div>
36
- </div>
37
- </div>
38
- {%- endif -%}
1
+ {%- if page.layout == "appscms-audio" or page.layout == "appscms-video" -%} {%-
2
+ else -%}
3
+ <div class="container heading" style="height: 40vh;">
4
+ <div class="contenttool-bg-lite" style="margin-top: 20vh;"></div>
5
+ <div class="row">
6
+ <div
7
+ class="container mt-3 grid-contentttool-h1"
8
+ >
9
+ {%- if pageData.H1 -%} {%- assign h1 = pageData.H1 -%} {%- elsif
10
+ pageData.h1 -%} {%- assign h1 = pageData.h1 -%} {%- endif -%} {%- if
11
+ pageData.H2 -%} {%- assign h2 = pageData.H2 -%} {%- elsif pageData.h2 -%}
12
+ {%- assign h2 = pageData.h2 -%} {%- endif -%}
13
+ <div class="heading-landing-text">
14
+ <h1 class="text-center appscms-h1 contenttool-landing-h1 text-white">
15
+ {%- for word in h1 -%} {%- if forloop.first == true -%} {{word |
16
+ capitalize }} {%- else -%} {{word}} {%- endif -%} {%- endfor -%}
17
+ </h1>
18
+ <h2 class="text-center appscms-h2 contenttool-landing-h2 text-white">
19
+ {%- for word in h2 -%} {%- if forloop.first == true -%} {{word |
20
+ capitalize }} {%- else -%} {{word}} {%- endif -%} {%- endfor -%}
21
+ </h2>
22
+ <div class="random-spans">
23
+ <span class="span1" style="position: absolute; transform: rotate(10deg); left: 20vw; top: 20vh; font-size: 38px; color: white;">+</span>
24
+ <span class="span2" style="position: absolute; transform: rotate(-20deg); left: 40vw; top: 30vh; font-size: 24px; color: white;">+</span>
25
+ <span class="span3" style="position: absolute; transform: rotate(5deg); right: 20vw; top: 40vh; font-size: 28px; color: white;">+</span>
26
+ <span class="span4" style="position: absolute; transform: rotate(-15deg); left: 77vw; bottom: 60vh; font-size: 22px; color: white;">+</span>
27
+ <span class="span5" style="position: absolute; transform: rotate(25deg); left: 10vw; bottom: 30vh; font-size: 24px; color: white;">+</span>
28
+ <span class="span6" style="position: absolute; transform: rotate(0deg); right: 10vw; bottom: 20vh; font-size: 14px; color: white;">+</span>
29
+ <span class="span7" style="position: absolute; transform: rotate(-10deg); left: 50vw; top: 10vh; font-size: 26px; color: white;">+</span>
30
+ <span class="span8" style="position: absolute; transform: rotate(15deg); right: 10vw; bottom: 30vh; font-size: 35px; color: white;">+</span>
31
+ <span class="span9" style="position: absolute; transform: rotate(-5deg); right: 5vw; top: 20vh; font-size: 30px; color: white;">+</span>
32
+ <span class="span10" style="position: absolute; transform: rotate(8deg); left: 15vw; bottom: 15vh; font-size: 32px; color: white;">+</span>
33
+ </div>
34
+ </div>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ {%- endif -%}
@@ -1,20 +1,20 @@
1
- <div class="container" id="appscms-tools-section">
2
- <div class="appscms-contenttool-container" id="appscms-tools-section-row">
3
- {% for item in pageData.features %}
4
- <a href="{{item.url}}">
5
- <div class="appscms-contenttool-tool">
6
- <div class="contentool-tool-image-background" style="background: {{item.color}};">
7
- <img id="contenttool-icon-img" crossorigin="anonymous" src="{{item.icon}}" alt="img" />
8
- </div>
9
- <div class="contenttool-card-info">
10
- <p class="contenttool-tool-heading">{{item.name}}</p>
11
- <p class="contenttool-tool-text">{{item.description}}</p>
12
- </div>
13
- </div>
14
- </a>
15
- {% endfor %}
16
- </div>
17
- </div>
18
- </div>
19
- </div>
1
+ <div class="container" id="appscms-tools-section">
2
+ <div class="appscms-contenttool-container" id="appscms-tools-section-row">
3
+ {% for item in pageData.features %}
4
+ <a href="{{item.url}}">
5
+ <div class="appscms-contenttool-tool">
6
+ <div class="contentool-tool-image-background" style="background: {{item.color}};">
7
+ <img id="contenttool-icon-img" crossorigin="anonymous" src="{{item.icon}}" alt="img" />
8
+ </div>
9
+ <div class="contenttool-card-info">
10
+ <p class="contenttool-tool-heading">{{item.name}}</p>
11
+ <p class="contenttool-tool-text">{{item.description}}</p>
12
+ </div>
13
+ </div>
14
+ </a>
15
+ {% endfor %}
16
+ </div>
17
+ </div>
18
+ </div>
19
+ </div>
20
20
 
@@ -1,71 +1,71 @@
1
- <style>
2
- .appscms-contenttool-container {
3
- display: grid;
4
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
5
- gap: 16px;
6
- }
7
- .appscms-contenttool-tool {
8
- background-color: white;
9
- padding: 21px;
10
- border-radius: 13px;
11
- transition: all 0.2s ease-in-out;
12
- }
13
- .appscms-contenttool-tool:hover {
14
- transform: scale(1.03);
15
- filter: saturate(1.3);
16
- }
17
- .contentool-tool-image-background {
18
- background-color: rgba(255, 255, 255, 0.87);
19
- width: 58px;
20
- height: 58px;
21
- display: flex;
22
- align-items: center;
23
- justify-content: center;
24
- border-radius: 12px;
25
- }
26
-
27
- #contenttool-icon-img{
28
- width: 45px;
29
- }
30
- .background img {
31
- width: 100%;
32
- height: auto;
33
- border-radius: 10px;
34
- }
35
- .contenttool-tool-heading {
36
- font-weight: 600;
37
- font-size: 16px;
38
- color: #0c0c0c !important;
39
- margin-top: 10px;
40
- }
41
- .contenttool-tool-text{
42
- font-weight: 500;
43
- font-size: 13px;
44
- color: rgb(29, 29, 29) !important;
45
- margin-top: -5px;
46
- }
47
- #text-black{
48
- color: rgb(39, 39, 39) !important;
49
- font-weight: 450;
50
- }
51
- </style>
52
- <div class="container" id="appscms-tools-section">
53
- <div class="appscms-contenttool-container">
54
- {% for item in pageData.features %}
55
- <a href="{{item.url}}">
56
- <div class="appscms-contenttool-tool" style="background: {{item.color}};">
57
- <div class="contentool-tool-image-background">
58
- <img id="contenttool-icon-img" crossorigin="anonymous" src="{{item.icon}}" alt="img" />
59
- </div>
60
- <div class="contenttool-card-info">
61
- <p class="contenttool-tool-heading">{{item.name}}</p>
62
- <p class="contenttool-tool-textk" id="text-black">{{item.description}}</p>
63
- </div>
64
- </div>
65
- </a>
66
- {% endfor %}
67
- </div>
68
- </div>
69
- </div>
70
- </div>
1
+ <style>
2
+ .appscms-contenttool-container {
3
+ display: grid;
4
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
5
+ gap: 16px;
6
+ }
7
+ .appscms-contenttool-tool {
8
+ background-color: white;
9
+ padding: 21px;
10
+ border-radius: 13px;
11
+ transition: all 0.2s ease-in-out;
12
+ }
13
+ .appscms-contenttool-tool:hover {
14
+ transform: scale(1.03);
15
+ filter: saturate(1.3);
16
+ }
17
+ .contentool-tool-image-background {
18
+ background-color: rgba(255, 255, 255, 0.87);
19
+ width: 58px;
20
+ height: 58px;
21
+ display: flex;
22
+ align-items: center;
23
+ justify-content: center;
24
+ border-radius: 12px;
25
+ }
26
+
27
+ #contenttool-icon-img{
28
+ width: 45px;
29
+ }
30
+ .background img {
31
+ width: 100%;
32
+ height: auto;
33
+ border-radius: 10px;
34
+ }
35
+ .contenttool-tool-heading {
36
+ font-weight: 600;
37
+ font-size: 16px;
38
+ color: #0c0c0c !important;
39
+ margin-top: 10px;
40
+ }
41
+ .contenttool-tool-text{
42
+ font-weight: 500;
43
+ font-size: 13px;
44
+ color: rgb(29, 29, 29) !important;
45
+ margin-top: -5px;
46
+ }
47
+ #text-black{
48
+ color: rgb(39, 39, 39) !important;
49
+ font-weight: 450;
50
+ }
51
+ </style>
52
+ <div class="container" id="appscms-tools-section">
53
+ <div class="appscms-contenttool-container">
54
+ {% for item in pageData.features %}
55
+ <a href="{{item.url}}">
56
+ <div class="appscms-contenttool-tool" style="background: {{item.color}};">
57
+ <div class="contentool-tool-image-background">
58
+ <img id="contenttool-icon-img" crossorigin="anonymous" src="{{item.icon}}" alt="img" />
59
+ </div>
60
+ <div class="contenttool-card-info">
61
+ <p class="contenttool-tool-heading">{{item.name}}</p>
62
+ <p class="contenttool-tool-textk" id="text-black">{{item.description}}</p>
63
+ </div>
64
+ </div>
65
+ </a>
66
+ {% endfor %}
67
+ </div>
68
+ </div>
69
+ </div>
70
+ </div>
71
71
 
@@ -1,166 +1,202 @@
1
- <style>
2
- .modal1 {
3
- display: none;
4
- position: fixed;
5
- z-index: 1000;
6
- left: 0;
7
- top: 0;
8
- width: 100%;
9
- height: 100%;
10
- overflow: auto;
11
- background-color: rgba(59, 58, 58, 0.9);
12
- }
13
- .modal1-content1 {
14
- margin: auto;
15
- display: block;
16
- width: 80%;
17
- max-width: 800px;
18
- margin-top: 20px;
19
- }
20
- .modal1-body img {
21
- width: 100%;
22
- height: auto;
23
- }
24
- .close1 {
25
- position: absolute;
26
- top: 10px;
27
- right: 10px;
28
- font-size: 24px;
29
- color: #fff;
30
- cursor: pointer;
31
- }
32
- .close1:hover {
33
- color: #ccc;
34
- }
35
- </style>
36
- <div class="inforgraphics_section">
37
- <h3 class="text-center w-100 mb-5"><b>Other useful information</b></h3>
38
- <div class="wrapper">
39
- <i id="left" class="fas fa-angle-left"></i>
40
- <div class="carousel">
41
- <div class="carousel-inner">
42
- {%- if pageData.infographics -%} {% for item in pageData.infographics %}
43
- <div class="slide">
44
- <img
45
- loading="lazy"
46
- src="{{ item.image }}"
47
- alt="img"
48
- draggable="false"
49
- class="infographic-img"
50
- onclick="openModal1('{{ item.image }}')"
51
- />
52
- <p class="infographic-desc">{{ item.description | capitalize }}</p>
53
- </div>
54
- {% endfor %} {%- endif -%}
55
- </div>
56
- </div>
57
- <i id="right" class="fas fa-angle-right"></i>
58
- </div>
59
- </div>
60
- <div id="imageModal1" class="modal1" onclick="closeModal1()">
61
- <span class="close1" onclick="closeModal1()">&times;</span>
62
- <div class="modal1-content1">
63
- <div class="modal1-body">
64
- <img id="modal1Image" src="" alt="Image">
65
- </div>
66
- </div>
67
- </div>
68
- <script>
69
- function openModal1(imageSrc) {
70
- var modal1 = document.getElementById('imageModal1');
71
- var modal1Img = document.getElementById('modal1Image');
72
- modal1.style.display = "block";
73
- modal1Img.src = imageSrc;
74
- }
75
- function closeModal1() {
76
- var modal1 = document.getElementById('imageModal1');
77
- modal1.style.display = "none";
78
- }
79
- document.addEventListener('click', function(event) {
80
- var modal1 = document.getElementById('imageModal1');
81
- if (event.target === modal1) {
82
- closeModal1();
83
- }
84
- });
85
- const carousel = document.querySelector(".carousel-inner"),
86
- firstImg = carousel.querySelectorAll("img")[0],
87
- arrowIcons = document.querySelectorAll(".wrapper i");
88
- const numImages = carousel.querySelectorAll("img").length;
89
- const isMobile = window.matchMedia("(max-width: 767px)").matches; // Check if screen width is less than or equal to 767px
90
- if (numImages > 3) {
91
- arrowIcons[1].style.display = "block";
92
- } else {
93
- arrowIcons[0].style.display = "none";
94
- arrowIcons[1].style.display = "none";
95
- }
96
- let isDragStart = false,
97
- isDragging = false,
98
- prevPageX,
99
- prevScrollLeft,
100
- positionDiff;
101
- const showHideIcons = () => {
102
- let scrollWidth = carousel.scrollWidth - carousel.clientWidth; // getting max scrollable width
103
- arrowIcons[0].style.display = carousel.scrollLeft == 0 ? "none" : "block";
104
- arrowIcons[1].style.display =
105
- carousel.scrollLeft == scrollWidth ? "none" : "block";
106
- };
107
- arrowIcons.forEach((icon) => {
108
- icon.addEventListener("click", () => {
109
- let firstImgWidth = firstImg.clientWidth + 40;
110
- const scrollAmount = icon.id === "left" ? -firstImgWidth : firstImgWidth;
111
- carousel.scrollBy({
112
- left: scrollAmount,
113
- behavior: "smooth",
114
- });
115
- setTimeout(() => showHideIcons(), 60); // calling showHideIcons after 60ms
116
- });
117
- });
118
- // const autoSlide = () => {
119
- // // if there is no image left to scroll then return from here
120
- // if (carousel.scrollLeft - (carousel.scrollWidth - carousel.clientWidth) > -1 || carousel.scrollLeft <= 0) return;
121
- // positionDiff = Math.abs(positionDiff); // making positionDiff value to positive
122
- // let firstImgWidth = firstImg.clientWidth + 14;
123
- // // getting difference value that needs to add or reduce from carousel left to take middle img center
124
- // let valDifference = firstImgWidth - positionDiff;
125
- // if (carousel.scrollLeft > prevScrollLeft) { // if user is scrolling to the right
126
- // return carousel.scrollLeft += positionDiff > firstImgWidth / 3 ? valDifference : -positionDiff;
127
- // }
128
- // // if user is scrolling to the left
129
- // carousel.scrollLeft -= positionDiff > firstImgWidth / 3 ? valDifference : -positionDiff;
130
- // }
131
- // const dragStart = (e) => {
132
- // // updatating global variables value on mouse down event
133
- // isDragStart = true;
134
- // prevPageX = e.pageX || e.touches[0].pageX;
135
- // prevScrollLeft = carousel.scrollLeft;
136
- // }
137
- // const dragging = (e) => {
138
- // // scrolling images/carousel to left according to mouse pointer
139
- // if (!isDragStart) return;
140
- // e.preventDefault();
141
- // isDragging = true;
142
- // carousel.classList.add("dragging");
143
- // positionDiff = (e.pageX || e.touches[0].pageX) - prevPageX;
144
- // carousel.scrollLeft = prevScrollLeft - positionDiff;
145
- // showHideIcons();
146
- // }
147
- // const dragStop = () => {
148
- // isDragStart = false;
149
- // carousel.classList.remove("dragging");
150
- // if (!isDragging) return;
151
- // isDragging = false;
152
- // autoSlide();
153
- // }
154
- // carousel.addEventListener("mousedown", dragStart);
155
- // carousel.addEventListener("touchstart", dragStart);
156
- // document.addEventListener("mousemove", dragging);
157
- // carousel.addEventListener("touchmove", dragging);
158
- // document.addEventListener("mouseup", dragStop);
159
- // carousel.addEventListener("touchend", dragStop);
160
- </script>
161
-
162
-
163
-
164
-
165
-
166
-
1
+ <style>
2
+ .modal1 {
3
+ display: none;
4
+ position: fixed;
5
+ z-index: 1000;
6
+ left: 0;
7
+ top: 0;
8
+ width: 100%;
9
+ height: 100%;
10
+ overflow: auto;
11
+ background-color: rgba(59, 58, 58, 0.9);
12
+ }
13
+ .modal1-content1 {
14
+ margin: auto;
15
+ display: block;
16
+ width: 80%;
17
+ max-width: 800px;
18
+ margin-top: 20px;
19
+ }
20
+ .modal1-body img {
21
+ height: auto;
22
+ }
23
+ .close1 {
24
+ position: absolute;
25
+ top: 10px;
26
+ right: 10px;
27
+ font-size: 24px;
28
+ color: #fff;
29
+ cursor: pointer;
30
+ }
31
+ .close1:hover {
32
+ color: #ccc;
33
+ }
34
+ </style>
35
+ <div class="inforgraphics_section">
36
+ <h3 class="text-center w-100 mb-5"><b>Other useful information</b></h3>
37
+ <div class="wrapper">
38
+ <svg
39
+ id="left"
40
+ viewBox="0 0 24 24"
41
+ fill="none"
42
+ xmlns="http://www.w3.org/2000/svg"
43
+ >
44
+ <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
45
+ <g
46
+ id="SVGRepo_tracerCarrier"
47
+ stroke-linecap="round"
48
+ stroke-linejoin="round"
49
+ ></g>
50
+ <g id="SVGRepo_iconCarrier">
51
+ <path
52
+ d="M15 19.9201L8.47997 13.4001C7.70997 12.6301 7.70997 11.3701 8.47997 10.6001L15 4.08008"
53
+ stroke="#292D32"
54
+ stroke-width="1.5"
55
+ stroke-miterlimit="10"
56
+ stroke-linecap="round"
57
+ stroke-linejoin="round"
58
+ ></path>
59
+ </g>
60
+ </svg>
61
+ <div class="carousel">
62
+ <div class="carousel-inner">
63
+ {%- if pageData.infographics -%} {% for item in pageData.infographics %}
64
+ <div class="slide">
65
+ <img
66
+ loading="lazy"
67
+ src="{{ item.image }}"
68
+ alt="img"
69
+ draggable="false"
70
+ class="infographic-img"
71
+ onclick="openModal1('{{ item.image }}')"
72
+ />
73
+ <p class="infographic-desc">{{ item.description | capitalize }}</p>
74
+ </div>
75
+ {% endfor %} {%- endif -%}
76
+ </div>
77
+ </div>
78
+ <svg
79
+ id="right"
80
+ viewBox="0 0 24 24"
81
+ fill="none"
82
+ xmlns="http://www.w3.org/2000/svg"
83
+ >
84
+ <g id="SVGRepo_bgCarrier" stroke-width="0"></g>
85
+ <g
86
+ id="SVGRepo_tracerCarrier"
87
+ stroke-linecap="round"
88
+ stroke-linejoin="round"
89
+ ></g>
90
+ <g id="SVGRepo_iconCarrier">
91
+ <path
92
+ d="M9 5L14.15 10C14.4237 10.2563 14.6419 10.5659 14.791 10.9099C14.9402 11.2539 15.0171 11.625 15.0171 12C15.0171 12.375 14.9402 12.7458 14.791 13.0898C14.6419 13.4339 14.4237 13.7437 14.15 14L9 19"
93
+ stroke="#000000"
94
+ stroke-width="1.5"
95
+ stroke-linecap="round"
96
+ stroke-linejoin="round"
97
+ ></path>
98
+ </g>
99
+ </svg>
100
+ </div>
101
+ </div>
102
+ <div id="imageModal1" class="modal1" onclick="closeModal1()">
103
+ <span class="close1" onclick="closeModal1()">&times;</span>
104
+ <div class="modal1-content1">
105
+ <div class="modal1-body">
106
+ <img id="modal1Image" src="" alt="Image" />
107
+ </div>
108
+ </div>
109
+ </div>
110
+ <script>
111
+ function openModal1(imageSrc) {
112
+ var modal1 = document.getElementById("imageModal1");
113
+ var modal1Img = document.getElementById("modal1Image");
114
+ modal1.style.display = "block";
115
+ modal1Img.src = imageSrc;
116
+ }
117
+ function closeModal1() {
118
+ var modal1 = document.getElementById("imageModal1");
119
+ modal1.style.display = "none";
120
+ }
121
+ document.addEventListener("click", function (event) {
122
+ var modal1 = document.getElementById("imageModal1");
123
+ if (event.target === modal1) {
124
+ closeModal1();
125
+ }
126
+ });
127
+ const carousel = document.querySelector(".carousel-inner"),
128
+ firstImg = carousel.querySelectorAll("img")[0],
129
+ arrowIcons = document.querySelectorAll(".wrapper svg");
130
+ const numImages = carousel.querySelectorAll("img").length;
131
+ const isMobile = window.matchMedia("(max-width: 767px)").matches; // Check if screen width is less than or equal to 767px
132
+ if (numImages > 3) {
133
+ arrowIcons[1].style.display = "block";
134
+ } else {
135
+ // arrowIcons[0].style.display = "none";
136
+ // arrowIcons[1].style.display = "none";
137
+ }
138
+ let isDragStart = false,
139
+ isDragging = false,
140
+ prevPageX,
141
+ prevScrollLeft,
142
+ positionDiff;
143
+ const showHideIcons = () => {
144
+ let scrollWidth = carousel.scrollWidth - carousel.clientWidth; // getting max scrollable width
145
+ arrowIcons[0].style.display = carousel.scrollLeft == 0 ? "none" : "block";
146
+ arrowIcons[1].style.display =
147
+ carousel.scrollLeft == scrollWidth ? "none" : "block";
148
+ };
149
+ arrowIcons.forEach((icon) => {
150
+ icon.addEventListener("click", () => {
151
+ let firstImgWidth = firstImg.clientWidth + 250;
152
+ const scrollAmount = icon.id === "left" ? -firstImgWidth : firstImgWidth;
153
+ carousel.scrollBy({
154
+ left: scrollAmount,
155
+ behavior: "smooth",
156
+ });
157
+ setTimeout(() => showHideIcons(), 60); // calling showHideIcons after 60ms
158
+ });
159
+ });
160
+ // const autoSlide = () => {
161
+ // // if there is no image left to scroll then return from here
162
+ // if (carousel.scrollLeft - (carousel.scrollWidth - carousel.clientWidth) > -1 || carousel.scrollLeft <= 0) return;
163
+ // positionDiff = Math.abs(positionDiff); // making positionDiff value to positive
164
+ // let firstImgWidth = firstImg.clientWidth + 14;
165
+ // // getting difference value that needs to add or reduce from carousel left to take middle img center
166
+ // let valDifference = firstImgWidth - positionDiff;
167
+ // if (carousel.scrollLeft > prevScrollLeft) { // if user is scrolling to the right
168
+ // return carousel.scrollLeft += positionDiff > firstImgWidth / 3 ? valDifference : -positionDiff;
169
+ // }
170
+ // // if user is scrolling to the left
171
+ // carousel.scrollLeft -= positionDiff > firstImgWidth / 3 ? valDifference : -positionDiff;
172
+ // }
173
+ // const dragStart = (e) => {
174
+ // // updatating global variables value on mouse down event
175
+ // isDragStart = true;
176
+ // prevPageX = e.pageX || e.touches[0].pageX;
177
+ // prevScrollLeft = carousel.scrollLeft;
178
+ // }
179
+ // const dragging = (e) => {
180
+ // // scrolling images/carousel to left according to mouse pointer
181
+ // if (!isDragStart) return;
182
+ // e.preventDefault();
183
+ // isDragging = true;
184
+ // carousel.classList.add("dragging");
185
+ // positionDiff = (e.pageX || e.touches[0].pageX) - prevPageX;
186
+ // carousel.scrollLeft = prevScrollLeft - positionDiff;
187
+ // showHideIcons();
188
+ // }
189
+ // const dragStop = () => {
190
+ // isDragStart = false;
191
+ // carousel.classList.remove("dragging");
192
+ // if (!isDragging) return;
193
+ // isDragging = false;
194
+ // autoSlide();
195
+ // }
196
+ // carousel.addEventListener("mousedown", dragStart);
197
+ // carousel.addEventListener("touchstart", dragStart);
198
+ // document.addEventListener("mousemove", dragging);
199
+ // carousel.addEventListener("touchmove", dragging);
200
+ // document.addEventListener("mouseup", dragStop);
201
+ // carousel.addEventListener("touchend", dragStop);
202
+ </script>
@@ -1,4 +1,4 @@
1
-
2
- <div class="appscms-loader">
3
- <div class="lds-roller"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>
4
- </div>
1
+
2
+ <div class="appscms-loader">
3
+ <div class="lds-roller"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div>
4
+ </div>