summaryrefslogtreecommitdiffstats
path: root/browser/components/shopping/content/adjusted-rating.mjs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /browser/components/shopping/content/adjusted-rating.mjs
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/components/shopping/content/adjusted-rating.mjs')
-rw-r--r--browser/components/shopping/content/adjusted-rating.mjs53
1 files changed, 53 insertions, 0 deletions
diff --git a/browser/components/shopping/content/adjusted-rating.mjs b/browser/components/shopping/content/adjusted-rating.mjs
new file mode 100644
index 0000000000..a49b821145
--- /dev/null
+++ b/browser/components/shopping/content/adjusted-rating.mjs
@@ -0,0 +1,53 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+import { html } from "chrome://global/content/vendor/lit.all.mjs";
+import { MozLitElement } from "chrome://global/content/lit-utils.mjs";
+
+// eslint-disable-next-line import/no-unassigned-import
+import "chrome://global/content/elements/moz-five-star.mjs";
+
+/**
+ * Class for displaying the adjusted ratings for a given product.
+ */
+class AdjustedRating extends MozLitElement {
+ static properties = {
+ rating: { type: Number, reflect: true },
+ };
+
+ static get queries() {
+ return {
+ ratingEl: "moz-five-star",
+ };
+ }
+
+ render() {
+ if (!this.rating && this.rating !== 0) {
+ this.hidden = true;
+ return null;
+ }
+
+ this.hidden = false;
+
+ return html`
+ <shopping-card
+ data-l10n-id="shopping-adjusted-rating-label"
+ data-l10n-attrs="label"
+ >
+ <moz-five-star
+ slot="rating"
+ rating="${this.rating === 0 ? 0.5 : this.rating}"
+ ></moz-five-star>
+ <div slot="content">
+ <span
+ data-l10n-id="shopping-adjusted-rating-unreliable-reviews"
+ ></span>
+ </div>
+ </shopping-card>
+ `;
+ }
+}
+
+customElements.define("adjusted-rating", AdjustedRating);