Untitled

 avatar
unknown
plain_text
4 months ago
2.3 kB
4
Indexable
betbeast.sportsbook = {
    boot(instance) {
        instance.$watch(() => pgx.$route.to.view, async (view) => {
            if (view === 'sports') {
                let properties = await this.getToken();

                let token = '';
                token = data('betbeast.account') === undefined ? (this.signout(), '') : properties.token;

                if (!betbeast.sportsbook.promise) {
                    betbeast.sportsbook.promise = new Promise((resolve) => {
                        let script = document.createElement('script');
                        script.type = 'text/javascript';
                        script.src = properties.scriptUri;
                        script.async = true;
                        document.body.appendChild(script);
                        script.onload = async () => {
                            // Wait for container to be ready
                            await this.waitForContainer();
                            await this.initSportbook(token);
                            data('betbeast.sportsbook.loading', true);
                            resolve();
                        };
                    });
                } else {
                    // Wait for container to be ready
                    await this.waitForContainer();
                    this.addSportbook(token);
                    data('betbeast.sportsbook.loading', true);
                }
            }
        }, { immediate: true });
    },

    // Add helper method to wait for container
    waitForContainer(attempts = 10) {
        return new Promise((resolve) => {
            const checkContainer = () => {
                const container = document.getElementById('AltenarSB');
                if (container) {
                    resolve();
                } else if (attempts > 0) {
                    attempts--;
                    setTimeout(checkContainer, 100); // Check every 100ms
                } else {
                    console.warn('Sportsbook container not found after all attempts');
                    resolve(); // Resolve anyway to prevent hanging
                }
            };
            checkContainer();
        });
    },

    // ... existing code ...
Editor is loading...
Leave a Comment