appscms-tools-theme 5.2.4 → 5.2.6
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.
- checksums.yaml +4 -4
- data/_data/.DS_Store +0 -0
- data/_includes/.DS_Store +0 -0
- data/_includes/appscms/.DS_Store +0 -0
- data/_includes/appscms/category-tabs/category-tabs.html +49 -22
- data/_includes/appscms/navbars/navbar.html +62 -1
- data/assets/.DS_Store +0 -0
- data/assets/css/appscms-theme.css +211 -0
- data/assets/images/left-arrow.svg +9 -0
- data/assets/images/right-arrow.svg +9 -0
- data/assets/js/appscms-theme.js +58 -1
- metadata +5 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f29418de0c3cd1344e19c96bc0478ac08c5b189ff6fc8a8e2e6f1790b62b618b
|
|
4
|
+
data.tar.gz: 6c1f38f0071261e4c6e2b6a035e8b5a6b0e17ffd5c79286fdf4a9709ff0c21cd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: be4adafd85a07fadad684735c13f9f3a8101621867207a689579a7dcb52f60dbc6ff0b3d45b4d43694e82745de89eed76ede9b7e3295b3cc1a8c54bf098636ef
|
|
7
|
+
data.tar.gz: 1b2ea6ed87d5efa1e6b7e9eafd5d56e0b850c00e15d3dc56e83806e9ab000331936e0d7dda9642bc032d2e79ffcadfa72ab7dc8959e8286b6e86071c021561d4
|
data/_data/.DS_Store
CHANGED
|
Binary file
|
data/_includes/.DS_Store
CHANGED
|
Binary file
|
data/_includes/appscms/.DS_Store
CHANGED
|
Binary file
|
|
@@ -56,7 +56,11 @@
|
|
|
56
56
|
<div class="col-lg-9 col-md-12 col-sm-12 pt-sm-3">
|
|
57
57
|
<div class="toolfilters-wrapper">
|
|
58
58
|
<div id="toolfilters" class="toolfilters">
|
|
59
|
-
|
|
59
|
+
<div class="left-scroll p-2 navigation-btn">
|
|
60
|
+
<img src="/assets/images/left-arrow.svg" alt="left arrow" height="25px" width="25px">
|
|
61
|
+
</div>
|
|
62
|
+
<div class="d-flex filters-scroll">
|
|
63
|
+
{%- for item in pageData.features -%} {%- if item.link -%}
|
|
60
64
|
<a
|
|
61
65
|
href="{{item.link}}"
|
|
62
66
|
class="filter__category{% if item.active %} filter__category_active{% endif %}"
|
|
@@ -81,38 +85,61 @@
|
|
|
81
85
|
<span class="filter__name">{{item.category}}</span>
|
|
82
86
|
</div>
|
|
83
87
|
{%- endif -%} {%- endfor -%}
|
|
88
|
+
</div>
|
|
89
|
+
<div class="right-scroll p-2 navigation-btn">
|
|
90
|
+
<img src="/assets/images/right-arrow.svg" alt="right arrow" height="25px" width="25px">
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
|
|
84
94
|
</div>
|
|
85
95
|
</div>
|
|
86
96
|
</div>
|
|
87
97
|
</div>
|
|
88
98
|
</div>
|
|
89
99
|
|
|
100
|
+
|
|
90
101
|
<script>
|
|
102
|
+
console.log("Downloaded data features --",{{ downloadedData.features | jsonify }})
|
|
91
103
|
const categories = document.querySelectorAll(".filter__category");
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
104
|
+
|
|
105
|
+
categories.forEach((item) => {
|
|
106
|
+
item.addEventListener("click", () => {
|
|
107
|
+
// Remove 'filter__category_active' class from all categories
|
|
108
|
+
categories.forEach((i) => {
|
|
109
|
+
i.classList.remove("filter__category_active");
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
// Add 'filter__category_active' class to the clicked category
|
|
113
|
+
item.classList.add("filter__category_active");
|
|
114
|
+
|
|
115
|
+
// Hide all elements with a 'data-category' attribute
|
|
116
|
+
document.querySelectorAll("[data-category]").forEach((category) => {
|
|
117
|
+
category.style.display = "none";
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
// Show elements that match the clicked category's data-category-name
|
|
121
|
+
const elements = document.querySelectorAll(
|
|
122
|
+
`[data-category="${item.dataset.categoryName}"]`
|
|
123
|
+
);
|
|
124
|
+
elements.forEach((element) => {
|
|
125
|
+
element.style.display = "block";
|
|
126
|
+
});
|
|
98
127
|
});
|
|
128
|
+
});
|
|
99
129
|
|
|
100
|
-
|
|
101
|
-
|
|
130
|
+
const filtersTool = document.querySelector(".filters-scroll");
|
|
131
|
+
const leftScroll = document.querySelector(".left-scroll");
|
|
132
|
+
const rightScroll = document.querySelector(".right-scroll");
|
|
102
133
|
|
|
103
|
-
|
|
104
|
-
document.querySelectorAll("[data-category]").forEach((category) => {
|
|
105
|
-
category.style.display = "none";
|
|
106
|
-
});
|
|
134
|
+
const scrollAmount = 100; // Adjust the scroll amount as needed
|
|
107
135
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
});
|
|
115
|
-
});
|
|
136
|
+
leftScroll.addEventListener("click", function () {
|
|
137
|
+
filtersTool.scrollBy({ left: -scrollAmount, behavior: "smooth" });
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
rightScroll.addEventListener("click", function () {
|
|
141
|
+
filtersTool.scrollBy({ left: scrollAmount, behavior: "smooth" });
|
|
116
142
|
});
|
|
117
|
-
|
|
143
|
+
|
|
144
|
+
</script>
|
|
118
145
|
{%- endif -%}
|
|
@@ -13,7 +13,22 @@
|
|
|
13
13
|
{%- else -%}
|
|
14
14
|
{%- endif -%}
|
|
15
15
|
<div class="d-flex align-items-center">
|
|
16
|
+
<button class="share-button mr-3" id="shareButton" aria-label="Share">
|
|
17
|
+
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" width="20" height="20">
|
|
18
|
+
<g id="SVGRepo_bgCarrier" stroke-width="0"></g>
|
|
19
|
+
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g>
|
|
20
|
+
<g id="SVGRepo_iconCarrier">
|
|
21
|
+
<path d="M9 11.5C9 12.8807 7.88071 14 6.5 14C5.11929 14 4 12.8807 4 11.5C4 10.1193 5.11929 9 6.5 9C7.88071 9 9 10.1193 9 11.5Z" stroke="#000000" stroke-width="1.5"></path>
|
|
22
|
+
<path d="M14 7.5C14 8.88071 15.1193 10 16.5 10C17.8807 10 19 8.88071 19 7.5C19 6.11929 17.8807 5 16.5 5C15.1193 5 14 6.11929 14 7.5Z" stroke="#000000" stroke-width="1.5"></path>
|
|
23
|
+
<path d="M14 16.5C14 17.8807 15.1193 19 16.5 19C17.8807 19 19 17.8807 19 16.5C19 15.1193 17.8807 14 16.5 14C15.1193 14 14 15.1193 14 16.5Z" stroke="#000000" stroke-width="1.5"></path>
|
|
24
|
+
<path d="M9 11.5L14 7.5" stroke="#000000" stroke-width="1.5"></path>
|
|
25
|
+
<path d="M9 11.5L14 16.5" stroke="#000000" stroke-width="1.5"></path>
|
|
26
|
+
</g>
|
|
27
|
+
</svg>
|
|
28
|
+
</button>
|
|
16
29
|
{%- if site.navigationSearch -%}
|
|
30
|
+
<!-- Social Share Button -->
|
|
31
|
+
|
|
17
32
|
<div class="nav-search mr-4">
|
|
18
33
|
<div class="search-container">
|
|
19
34
|
<input type="text" class="search-input" placeholder="Search Tools">
|
|
@@ -242,8 +257,54 @@
|
|
|
242
257
|
</div>
|
|
243
258
|
</div>
|
|
244
259
|
{%- endif -%}
|
|
260
|
+
|
|
261
|
+
<!-- Social Share Modal -->
|
|
262
|
+
<div class="share-modal-overlay" id="shareModalOverlay"></div>
|
|
263
|
+
<div class="share-modal" id="shareModal">
|
|
264
|
+
<div class="share-modal-content">
|
|
265
|
+
<h2 class="share-modal-title">Show Us Some Love</h2>
|
|
266
|
+
<p class="share-modal-subtitle">Tell the world about {{ site.url }}</p>
|
|
267
|
+
|
|
268
|
+
<div class="share-social-icons">
|
|
269
|
+
<a href="https://pinterest.com/pin/create/button/?url={{ site.url }}{{ page.url | default: '' }}&description={{ page.title | default: site.title | url_encode }}" target="_blank" rel="noopener" class="share-icon pinterest-share" aria-label="Share on Pinterest">
|
|
270
|
+
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
271
|
+
<path d="M12 2C6.477 2 2 6.477 2 12c0 4.237 2.636 7.855 6.356 9.312-.088-.791-.167-2.005.035-2.868.182-.78 1.172-4.97 1.172-4.97s-.299-.6-.299-1.486c0-1.39.806-2.428 1.81-2.428.852 0 1.264.64 1.264 1.408 0 .858-.545 2.14-.828 3.33-.236.995.5 1.807 1.48 1.807 1.778 0 3.144-1.874 3.144-4.58 0-2.393-1.72-4.068-4.177-4.068-2.845 0-4.515 2.135-4.515 4.34 0 .859.331 1.781.745 2.281a.3.3 0 01.069.288l-.278 1.133c-.044.183-.145.223-.335.134-1.249-.581-2.03-2.407-2.03-3.874 0-3.154 2.292-6.052 6.608-6.052 3.469 0 6.165 2.473 6.165 5.776 0 3.447-2.173 6.22-5.19 6.22-1.013 0-1.965-.525-2.291-1.148l-.623 2.378c-.226.869-.835 1.958-1.244 2.621.937.29 1.931.446 2.962.446 5.523 0 10-4.477 10-10S17.523 2 12 2z" fill="#E60023"/>
|
|
272
|
+
</svg>
|
|
273
|
+
</a>
|
|
274
|
+
|
|
275
|
+
<a href="https://www.tumblr.com/share/link?url={{ site.url }}{{ page.url | default: '' }}&name={{ page.title | default: site.title | url_encode }}" target="_blank" rel="noopener" class="share-icon tumblr-share" aria-label="Share on Tumblr">
|
|
276
|
+
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
277
|
+
<path d="M14.563 24c-5.093 0-7.031-3.756-7.031-6.411V9.747H5.116V6.648c3.63-1.313 4.512-4.596 4.71-6.469C9.84.051 9.941 0 9.999 0h3.517v6.114h4.801v3.633h-4.82v7.47c.016 1.001.375 2.371 2.207 2.371h.09c.631-.02 1.486-.205 1.936-.419l1.156 3.425c-.436.636-2.4 1.374-4.156 1.404h-.178l.011.002z" fill="#35465C"/>
|
|
278
|
+
</svg>
|
|
279
|
+
</a>
|
|
280
|
+
|
|
281
|
+
<a href="https://twitter.com/intent/tweet?url={{ site.url }}{{ page.url | default: '' }}&text={{ page.title | default: site.title | url_encode }}" target="_blank" rel="noopener" class="share-icon twitter-share" aria-label="Share on Twitter">
|
|
282
|
+
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
283
|
+
<path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" fill="#1DA1F2"/>
|
|
284
|
+
</svg>
|
|
285
|
+
</a>
|
|
286
|
+
|
|
287
|
+
<a href="https://www.facebook.com/sharer/sharer.php?u={{ site.url }}{{ page.url | default: '' }}" target="_blank" rel="noopener" class="share-icon facebook-share" aria-label="Share on Facebook">
|
|
288
|
+
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
289
|
+
<path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z" fill="#1877F2"/>
|
|
290
|
+
</svg>
|
|
291
|
+
</a>
|
|
292
|
+
|
|
293
|
+
<a href="https://www.linkedin.com/shareArticle?mini=true&url={{ site.url }}{{ page.url | default: '' }}&title={{ page.title | default: site.title | url_encode }}" target="_blank" rel="noopener" class="share-icon linkedin-share" aria-label="Share on LinkedIn">
|
|
294
|
+
<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
295
|
+
<path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" fill="#0A66C2"/>
|
|
296
|
+
</svg>
|
|
297
|
+
</a>
|
|
298
|
+
</div>
|
|
299
|
+
|
|
300
|
+
<div class="share-url-container">
|
|
301
|
+
<input type="text" class="share-url-input" value="{{ site.url }}{{ page.url | default: '' }}" readonly id="shareUrlInput">
|
|
302
|
+
<button class="copy-link-btn" id="copyLinkBtn">Copy Link</button>
|
|
303
|
+
</div>
|
|
304
|
+
</div>
|
|
305
|
+
</div>
|
|
245
306
|
</div>
|
|
246
|
-
|
|
307
|
+
|
|
247
308
|
<div id="hamburger" data-open="false" class="hamburger">
|
|
248
309
|
<svg
|
|
249
310
|
style="font-size:25px"
|
data/assets/.DS_Store
CHANGED
|
Binary file
|
|
@@ -3721,3 +3721,214 @@ textarea {
|
|
|
3721
3721
|
color: var(--text-light);
|
|
3722
3722
|
margin-bottom: 25px;
|
|
3723
3723
|
}
|
|
3724
|
+
/* Social Share Button and Modal */
|
|
3725
|
+
.share-button {
|
|
3726
|
+
background: transparent;
|
|
3727
|
+
border: 1px solid #e2e8f0;
|
|
3728
|
+
border-radius: 50%;
|
|
3729
|
+
width: 40px;
|
|
3730
|
+
height: 40px;
|
|
3731
|
+
display: flex;
|
|
3732
|
+
align-items: center;
|
|
3733
|
+
justify-content: center;
|
|
3734
|
+
cursor: pointer;
|
|
3735
|
+
transition: all 0.3s ease;
|
|
3736
|
+
padding: 8px;
|
|
3737
|
+
}
|
|
3738
|
+
|
|
3739
|
+
.share-button:hover {
|
|
3740
|
+
background: #f7fafc;
|
|
3741
|
+
border-color: #cbd5e0;
|
|
3742
|
+
transform: scale(1.05);
|
|
3743
|
+
}
|
|
3744
|
+
|
|
3745
|
+
.share-button svg {
|
|
3746
|
+
width: 20px;
|
|
3747
|
+
height: 20px;
|
|
3748
|
+
}
|
|
3749
|
+
|
|
3750
|
+
.share-modal-overlay {
|
|
3751
|
+
position: fixed;
|
|
3752
|
+
top: 0;
|
|
3753
|
+
left: 0;
|
|
3754
|
+
right: 0;
|
|
3755
|
+
bottom: 0;
|
|
3756
|
+
background: rgba(0, 0, 0, 0.5);
|
|
3757
|
+
z-index: 9998;
|
|
3758
|
+
display: none;
|
|
3759
|
+
opacity: 0;
|
|
3760
|
+
transition: opacity 0.3s ease;
|
|
3761
|
+
}
|
|
3762
|
+
|
|
3763
|
+
.share-modal-overlay.show {
|
|
3764
|
+
display: block;
|
|
3765
|
+
opacity: 1;
|
|
3766
|
+
}
|
|
3767
|
+
|
|
3768
|
+
.share-modal {
|
|
3769
|
+
position: fixed;
|
|
3770
|
+
top: 50%;
|
|
3771
|
+
left: 50%;
|
|
3772
|
+
transform: translate(-50%, -50%) scale(0.9);
|
|
3773
|
+
background: white;
|
|
3774
|
+
border-radius: 24px;
|
|
3775
|
+
padding: 40px;
|
|
3776
|
+
z-index: 9999;
|
|
3777
|
+
max-width: 500px;
|
|
3778
|
+
width: 90%;
|
|
3779
|
+
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
|
|
3780
|
+
opacity: 0;
|
|
3781
|
+
pointer-events: none;
|
|
3782
|
+
transition: all 0.3s ease;
|
|
3783
|
+
}
|
|
3784
|
+
|
|
3785
|
+
.share-modal.show {
|
|
3786
|
+
opacity: 1;
|
|
3787
|
+
pointer-events: all;
|
|
3788
|
+
transform: translate(-50%, -50%) scale(1);
|
|
3789
|
+
}
|
|
3790
|
+
|
|
3791
|
+
.share-modal-content {
|
|
3792
|
+
text-align: center;
|
|
3793
|
+
}
|
|
3794
|
+
|
|
3795
|
+
.share-modal-title {
|
|
3796
|
+
font-size: 28px;
|
|
3797
|
+
font-weight: 700;
|
|
3798
|
+
margin: 0 0 10px 0;
|
|
3799
|
+
color: #1a202c;
|
|
3800
|
+
}
|
|
3801
|
+
|
|
3802
|
+
.share-modal-subtitle {
|
|
3803
|
+
font-size: 16px;
|
|
3804
|
+
color: #718096;
|
|
3805
|
+
margin: 0 0 30px 0;
|
|
3806
|
+
}
|
|
3807
|
+
|
|
3808
|
+
.share-social-icons {
|
|
3809
|
+
display: flex;
|
|
3810
|
+
justify-content: center;
|
|
3811
|
+
gap: 15px;
|
|
3812
|
+
margin-bottom: 30px;
|
|
3813
|
+
flex-wrap: wrap;
|
|
3814
|
+
}
|
|
3815
|
+
|
|
3816
|
+
.share-icon {
|
|
3817
|
+
width: 60px;
|
|
3818
|
+
height: 60px;
|
|
3819
|
+
border-radius: 50%;
|
|
3820
|
+
background: white;
|
|
3821
|
+
border: 2px solid #e2e8f0;
|
|
3822
|
+
display: flex;
|
|
3823
|
+
align-items: center;
|
|
3824
|
+
justify-content: center;
|
|
3825
|
+
cursor: pointer;
|
|
3826
|
+
transition: all 0.3s ease;
|
|
3827
|
+
text-decoration: none;
|
|
3828
|
+
}
|
|
3829
|
+
|
|
3830
|
+
.share-icon:hover {
|
|
3831
|
+
transform: translateY(-5px);
|
|
3832
|
+
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
|
|
3833
|
+
}
|
|
3834
|
+
|
|
3835
|
+
.share-icon svg {
|
|
3836
|
+
width: 30px;
|
|
3837
|
+
height: 30px;
|
|
3838
|
+
}
|
|
3839
|
+
|
|
3840
|
+
.pinterest-share:hover {
|
|
3841
|
+
border-color: #e60023;
|
|
3842
|
+
background: #fff5f5;
|
|
3843
|
+
}
|
|
3844
|
+
|
|
3845
|
+
.tumblr-share:hover {
|
|
3846
|
+
border-color: #35465c;
|
|
3847
|
+
background: #f7fafc;
|
|
3848
|
+
}
|
|
3849
|
+
|
|
3850
|
+
.twitter-share:hover {
|
|
3851
|
+
border-color: #1da1f2;
|
|
3852
|
+
background: #e6f7ff;
|
|
3853
|
+
}
|
|
3854
|
+
|
|
3855
|
+
.facebook-share:hover {
|
|
3856
|
+
border-color: #1877f2;
|
|
3857
|
+
background: #e7f3ff;
|
|
3858
|
+
}
|
|
3859
|
+
|
|
3860
|
+
.linkedin-share:hover {
|
|
3861
|
+
border-color: #0a66c2;
|
|
3862
|
+
background: #e8f4f8;
|
|
3863
|
+
}
|
|
3864
|
+
|
|
3865
|
+
.share-url-container {
|
|
3866
|
+
display: flex;
|
|
3867
|
+
gap: 10px;
|
|
3868
|
+
background: #f7fafc;
|
|
3869
|
+
padding: 12px;
|
|
3870
|
+
border-radius: 12px;
|
|
3871
|
+
border: 1px solid #e2e8f0;
|
|
3872
|
+
}
|
|
3873
|
+
|
|
3874
|
+
.share-url-input {
|
|
3875
|
+
flex: 1;
|
|
3876
|
+
border: none;
|
|
3877
|
+
background: transparent;
|
|
3878
|
+
font-size: 14px;
|
|
3879
|
+
color: #4a5568;
|
|
3880
|
+
outline: none;
|
|
3881
|
+
padding: 0 8px;
|
|
3882
|
+
}
|
|
3883
|
+
|
|
3884
|
+
.copy-link-btn {
|
|
3885
|
+
background: #4353ff;
|
|
3886
|
+
color: white;
|
|
3887
|
+
border: none;
|
|
3888
|
+
padding: 10px 20px;
|
|
3889
|
+
border-radius: 8px;
|
|
3890
|
+
font-weight: 600;
|
|
3891
|
+
cursor: pointer;
|
|
3892
|
+
transition: all 0.3s ease;
|
|
3893
|
+
white-space: nowrap;
|
|
3894
|
+
font-size: 14px;
|
|
3895
|
+
}
|
|
3896
|
+
|
|
3897
|
+
.copy-link-btn:hover {
|
|
3898
|
+
background: #3644d9;
|
|
3899
|
+
transform: translateY(-1px);
|
|
3900
|
+
box-shadow: 0 4px 12px rgba(67, 83, 255, 0.3);
|
|
3901
|
+
}
|
|
3902
|
+
|
|
3903
|
+
@media (max-width: 768px) {
|
|
3904
|
+
.share-modal {
|
|
3905
|
+
padding: 30px 20px;
|
|
3906
|
+
max-width: 95%;
|
|
3907
|
+
}
|
|
3908
|
+
|
|
3909
|
+
.share-modal-title {
|
|
3910
|
+
font-size: 24px;
|
|
3911
|
+
}
|
|
3912
|
+
|
|
3913
|
+
.share-social-icons {
|
|
3914
|
+
gap: 12px;
|
|
3915
|
+
}
|
|
3916
|
+
|
|
3917
|
+
.share-icon {
|
|
3918
|
+
width: 50px;
|
|
3919
|
+
height: 50px;
|
|
3920
|
+
}
|
|
3921
|
+
|
|
3922
|
+
.share-icon svg {
|
|
3923
|
+
width: 24px;
|
|
3924
|
+
height: 24px;
|
|
3925
|
+
}
|
|
3926
|
+
|
|
3927
|
+
.share-url-container {
|
|
3928
|
+
flex-direction: column;
|
|
3929
|
+
}
|
|
3930
|
+
|
|
3931
|
+
.copy-link-btn {
|
|
3932
|
+
width: 100%;
|
|
3933
|
+
}
|
|
3934
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
2
|
+
|
|
3
|
+
<svg width="64px" height="64px" viewBox="0 0 1024 1024" class="icon" version="1.1" xmlns="http://www.w3.org/2000/svg" fill="#1B2FE7" stroke="#1B2FE7">
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
2
|
+
|
|
3
|
+
<svg width="64px" height="64px" viewBox="0 0 1024 1024" class="icon" version="1.1" xmlns="http://www.w3.org/2000/svg" fill="#1B2FE7" stroke="#1B2FE7">
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
data/assets/js/appscms-theme.js
CHANGED
|
@@ -456,4 +456,61 @@ if ("{{ site.navigationSearch }}" === "true") {
|
|
|
456
456
|
|
|
457
457
|
// Initial check to hide buttons if necessary
|
|
458
458
|
updateScrollButtons();
|
|
459
|
-
});
|
|
459
|
+
});
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
// Social Share Modal Functionality
|
|
463
|
+
document.addEventListener("DOMContentLoaded", function() {
|
|
464
|
+
const shareButton = document.getElementById("shareButton");
|
|
465
|
+
const shareModal = document.getElementById("shareModal");
|
|
466
|
+
const shareModalOverlay = document.getElementById("shareModalOverlay");
|
|
467
|
+
const copyLinkBtn = document.getElementById("copyLinkBtn");
|
|
468
|
+
const shareUrlInput = document.getElementById("shareUrlInput");
|
|
469
|
+
|
|
470
|
+
if (shareButton && shareModal) {
|
|
471
|
+
// Open share modal
|
|
472
|
+
shareButton.addEventListener("click", function() {
|
|
473
|
+
shareModal.classList.add("show");
|
|
474
|
+
shareModalOverlay.classList.add("show");
|
|
475
|
+
document.body.style.overflow = "hidden";
|
|
476
|
+
});
|
|
477
|
+
|
|
478
|
+
// Close share modal
|
|
479
|
+
function closeShareModal() {
|
|
480
|
+
shareModal.classList.remove("show");
|
|
481
|
+
shareModalOverlay.classList.remove("show");
|
|
482
|
+
document.body.style.overflow = "";
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
// Close on overlay click
|
|
486
|
+
shareModalOverlay.addEventListener("click", closeShareModal);
|
|
487
|
+
|
|
488
|
+
// Close on escape key
|
|
489
|
+
document.addEventListener("keydown", function(e) {
|
|
490
|
+
if (e.key === "Escape" && shareModal.classList.contains("show")) {
|
|
491
|
+
closeShareModal();
|
|
492
|
+
}
|
|
493
|
+
});
|
|
494
|
+
|
|
495
|
+
// Copy link functionality
|
|
496
|
+
if (copyLinkBtn && shareUrlInput) {
|
|
497
|
+
copyLinkBtn.addEventListener("click", function() {
|
|
498
|
+
shareUrlInput.select();
|
|
499
|
+
shareUrlInput.setSelectionRange(0, 99999); // For mobile devices
|
|
500
|
+
|
|
501
|
+
navigator.clipboard.writeText(shareUrlInput.value).then(function() {
|
|
502
|
+
const originalText = copyLinkBtn.textContent;
|
|
503
|
+
copyLinkBtn.textContent = "Copied!";
|
|
504
|
+
copyLinkBtn.style.background = "#28a745";
|
|
505
|
+
|
|
506
|
+
setTimeout(function() {
|
|
507
|
+
copyLinkBtn.textContent = originalText;
|
|
508
|
+
copyLinkBtn.style.background = "";
|
|
509
|
+
}, 2000);
|
|
510
|
+
}).catch(function(err) {
|
|
511
|
+
console.error("Failed to copy: ", err);
|
|
512
|
+
});
|
|
513
|
+
});
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
});
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: appscms-tools-theme
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.2.
|
|
4
|
+
version: 5.2.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- vivek-appscms
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-01-
|
|
11
|
+
date: 2026-01-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: jekyll
|
|
@@ -554,6 +554,7 @@ files:
|
|
|
554
554
|
- assets/images/krutika.jpeg
|
|
555
555
|
- assets/images/krutika.webp
|
|
556
556
|
- assets/images/lakshmi.svg
|
|
557
|
+
- assets/images/left-arrow.svg
|
|
557
558
|
- assets/images/lightbulb.svg
|
|
558
559
|
- assets/images/like.svg
|
|
559
560
|
- assets/images/loader.gif
|
|
@@ -569,6 +570,7 @@ files:
|
|
|
569
570
|
- assets/images/pallavi.webp
|
|
570
571
|
- assets/images/privacy.svg
|
|
571
572
|
- assets/images/rating.png
|
|
573
|
+
- assets/images/right-arrow.svg
|
|
572
574
|
- assets/images/safeimagekit. (2).png
|
|
573
575
|
- assets/images/safeimagekit. (3).png
|
|
574
576
|
- assets/images/safeimagekit..png
|
|
@@ -705,7 +707,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
705
707
|
- !ruby/object:Gem::Version
|
|
706
708
|
version: '0'
|
|
707
709
|
requirements: []
|
|
708
|
-
rubygems_version: 3.3.
|
|
710
|
+
rubygems_version: 3.3.26
|
|
709
711
|
signing_key:
|
|
710
712
|
specification_version: 4
|
|
711
713
|
summary: Appscms theme for all tools
|