appscms-tools-theme 3.8.4 → 3.8.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0c0a933bfa6be9056148a0fb2bf90fd26f10922f84c709ee78020e7c3aa58330
4
- data.tar.gz: 0d7c1e0338dc7af94b5f1aed5fcd2385b484cdb71a185726c94a16776682f9a6
3
+ metadata.gz: 384bd7bfdd29a210928721bf99679557cd9f8e15922de5822a2f1fc439466678
4
+ data.tar.gz: f56bad61df520e0b9f6075d6fea676227f044e65352d7223f6aa69ea015fe5e8
5
5
  SHA512:
6
- metadata.gz: 572b1372ddf13a4ace8642f373023c872e3404cefbdcd4d634ef3ffedd246616b464454a0a4c02246779d574df10789b0431f0fdbf4aa886139fde0265d4cf37
7
- data.tar.gz: d5a23b149dbc47eec22ba2eb03567bfdfaec1938c2115bc5452e9eec858a3b4e4cc62759b98adb6b4628fb5b7f0f549bf2d4bed11a8a897c7febfe14118a37eb
6
+ metadata.gz: a551441fb371591601e69b6a6c88985f954fb1f754be4cc6d865ba7d75a6178bfbe7bb3e72c62a09bb016f901b3adb3d41a43ae302d196c323609074ebc71612
7
+ data.tar.gz: e97840b26b715701265ed4dfe7633a0f878d523a9455791545826b27ee99f902dc869f191b68ec8a3ade9c007082b5e2b638175366a8933189808fce92880103
@@ -1,33 +1,125 @@
1
+ {%- if page.tool -%} {%- assign tool = page.tool -%} {%- assign data =
2
+ site.data.rating.rating.tools -%} {% assign file = page.fileName %} {% assign
3
+ lang = page.lang %} {% assign folder = page.folderName %} {% assign Data=
4
+ site.data[folder][lang][file] %}
1
5
  <!-- rating section -->
2
6
  <div class="container">
3
7
  <div class="row justify-content-center">
4
- <div class="col-lg-7 col-md-9 col-sm-10 col-10 pt-5 text-center">
5
- <div class="input-group w-100 shadow ratings">
6
- <span class="input-group-text bg-transparent border-0">
7
- Rate this tool:
8
- </span>
9
- <div class="input-group-append">
10
- <span class="input-group-text bg-transparent border-0">
11
- <i class="fas fa-star fa-lg"></i>
12
- <i class="fas fa-star fa-lg"></i>
13
- <i class="fas fa-star fa-lg"></i>
14
- <i class="fas fa-star fa-lg"></i>
15
- <i class="fas fa-star fa-lg"></i>
8
+ <div class="col-lg-8 col-md-9 col-sm-10 col-10 pt-5 text-center">
9
+ <div class="rating-tool">
10
+ <img
11
+ id="rating-img"
12
+ loading="lazy"
13
+ src="/assets/images/rating.png"
14
+ alt="rating-img"
15
+ {%-
16
+ if
17
+ site.crossorigin
18
+ -%}
19
+ crossorigin
20
+ {%-
21
+ endif
22
+ -%}
23
+ />
24
+ <div class="rating-text">
25
+ {{Data.rate | default: 'Rate this tool' }} :
26
+ </div>
27
+ <div class="rating-stars">
28
+ <i class="fas fa-star rating-star"></i
29
+ ><i class="fas fa-star rating-star"></i
30
+ ><i class="fas fa-star rating-star"></i
31
+ ><i class="fas fa-star rating-star"></i
32
+ ><i class="fas fa-star rating-star"></i>
33
+ </div>
34
+ <div class="rating-value ml-2">
35
+ {%- for item in data -%} {%- if item.name ==tool -%} {%- assign rating
36
+ = item.rating -%} {%- assign votes = item.votes -%} {%- endif -%} {%-
37
+ endfor -%}
38
+ <span class="rating">
39
+ <strong id="rating">{{rating}}</strong><span>/5</span>
16
40
  </span>
41
+ &nbsp;
42
+ <span class="total-ratings" id="count">{{votes}} </span> {{Data.votes
43
+ | default: 'votes' }}
17
44
  </div>
18
- <span></span>
19
- <span
20
- class="input-group-text bg-transparent border-0 appsms-user-rating-count"
21
- >4.9</span
22
- >
23
- <span
24
- class="input-group-text bg-transparent border-0 appsms-user-total-count"
25
- >/5</span
26
- >
27
- <span class="input-group-text bg-transparent border-0 raing-votes"
28
- >32 votes</span
29
- >
30
45
  </div>
