appscms-tools-theme 4.6.2 → 4.6.3

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 (131) 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 +209 -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 +166 -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 +241 -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-home.css +5 -5
  110. data/assets/css/appscms-imagekit.css +855 -855
  111. data/assets/css/appscms-variables.css +19 -19
  112. data/assets/css/blog.css +510 -510
  113. data/assets/css/calculators.css +46 -46
  114. data/assets/css/devtool-main.css +1350 -1350
  115. data/assets/css/devtools.css +105 -105
  116. data/assets/css/feature-1.css +293 -293
  117. data/assets/css/imagekit copy.css +848 -848
  118. data/assets/css/imagekit.css +848 -848
  119. data/assets/css/tools.css +1847 -1847
  120. data/assets/images/close-button.svg +31 -31
  121. data/assets/images/digipaint.svg +6 -6
  122. data/assets/images/logo.svg +2 -2
  123. data/assets/images/manthink.svg +3552 -3552
  124. data/assets/images/search-icon.svg +2 -2
  125. data/assets/js/batch.js +219 -219
  126. data/assets/js/devtools.js +81 -81
  127. data/assets/js/sharePage.js +65 -65
  128. data/assets/js/usageTracking.js +143 -143
  129. data/assets/js/usageTrackingEvents.js +6 -6
  130. data/assets/js/webvitals.js +4 -4
  131. 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,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
- 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
+ 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,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>