import { LitElement, nothing } from "lit"; import { customElement, property } from "lit/decorators.js"; import Subscriber from "@supersoniks/concorde/core/mixins/Subscriber"; import { SonicToast } from "@supersoniks/concorde/core/components/ui/toast/toast"; import { Message } from "@supersoniks/concorde/core/_types/types"; export type APIResult = { data?: object | string; message?: string; public_message?: string; success?: boolean; messages?: Message[]; status?: boolean; }; const tagName = "sonic-toast-message-subscriber"; //Superbe mix de multples versions d'api. @customElement(tagName) export class MessageSubscriber extends Subscriber(LitElement, {} as APIResult) { _messages: Array = []; @property({ type: Array }) get messages() { return this._messages; } set messages(value) { this._messages = value; if (!this.messages) return; value.forEach((message) => { if (message.type == "public") SonicToast.add({ text: message.content || "", status: message.status }); }); } render() { return nothing; } }