appscms-tools-theme 3.8.4 → 3.8.5

Sign up to get free protection for your applications and to get access to all the features.
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