import BaseUIElement from "../BaseUIElement";

export default class ShareButton extends BaseUIElement {
    private _embedded: BaseUIElement;
    private _shareData: () => { text: string; title: string; url: string };

    constructor(embedded: BaseUIElement, generateShareData: () => {
        text: string,
        title: string,
        url: string
    }) {
        super();
        this._embedded = embedded;
        this._shareData = generateShareData;
        this.SetClass("share-button")
    }

    protected InnerConstructElement(): HTMLElement {
        const e = document.createElement("button")
        e.type = "button"
        e.appendChild(this._embedded.ConstructElement())

        e.addEventListener('click', () => {
            if (navigator.share) {
                navigator.share(this._shareData()).then(() => {
                    console.log('Thanks for sharing!');
                })
                    .catch(err => {
                        console.log(`Couldn't share because of`, err.message);
                    });
            } else {
                console.log('web share not supported');
            }
        });

        return e;
    }


}