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.
@@ -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.1
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-09 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>