appscms-tools-theme 4.7.0 → 4.7.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -136,7 +136,7 @@ body {
136
136
  left: 0px;
137
137
  position: fixed;
138
138
  top: 100px;
139
- min-width: 500px;
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
- height: 40px;
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>
@@ -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
- // Handle search input
244
- const searchInput = document.querySelector('.search-input');
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
- gtag('event', 'search', {
253
- 'event_category': 'engagement',
254
- 'event_label': 'Search Box',
255
- 'value': query
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.0
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-06 00:00:00.000000000 Z
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>