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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 384bd7bfdd29a210928721bf99679557cd9f8e15922de5822a2f1fc439466678
|
4
|
+
data.tar.gz: f56bad61df520e0b9f6075d6fea676227f044e65352d7223f6aa69ea015fe5e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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-
|
5
|
-
<div class="
|
6
|
-
<
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
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
|
+
|
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
|
data/_layouts/appscms-help.html
CHANGED