46
+ <script>
47
+ const ratingValue = document.getElementById("rating");
48
+ const count = document.getElementById("count");
49
+ const setRating = async (rating) => {
50
+ const name = "{{site.name}}";
51
+ const tool = "{{page.tool}}";
52
+ const data = { website: name, feature: tool, rating: rating };
53
+ fetch(
54
+ "https://ratingapi-main.netlify.app/.netlify/functions/api/v1/rating/add",
55
+ {
56
+ method: "POST",
57
+ headers: {
58
+ "Content-Type": "application/json",
59
+ },
60
+ body: JSON.stringify(data),
61
+ }
62
+ )
63
+ .then((response) => response.json())
64
+ .then((data) => {
65
+ ratingValue.innerText = data.rating;
66
+ count.innerText = data.count;
67
+ })
68
+ .catch((error) => {
69
+ console.error("Error:", error);
70
+ });
71
+ };
72
+ const tool = "{{page.tool}}";
73
+ const fetchRating = async () => {
74
+ const data = await fetch(
75
+ `https://ratingapi-main.netlify.app/.netlify/functions/api/v1/${tool}/rating`
76
+ ).then((res) => res.json());
77
+ ratingValue.innerText = data.rating;
78
+ count.innerText = data.votes;
79
+ };
80
+ let ratingImg = document.querySelector("#rating-img");
81
+ ratingImg.addEventListener("load", (event) => {
82
+ fetchRating();
83
+ });
84
+ const ratingNode = document.getElementsByClassName("rating-star");
85
+ let ratedValue = localStorage.getItem(`${tool}rating`);
86
+ if (ratedValue) {
87
+ Array.from(ratingNode)
88
+ .slice(0, ratedValue)
89
+ .map((item) => {
90
+ item.style.color = "#FF8A1F";
91
+ });
92
+ }
93
+
94
+ Array.from(ratingNode).map((item) =>
95
+ item.addEventListener("click", () => {
96
+ const tool = "{{page.tool}}";
97
+ if (!localStorage.getItem(`${tool}rating`)) {
98
+ function indexInClass(node) {
99
+ var className = node.className;
100
+ var num = 0;
101
+ for (var i = 0; i < ratingNode.length; i++) {
102
+ if (ratingNode[i] === node) {
103
+ return num;
104
+ }
105
+ num++;
106
+ }
107
+ return -1;
108
+ }
109
+ const index = indexInClass(item);
110
+ Array.from(ratingNode)
111
+ .slice(0, index + 1)
112
+ .map((item) => {
113
+ item.style.color = "#FF8A1F";
114
+ });
115
+ setRating(index + 1);
116
+ localStorage.setItem(`${tool}rating`, index + 1);
117
+ }
118
+ })
119
+ );
120
+ </script>
31
121
  </div>
32
122
  </div>
33
123
  </div>
124
+
125
+ {%- endif -%}
@@ -32,7 +32,7 @@
32
32
  <img id="rating-img" loading='lazy' src="/assets/images/rating.png" alt="rating-img" {%- if
33
33
  site.crossorigin -%} crossorigin {%- endif -%}>
34
34
  <div class="rating-tool" style="border: none;">
35
- <div class="rating-text">{{downloadData.rateus | default: 'Rate us'}}: </div>
35
+ <div class="rating-text mr-2">{{downloadData.rateus | default: 'Rate us'}}: </div>
36
36
  <div class="rating-stars">
37
37
  <i class="fas fa-star rating-star"></i><i class="fas fa-star rating-star"></i><i
38
38
  class="fas fa-star rating-star"></i><i class="fas fa-star rating-star"></i><i
@@ -19,7 +19,7 @@
19
19
  {{content}}
20
20
  </div>
21
21
  </div>
22
- {% include appcms/footer/staticfooter.html %}
22
+ {% include appscms/footer/static-footer.html %}
23
23
  {% include script.html %}
24
24
  </body>
25
25
 
@@ -639,7 +639,8 @@
639
639
  </div>
640
640
  {%- endif -%}
641
641
  </div>
642
- {% include staticfooter.html %}
642
+ </div>
643
+ {% include appscms/footer/static-footer.html %}
643
644
  {% include script.html %}
644
645
  </body>
645
646
 
@@ -834,6 +834,9 @@ body {
834
834
 
835
835
  .rating-stars {
836
836
  padding: 0px 10px;
837
+ display: flex;
838
+ justify-content: space-between;
839
+ gap: 4px;
837
840
  }
838
841
 
839
842
  .rating-stars i {
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appscms-tools-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.8.4
4
+ version: 3.8.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - vivek-appscms