appscms-tools-theme 4.6.1 → 4.6.2

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 (130) 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 -1
  5. data/_data/feature/en/batch-conversion.json +192 -192
  6. data/_data/feature/en/compress-pdf.json +305 -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 -62
  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/recent-posts/recent_posts.html +90 -90
  32. data/_includes/appscms/recent-posts/related_categories_post.html +194 -194
  33. data/_includes/appscms/searchbar/devtool-searchbar.html +63 -63
  34. data/_includes/appscms/usp/usp.html +90 -90
  35. data/_includes/author_bio.html +41 -41
  36. data/_includes/authorpagehead/index.html +47 -47
  37. data/_includes/authors/authors.html +39 -39
  38. data/_includes/batch-conversion.html +141 -141
  39. data/_includes/bookmark.html +6 -6
  40. data/_includes/cssfile/links.html +54 -54
  41. data/_includes/custom-head.html +138 -138
  42. data/_includes/customCode.html +1 -1
  43. data/_includes/customScripts.html +1 -1
  44. data/_includes/customblog/pageRelatedPosts.html +87 -87
  45. data/_includes/customblog/recentposts.html +67 -67
  46. data/_includes/customblog/relatedBlogs.html +86 -86
  47. data/_includes/customblog/relatedposts.html +201 -201
  48. data/_includes/dropdown/langdropdown.html +32 -32
  49. data/_includes/feature.html +39 -39
  50. data/_includes/featurePageAuthors/featurePageAuthors.html +101 -101
  51. data/_includes/footer/index.html +537 -537
  52. data/_includes/google-analytics.html +32 -32
  53. data/_includes/head/index.html +623 -623
  54. data/_includes/header/blogHeader.html +34 -34
  55. data/_includes/header/index.html +192 -192
  56. data/_includes/infographics/infographics.html +241 -241
  57. data/_includes/paginationBlogPage.html +70 -70
  58. data/_includes/postbox.html +65 -65
  59. data/_includes/script.html +493 -493
  60. data/_includes/section/count.html +32 -32
  61. data/_includes/section/recent_posts.html +94 -94
  62. data/_includes/section/related_categories_post.html +196 -196
  63. data/_includes/share/socialshare.html +21 -21
  64. data/_includes/userTracking.html +14 -14
  65. data/_layouts/aboutUs.html +175 -175
  66. data/_layouts/allAuthors.html +131 -131
  67. data/_layouts/appscms-about.html +163 -163
  68. data/_layouts/appscms-audio.html +33 -33
  69. data/_layouts/appscms-author.html +436 -436
  70. data/_layouts/appscms-authors.html +145 -145
  71. data/_layouts/appscms-batch.html +141 -141
  72. data/_layouts/appscms-calculator.html +93 -93
  73. data/_layouts/appscms-categories.html +26 -26
  74. data/_layouts/appscms-contact.html +132 -132
  75. data/_layouts/appscms-disclaimer.html +124 -124
  76. data/_layouts/appscms-download.html +289 -289
  77. data/_layouts/appscms-feature-result.html +96 -96
  78. data/_layouts/appscms-help.html +25 -25
  79. data/_layouts/appscms-imagekit.html +96 -96
  80. data/_layouts/appscms-post.html +243 -243
  81. data/_layouts/appscms-privacy-policy.html +781 -781
  82. data/_layouts/appscms-terms-and-conditions.html +646 -646
  83. data/_layouts/appscms-video.html +33 -33
  84. data/_layouts/audio.html +33 -33
  85. data/_layouts/author.html +409 -409
  86. data/_layouts/batch.html +177 -177
  87. data/_layouts/blog-1.html +116 -116
  88. data/_layouts/blog.html +131 -131
  89. data/_layouts/calculator.html +99 -99
  90. data/_layouts/contenttool-feature.html +45 -45
  91. data/_layouts/contenttool-home.html +53 -53
  92. data/_layouts/devtool-blog.html +132 -132
  93. data/_layouts/devtool-feature.html +54 -54
  94. data/_layouts/devtool-home.html +53 -53
  95. data/_layouts/devtools.html +57 -57
  96. data/_layouts/feature-1.html +406 -406
  97. data/_layouts/feature.html +351 -351
  98. data/_layouts/featureResultPage.html +82 -82
  99. data/_layouts/frame.html +222 -222
  100. data/_layouts/home.html +281 -281
  101. data/_layouts/homeResultPage.html +32 -32
  102. data/_layouts/imagekit.html +308 -308
  103. data/_layouts/photo-effects-home.html +190 -190
  104. data/_layouts/post.html +233 -233
  105. data/assets/app.js +75 -75
  106. data/assets/css/appscms-blog.css +505 -505
  107. data/assets/css/appscms-contenttool.css +1384 -1384
  108. data/assets/css/appscms-home.css +5 -5
  109. data/assets/css/appscms-imagekit.css +855 -855
  110. data/assets/css/appscms-variables.css +19 -19
  111. data/assets/css/blog.css +510 -510
  112. data/assets/css/calculators.css +46 -46
  113. data/assets/css/devtool-main.css +1350 -1350
  114. data/assets/css/devtools.css +105 -105
  115. data/assets/css/feature-1.css +293 -293
  116. data/assets/css/imagekit copy.css +848 -848
  117. data/assets/css/imagekit.css +848 -848
  118. data/assets/css/tools.css +1847 -1847
  119. data/assets/images/close-button.svg +31 -31
  120. data/assets/images/digipaint.svg +6 -6
  121. data/assets/images/logo.svg +2 -2
  122. data/assets/images/manthink.svg +3552 -3552
  123. data/assets/images/search-icon.svg +2 -2
  124. data/assets/js/batch.js +219 -219
  125. data/assets/js/devtools.js +81 -81
  126. data/assets/js/sharePage.js +65 -65
  127. data/assets/js/usageTracking.js +143 -143
  128. data/assets/js/usageTrackingEvents.js +6 -6
  129. data/assets/js/webvitals.js +4 -4
  130. 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>