appscms-tools-theme 4.7.1 → 4.7.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.
- checksums.yaml +4 -4
- data/_data/home/en/en.json +74 -65
- data/_includes/appscms/category-tabs/category-tabs.html +61 -243
- data/_includes/appscms/home/feature-boxes.html +11 -4
- data/_includes/appscms/navbars/navbar.html +24 -20
- data/_includes/appscms/navbars/toolbar.html +18 -8
- data/_layouts/home.html +336 -243
- data/assets/css/appscms-theme.css +3 -3
- data/assets/images/menu.svg +1 -0
- data/assets/js/appscms-theme.js +91 -65
- metadata +3 -3
- data/_includes/appscms/navbars/new-toolbar.html +0 -160
|
@@ -136,7 +136,7 @@ body {
|
|
|
136
136
|
left: 0px;
|
|
137
137
|
position: fixed;
|
|
138
138
|
top: 100px;
|
|
139
|
-
min-width:
|
|
139
|
+
min-width: 100%;
|
|
140
140
|
max-height: 500px;
|
|
141
141
|
overflow-y: auto;
|
|
142
142
|
width: 90vw;
|
|
@@ -1943,8 +1943,8 @@ select:focus {
|
|
|
1943
1943
|
|
|
1944
1944
|
.toolfilters {
|
|
1945
1945
|
font-size: 10px;
|
|
1946
|
-
height: 30px;
|
|
1947
1946
|
padding: 3px;
|
|
1947
|
+
min-width: auto !important;
|
|
1948
1948
|
}
|
|
1949
1949
|
.toolfilter {
|
|
1950
1950
|
margin: auto;
|
|
@@ -2034,7 +2034,7 @@ select:focus {
|
|
|
2034
2034
|
@media (min-width: 576px) and (max-width: 767.98px) {
|
|
2035
2035
|
.toolfilters {
|
|
2036
2036
|
font-size: 10px;
|
|
2037
|
-
|
|
2037
|
+
min-width: none !important;
|
|
2038
2038
|
padding: 1px;
|
|
2039
2039
|
}
|
|
2040
2040
|
#searchbar-placeholder {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg viewBox="-0.5 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path d="M19 3.32001H16C14.8954 3.32001 14 4.21544 14 5.32001V8.32001C14 9.42458 14.8954 10.32 16 10.32H19C20.1046 10.32 21 9.42458 21 8.32001V5.32001C21 4.21544 20.1046 3.32001 19 3.32001Z" stroke="#525658" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> <path d="M8 3.32001H5C3.89543 3.32001 3 4.21544 3 5.32001V8.32001C3 9.42458 3.89543 10.32 5 10.32H8C9.10457 10.32 10 9.42458 10 8.32001V5.32001C10 4.21544 9.10457 3.32001 8 3.32001Z" stroke="#525658" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> <path d="M19 14.32H16C14.8954 14.32 14 15.2154 14 16.32V19.32C14 20.4246 14.8954 21.32 16 21.32H19C20.1046 21.32 21 20.4246 21 19.32V16.32C21 15.2154 20.1046 14.32 19 14.32Z" stroke="#525658" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> <path d="M8 14.32H5C3.89543 14.32 3 15.2154 3 16.32V19.32C3 20.4246 3.89543 21.32 5 21.32H8C9.10457 21.32 10 20.4246 10 19.32V16.32C10 15.2154 9.10457 14.32 8 14.32Z" stroke="#525658" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> </g></svg>
|
data/assets/js/appscms-theme.js
CHANGED
|
@@ -211,75 +211,101 @@ if (processingBtn) {
|
|
|
211
211
|
});
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
-
if ("{{ site.navigationSearch }}" === "true") {
|
|
215
|
-
// Fetch data from data.json
|
|
216
|
-
async function fetchData() {
|
|
217
|
-
const response = await fetch('/alllinks.json');
|
|
218
|
-
const data = await response.json();
|
|
219
|
-
return data.featuredLinks;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
// Filter data based on search query
|
|
223
|
-
function filterData(data, query) {
|
|
224
|
-
return data.filter(item => item.name.toLowerCase().includes(query.toLowerCase()));
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
// Display filtered results
|
|
228
|
-
function displayResults(results) {
|
|
229
|
-
const resultsContainer = document.getElementById('results');
|
|
230
|
-
resultsContainer.style.display = results.length ? 'block' : 'none';
|
|
231
|
-
resultsContainer.innerHTML = results.length
|
|
232
|
-
? results.map(result => `<div class="result-item"><a href="${result.url}" target="_blank">${result.name}</a></div>`).join('')
|
|
233
|
-
: '<p>No results found</p>';
|
|
234
|
-
}
|
|
235
|
-
function mobileDisplayResults(results) {
|
|
236
|
-
const mobileResultsContainer = document.querySelector('.mobile-searchbarResults');
|
|
237
|
-
mobileResultsContainer.style.display = results.length ? 'block' : 'none';
|
|
238
|
-
mobileResultsContainer.innerHTML = results.length
|
|
239
|
-
? results.map(result => `<div class="mobile-result-item"><a href="${result.url}" target="_blank">${result.name}</a></div>`).join('')
|
|
240
|
-
: '<p>No results found</p>';
|
|
241
|
-
}
|
|
214
|
+
if ("{{ site.navigationSearch }}" === "true" ) {
|
|
242
215
|
|
|
243
|
-
//
|
|
244
|
-
const
|
|
245
|
-
const mobileSearchInput = document.querySelector('.mobile-search-input');
|
|
246
|
-
searchInput.addEventListener('input', async (event) => {
|
|
247
|
-
const query = event.target.value;
|
|
248
|
-
const data = await fetchData();
|
|
249
|
-
const filteredResults = filterData(data, query);
|
|
250
|
-
displayResults(filteredResults);
|
|
216
|
+
// Fetch data from data.json
|
|
217
|
+
const worker = new Worker('/search-worker.js');
|
|
251
218
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
219
|
+
worker.onmessage = function(event) {
|
|
220
|
+
if (event.data.error) {
|
|
221
|
+
console.error('Error fetching data:', event.data.error);
|
|
222
|
+
} else {
|
|
223
|
+
// Store fetched data globally for reuse
|
|
224
|
+
window.fetchedData = event.data;
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
worker.onerror = function(error) {
|
|
229
|
+
console.error('Worker error:', error.message);
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
// Send a message to the worker to start fetching the data
|
|
233
|
+
worker.postMessage('fetchData');
|
|
234
|
+
|
|
235
|
+
// Filter data based on search query
|
|
236
|
+
function filterData(data, query) {
|
|
237
|
+
return data.filter(item => item.name.toLowerCase().includes(query.toLowerCase()));
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
// Display filtered results
|
|
241
|
+
function displayResults(results) {
|
|
242
|
+
const resultsContainer = document.getElementById('results');
|
|
243
|
+
resultsContainer.style.display = results.length ? 'block' : 'none';
|
|
244
|
+
resultsContainer.innerHTML = results.length
|
|
245
|
+
? results.map(result => `<div class="result-item"><a href="${result.url}" target="_blank">${result.name}</a></div>`).join('')
|
|
246
|
+
: '<p>No results found</p>';
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
function mobileDisplayResults(results) {
|
|
250
|
+
const mobileResultsContainer = document.querySelector('.mobile-searchbarResults');
|
|
251
|
+
mobileResultsContainer.style.display = results.length ? 'block' : 'none';
|
|
252
|
+
mobileResultsContainer.innerHTML = results.length
|
|
253
|
+
? results.map(result => `<div class="mobile-result-item"><a href="${result.url}" target="_blank">${result.name}</a></div>`).join('')
|
|
254
|
+
: '<p>No results found</p>';
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
// Handle search input
|
|
258
|
+
const searchInput = document.querySelector('.search-input');
|
|
259
|
+
;
|
|
260
|
+
|
|
261
|
+
searchInput.addEventListener('input', (event) => {
|
|
262
|
+
const query = event.target.value;
|
|
263
|
+
const data = window.fetchedData || [];
|
|
264
|
+
const filteredResults = filterData(data, query);
|
|
265
|
+
displayResults(filteredResults);
|
|
266
|
+
|
|
267
|
+
gtag('event', 'search', {
|
|
268
|
+
'event_category': 'engagement',
|
|
269
|
+
'event_label': 'Search Box',
|
|
270
|
+
'value': query
|
|
271
|
+
});
|
|
256
272
|
});
|
|
273
|
+
|
|
274
|
+
if ("{{ page.lang }}" === "en") {
|
|
275
|
+
const mobileSearchInput = document.querySelector('.mobile-search-input')
|
|
276
|
+
mobileSearchInput.addEventListener('input', (event) => {
|
|
277
|
+
const query = event.target.value;
|
|
278
|
+
const data = window.fetchedData || [];
|
|
279
|
+
const filteredResults = filterData(data, query);
|
|
280
|
+
mobileDisplayResults(filteredResults);
|
|
281
|
+
|
|
282
|
+
gtag('event', 'search', {
|
|
283
|
+
'event_category': 'engagement',
|
|
284
|
+
'event_label': 'Search Box',
|
|
285
|
+
'value': query
|
|
286
|
+
});
|
|
287
|
+
});
|
|
288
|
+
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
// Hide results when clicking outside search input and results container
|
|
292
|
+
document.addEventListener('click', (event) => {
|
|
293
|
+
const resultsContainer = document.getElementById('results');
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
if (!searchInput.contains(event.target) && !resultsContainer.contains(event.target)) {
|
|
297
|
+
resultsContainer.style.display = 'none';
|
|
298
|
+
}
|
|
299
|
+
if ("{{ page.lang }}" === "en") {
|
|
300
|
+
const mobileResultsContainer = document.querySelector('.mobile-searchbarResults');
|
|
301
|
+
if (!mobileSearchInput.contains(event.target) && !mobileResultsContainer.contains(event.target)) {
|
|
302
|
+
mobileResultsContainer.style.display = 'none';
|
|
303
|
+
}
|
|
304
|
+
}
|
|
257
305
|
|
|
258
|
-
|
|
259
|
-
mobileSearchInput.addEventListener('input', async (event) => {
|
|
260
|
-
const query = event.target.value;
|
|
261
|
-
const data = await fetchData();
|
|
262
|
-
const filteredResults = filterData(data, query);
|
|
263
|
-
mobileDisplayResults(filteredResults);
|
|
264
|
-
|
|
265
|
-
gtag('event', 'search', {
|
|
266
|
-
'event_category': 'engagement',
|
|
267
|
-
'event_label': 'Search Box',
|
|
268
|
-
'value': query
|
|
306
|
+
|
|
269
307
|
});
|
|
308
|
+
|
|
309
|
+
|
|
270
310
|
|
|
271
|
-
});
|
|
272
|
-
|
|
273
|
-
// Hide results when clicking outside search input and results container
|
|
274
|
-
document.addEventListener('click', (event) => {
|
|
275
|
-
const resultsContainer = document.getElementById('results');
|
|
276
|
-
const mobileResultsContainer = document.querySelector('.mobile-searchbarResults');
|
|
277
|
-
|
|
278
|
-
if (!searchInput.contains(event.target) && !resultsContainer.contains(event.target)) {
|
|
279
|
-
resultsContainer.style.display = 'none';
|
|
280
|
-
}
|
|
281
|
-
if (!mobileSearchInput.contains(event.target) && !mobileResultsContainer.contains(event.target)) {
|
|
282
|
-
mobileResultsContainer.style.display = 'none';
|
|
283
|
-
}
|
|
284
|
-
});
|
|
285
311
|
}
|
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: 4.7.
|
|
4
|
+
version: 4.7.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- vivek-appscms
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-07-
|
|
11
|
+
date: 2024-07-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: jekyll
|
|
@@ -139,7 +139,6 @@ files:
|
|
|
139
139
|
- _includes/appscms/navbars/devtool-navbar.html
|
|
140
140
|
- _includes/appscms/navbars/devtool-toolbar.html
|
|
141
141
|
- _includes/appscms/navbars/navbar.html
|
|
142
|
-
- _includes/appscms/navbars/new-toolbar.html
|
|
143
142
|
- _includes/appscms/navbars/toolbar.html
|
|
144
143
|
- _includes/appscms/recent-posts/recent_posts.html
|
|
145
144
|
- _includes/appscms/recent-posts/related_categories_post.html
|
|
@@ -479,6 +478,7 @@ files:
|
|
|
479
478
|
- assets/images/mahika.webp
|
|
480
479
|
- assets/images/manthink.svg
|
|
481
480
|
- assets/images/mega.png
|
|
481
|
+
- assets/images/menu.svg
|
|
482
482
|
- assets/images/paavan.webp
|
|
483
483
|
- assets/images/pallavi.jpeg
|
|
484
484
|
- assets/images/pallavi.webp
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
<div class="appscms-toolbar">
|
|
2
|
-
<div class="row">
|
|
3
|
-
<div class="col-11 mx-auto">
|
|
4
|
-
<div class="appscms-toolbar-list">
|
|
5
|
-
<div id="close-nav-ham" data-open="1" class="close-nav-ham">
|
|
6
|
-
<img
|
|
7
|
-
class="mt-3"
|
|
8
|
-
style="cursor: pointer"
|
|
9
|
-
height="30px"
|
|
10
|
-
width="30px"
|
|
11
|
-
src="/assets/images/close-button.svg"
|
|
12
|
-
alt="close-button"
|
|
13
|
-
/>
|
|
14
|
-
</div>
|
|
15
|
-
{%- if Data.megaMenu -%} {%- for item in Data.megaMenu.dropdown -%}
|
|
16
|
-
<li class="appscms-toolbar-list-item">
|
|
17
|
-
<span
|
|
18
|
-
class="appscms-toolbar-list-item-span d-flex justify-content-between"
|
|
19
|
-
>
|
|
20
|
-
{{ item.categoryName }}
|
|
21
|
-
</span>
|
|
22
|
-
<div class="list-item-dropdown">
|
|
23
|
-
<div class="row">
|
|
24
|
-
<div class="col-lg-4 col-md-6">
|
|
25
|
-
<div class="appscms-featured-tools">
|
|
26
|
-
<div class="category-tools">
|
|
27
|
-
<h4 class="expand_menu-name-categiry">FEATURED TOOLS</h4>
|
|
28
|
-
{%- for i in item.featuredLinks -%}
|
|
29
|
-
<a href="{{i.url}}" class="category-tools__item">
|
|
30
|
-
<div class="icon_box v_2 v2">
|
|
31
|
-
<img src="{{i.iconSrc}}" alt="icon-img" />
|
|
32
|
-
</div>
|
|
33
|
-
<div class="category-tools__content">
|
|
34
|
-
<h4>{{i.name}}</h4>
|
|
35
|
-
<p class="category-tools__descr gray">{{i.name}}</p>
|
|
36
|
-
</div>
|
|
37
|
-
</a>
|
|
38
|
-
{%- endfor -%}
|
|
39
|
-
</div>
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
<div class="col-md-8">
|
|
43
|
-
<div class="appscms-other-tools">
|
|
44
|
-
<div class="expand_menu-name-categiry">OTHER TOOLS</div>
|
|
45
|
-
{% assign link_count = item.links | size %} {% if link_count >
|
|
46
|
-
0 %} {% assign half = link_count | divided_by: 2 %} {% assign
|
|
47
|
-
remainder = link_count | modulo: 2 %}
|
|
48
|
-
|
|
49
|
-
<div class="row">
|
|
50
|
-
<div class="col-md-6">
|
|
51
|
-
<ul class="mega_menu">
|
|
52
|
-
{%- for i in item.links | slice: 0, half -%}
|
|
53
|
-
<li>
|
|
54
|
-
<a href="{{ i.url }}">{{ i.name }}</a>
|
|
55
|
-
<ul class=""></ul>
|
|
56
|
-
</li>
|
|
57
|
-
{%- endfor -%} {%- if remainder != 0 -%}
|
|
58
|
-
<li>
|
|
59
|
-
<a href="{{ item.links[half].url }}"
|
|
60
|
-
>{{ item.links[half].name }}</a
|
|
61
|
-
>
|
|
62
|
-
<ul class=""></ul>
|
|
63
|
-
</li>
|
|
64
|
-
{%- endif -%}
|
|
65
|
-
</ul>
|
|
66
|
-
</div>
|
|
67
|
-
<div class="col-md-6">
|
|
68
|
-
<ul class="mega_menu">
|
|
69
|
-
{%- for i in item.links | slice: half | plus: remainder,
|
|
70
|
-
link_count - half - remainder -%}
|
|
71
|
-
<li>
|
|
72
|
-
<a href="{{ i.url }}">{{ i.name }}</a>
|
|
73
|
-
<ul class=""></ul>
|
|
74
|
-
</li>
|
|
75
|
-
{%- endfor -%}
|
|
76
|
-
</ul>
|
|
77
|
-
</div>
|
|
78
|
-
</div>
|
|
79
|
-
{% endif %}
|
|
80
|
-
</div>
|
|
81
|
-
</div>
|
|
82
|
-
</div>
|
|
83
|
-
</div>
|
|
84
|
-
</li>
|
|
85
|
-
{%- endfor -%} {%- endif -%} {%- for item in siteData.megaMenu.dropdown
|
|
86
|
-
-%}
|
|
87
|
-
<li class="appscms-toolbar-list-item">
|
|
88
|
-
<span
|
|
89
|
-
class="appscms-toolbar-list-item-span d-flex justify-content-between"
|
|
90
|
-
>
|
|
91
|
-
{{ item.categoryName }}
|
|
92
|
-
</span>
|
|
93
|
-
<div class="list-item-dropdown">
|
|
94
|
-
<div class="row">
|
|
95
|
-
<div class="col-lg-4 col-md-6">
|
|
96
|
-
<div class="appscms-featured-tools">
|
|
97
|
-
<div class="category-tools">
|
|
98
|
-
<h4 class="expand_menu-name-categiry">FEATURED TOOLS</h4>
|
|
99
|
-
{%- for i in item.featuredLinks -%}
|
|
100
|
-
<a href="{{i.url}}" class="category-tools__item">
|
|
101
|
-
<div class="icon_box v_2 v2">
|
|
102
|
-
<img src="{{i.iconSrc}}" alt="icon-img" />
|
|
103
|
-
</div>
|
|
104
|
-
<div class="category-tools__content">
|
|
105
|
-
<h4>{{i.name}}</h4>
|
|
106
|
-
<p class="category-tools__descr gray">{{i.name}}</p>
|
|
107
|
-
</div>
|
|
108
|
-
</a>
|
|
109
|
-
{%- endfor -%}
|
|
110
|
-
</div>
|
|
111
|
-
</div>
|
|
112
|
-
</div>
|
|
113
|
-
<div class="col-lg-6">
|
|
114
|
-
<div class="appscms-other-tools">
|
|
115
|
-
<div class="expand_menu-name-categiry">OTHER WRITE TOOLS</div>
|
|
116
|
-
{% assign link_count = item.links | size %} {% if link_count >
|
|
117
|
-
0 %} {% assign half = link_count | divided_by: 2 %} {% assign
|
|
118
|
-
remainder = link_count | modulo: 2 %}
|
|
119
|
-
|
|
120
|
-
<div class="row">
|
|
121
|
-
<div class="col-lg-6">
|
|
122
|
-
<ul class="mega_menu">
|
|
123
|
-
{%- for i in item.links | slice: 0, half -%}
|
|
124
|
-
<li>
|
|
125
|
-
<a href="{{ i.url }}">{{ i.name }}</a>
|
|
126
|
-
<ul class=""></ul>
|
|
127
|
-
</li>
|
|
128
|
-
{%- endfor -%} {%- if remainder != 0 -%}
|
|
129
|
-
<li>
|
|
130
|
-
<a href="{{ item.links[half].url }}"
|
|
131
|
-
>{{ item.links[half].name }}</a
|
|
132
|
-
>
|
|
133
|
-
<ul class=""></ul>
|
|
134
|
-
</li>
|
|
135
|
-
{%- endif -%}
|
|
136
|
-
</ul>
|
|
137
|
-
</div>
|
|
138
|
-
<div class="col-lg-6">
|
|
139
|
-
<ul class="mega_menu">
|
|
140
|
-
{%- for i in item.links | slice: half | plus: remainder,
|
|
141
|
-
link_count - half - remainder -%}
|
|
142
|
-
<li>
|
|
143
|
-
<a href="{{ i.url }}">{{ i.name }}</a>
|
|
144
|
-
<ul class=""></ul>
|
|
145
|
-
</li>
|
|
146
|
-
{%- endfor -%}
|
|
147
|
-
</ul>
|
|
148
|
-
</div>
|
|
149
|
-
</div>
|
|
150
|
-
{% endif %}
|
|
151
|
-
</div>
|
|
152
|
-
</div>
|
|
153
|
-
</div>
|
|
154
|
-
</div>
|
|
155
|
-
</li>
|
|
156
|
-
{%- endfor -%}
|
|
157
|
-
</div>
|
|
158
|
-
</div>
|
|
159
|
-
</div>
|
|
160
|
-
</div>
|