diff --git a/resources/lang/en.json b/resources/lang/en.json
index 7df65f56e8..931304a3ea 100644
--- a/resources/lang/en.json
+++ b/resources/lang/en.json
@@ -919,6 +919,9 @@
"select_skin": "Select Skin",
"selected": "selected"
},
+ "cosmetics": {
+ "artist_label": "Artist:"
+ },
"flag_input": {
"title": "Select Flag",
"button_title": "Pick a flag!",
diff --git a/src/client/FlagInputModal.ts b/src/client/FlagInputModal.ts
index c51fc2036e..950b9afcd4 100644
--- a/src/client/FlagInputModal.ts
+++ b/src/client/FlagInputModal.ts
@@ -39,7 +39,12 @@ export class FlagInputModal extends BaseModal {
.map(
([key, flag]) => html`
diff --git a/src/client/Store.ts b/src/client/Store.ts
index 29c23d54f5..5cf67cdc86 100644
--- a/src/client/Store.ts
+++ b/src/client/Store.ts
@@ -188,6 +188,7 @@ export class StoreModal extends BaseModal {
name: flag.name,
url: flag.url,
product: flag.product,
+ artist: flag.artist,
}}
.selected=${selectedFlag === `flag:${key}`}
.requiresPurchase=${rel === "purchasable"}
diff --git a/src/client/components/ArtistInfo.ts b/src/client/components/ArtistInfo.ts
new file mode 100644
index 0000000000..3a55856aa1
--- /dev/null
+++ b/src/client/components/ArtistInfo.ts
@@ -0,0 +1,37 @@
+import { html, LitElement, nothing } from "lit";
+import { customElement, property } from "lit/decorators.js";
+import { translateText } from "../Utils";
+
+@customElement("artist-info")
+export class ArtistInfo extends LitElement {
+ @property({ type: String })
+ artist?: string;
+
+ createRenderRoot() {
+ return this;
+ }
+
+ render() {
+ if (!this.artist) {
+ return nothing;
+ }
+
+ return html`
+
e.stopPropagation()}
+ >
+
+ ?
+
+
+ ${translateText("cosmetics.artist_label")} ${this.artist}
+
+
+ `;
+ }
+}
diff --git a/src/client/components/FlagButton.ts b/src/client/components/FlagButton.ts
index f2575dad5e..938087ef25 100644
--- a/src/client/components/FlagButton.ts
+++ b/src/client/components/FlagButton.ts
@@ -2,6 +2,7 @@ import { html, LitElement } from "lit";
import { customElement, property } from "lit/decorators.js";
import { Product } from "../../core/CosmeticSchemas";
import { translateCosmetic } from "../Cosmetics";
+import "./ArtistInfo";
import "./PurchaseButton";
export interface FlagItem {
@@ -9,6 +10,7 @@ export interface FlagItem {
name: string;
url: string;
product?: Product | null;
+ artist?: string;
}
@customElement("flag-button")
@@ -39,7 +41,7 @@ export class FlagButton extends LitElement {
render() {
return html`
-
-
- ${translateCosmetic("flags", this.flag.name)}
-
-
+
+
+ ${translateCosmetic("flags", this.flag.name)}