{"id":229010,"date":"2023-02-02T12:13:45","date_gmt":"2023-02-02T20:13:45","guid":{"rendered":"https:\/\/www.sheetgo.com\/?page_id=229010"},"modified":"2023-05-16T06:58:22","modified_gmt":"2023-05-16T13:58:22","slug":"sign-in","status":"publish","type":"page","link":"https:\/\/www.sheetgo.com\/pt\/sign-in\/","title":{"rendered":"Sign-in"},"content":{"rendered":"\n\n\n\n[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.18.1&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.18.1&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.18.1&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_code admin_label=&#8221;Code&#8221; _builder_version=&#8221;4.20.4&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<div id=\"google-login-button\"><\/div><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><div<!-- [et_pb_line_break_holder] -->    id=&#8221;google-login-custom-button&#8221;<!-- [et_pb_line_break_holder] -->    data-type=&#8221;standard&#8221;<!-- [et_pb_line_break_holder] -->    data-shape=&#8221;pill&#8221;<!-- [et_pb_line_break_holder] -->    data-theme=&#8221;filled_black&#8221;<!-- [et_pb_line_break_holder] -->    data-text=&#8221;$ {button.text}&#8221;<!-- [et_pb_line_break_holder] -->    data-size=&#8221;large&#8221;<!-- [et_pb_line_break_holder] -->    data-logo_alignment=&#8221;left&#8221;<!-- [et_pb_line_break_holder] -->    data-width=&#8221;20px&#8221;<!-- [et_pb_line_break_holder] -->><!-- [et_pb_line_break_holder] --><\/div><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><div<!-- [et_pb_line_break_holder] -->    id=&#8221;google-login-dialog&#8221;<!-- [et_pb_line_break_holder] -->    style=&#8221;top: 125px&#8221;<!-- [et_pb_line_break_holder] -->><\/div><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><script><!-- [et_pb_line_break_holder] -->    const SHEETGO_APP_URL = 'https:\/\/app.sheetgo.com'<!-- [et_pb_line_break_holder] -->    const API_URL = 'https:\/\/api.sheetgo.com'<!-- [et_pb_line_break_holder] -->    const SHEETGO_USER_AUTH_ENCRYPT_KEY = 'SHEETGOWEBSITE'<!-- [et_pb_line_break_holder] -->    const OAUTH_CLIENT_ID = '15129741696-gg0p598ba13ijb4cb7tk3rdai3fmu5bg.apps.googleusercontent.com'<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    const head = document.getElementsByTagName('head')[0];<!-- [et_pb_line_break_holder] -->    const robotoLink = document.createElement('link')<!-- [et_pb_line_break_holder] -->    const proximaNovaLink = document.createElement('link')<!-- [et_pb_line_break_holder] -->    const style = document.createElement(\"style\")<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    let cancelSignin = false<!-- [et_pb_line_break_holder] -->    let oneTapCheckIterations = 0<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    const requestGoogleService = () => {<!-- [et_pb_line_break_holder] -->        const scriptElement = document.createElement('script');<!-- [et_pb_line_break_holder] -->        scriptElement.setAttribute('src', 'https:\/\/accounts.google.com\/gsi\/client')<!-- [et_pb_line_break_holder] -->        scriptElement.setAttribute('async', 'true')<!-- [et_pb_line_break_holder] -->        scriptElement.setAttribute('defer', 'true')<!-- [et_pb_line_break_holder] -->        head.appendChild(scriptElement)<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    const requestCryptoJS = () => {<!-- [et_pb_line_break_holder] -->        const scriptElement = document.createElement('script');<!-- [et_pb_line_break_holder] -->        scriptElement.setAttribute('src', 'https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/crypto-js\/4.1.1\/crypto-js.min.js')<!-- [et_pb_line_break_holder] -->        scriptElement.setAttribute('crossorigin', 'anonymous')<!-- [et_pb_line_break_holder] -->        scriptElement.setAttribute('referrerpolicy', 'no-referrer')<!-- [et_pb_line_break_holder] -->        head.appendChild(scriptElement)<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    const requestFonts = () => {<!-- [et_pb_line_break_holder] -->        robotoLink.setAttribute('rel', 'stylesheet')<!-- [et_pb_line_break_holder] -->        robotoLink.setAttribute('href', 'https:\/\/fonts.googleapis.com\/css?family=Roboto:400,500,700')<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        proximaNovaLink.setAttribute('rel', 'stylesheet')<!-- [et_pb_line_break_holder] -->        proximaNovaLink.setAttribute('href', 'https:\/\/cdn.sheetgo.com\/app\/fonts\/ProximaNova\/bold\/styles.css')<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->        head.appendChild(robotoLink)<!-- [et_pb_line_break_holder] -->        head.appendChild(proximaNovaLink)<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    const closeLoaderHanlder = () => {<!-- [et_pb_line_break_holder] -->        const dialog = document.getElementById('loaderDialogContainer')<!-- [et_pb_line_break_holder] -->        const closeButton = document.getElementById('loaderCloseButton')<!-- [et_pb_line_break_holder] -->        const body = document.getElementsByTagName(\"body\")[0]<!-- [et_pb_line_break_holder] -->        body.style.overflow = 'auto'<!-- [et_pb_line_break_holder] -->        cancelSignin = true<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->        closeButton.removeEventListener('click', closeLoaderHanlder)<!-- [et_pb_line_break_holder] -->        dialog.remove()<!-- [et_pb_line_break_holder] -->        robotoLink.remove()<!-- [et_pb_line_break_holder] -->        proximaNovaLink.remove()<!-- [et_pb_line_break_holder] -->        style.remove()<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    const displayLoader = () => {<!-- [et_pb_line_break_holder] -->        const target = document.getElementsByTagName('body')[0]<!-- [et_pb_line_break_holder] -->        target.style.overflow = 'hidden'<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->        \/\/ Adding loader styles<!-- [et_pb_line_break_holder] -->        style.innerHTML = `<!-- [et_pb_line_break_holder] -->            .loader,<!-- [et_pb_line_break_holder] -->            .loader:after {<!-- [et_pb_line_break_holder] -->                border-radius: 50%;<!-- [et_pb_line_break_holder] -->                width: 40px;<!-- [et_pb_line_break_holder] -->                height: 40px;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            .loader {<!-- [et_pb_line_break_holder] -->                margin: 26px auto;<!-- [et_pb_line_break_holder] -->                font-size: 10px;<!-- [et_pb_line_break_holder] -->                position: relative;<!-- [et_pb_line_break_holder] -->                text-indent: -9999em;<!-- [et_pb_line_break_holder] -->                border-top: 3px solid rgba(255, 255, 255, 0.2);<!-- [et_pb_line_break_holder] -->                border-right: 3px solid rgba(255, 255, 255, 0.2);<!-- [et_pb_line_break_holder] -->                border-bottom: 3px solid rgba(255, 255, 255, 0.2);<!-- [et_pb_line_break_holder] -->                border-left: 3px solid #1976d2;<!-- [et_pb_line_break_holder] -->                -webkit-transform: translateZ(0);<!-- [et_pb_line_break_holder] -->                -ms-transform: translateZ(0);<!-- [et_pb_line_break_holder] -->                transform: translateZ(0);<!-- [et_pb_line_break_holder] -->                -webkit-animation: loading 0.8s infinite linear;<!-- [et_pb_line_break_holder] -->                animation: loading 0.8s infinite linear;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            @-webkit-keyframes loading {<!-- [et_pb_line_break_holder] -->                0% {<!-- [et_pb_line_break_holder] -->                    -webkit-transform: rotate(0deg);<!-- [et_pb_line_break_holder] -->                    transform: rotate(0deg);<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->                100% {<!-- [et_pb_line_break_holder] -->                    -webkit-transform: rotate(360deg);<!-- [et_pb_line_break_holder] -->                    transform: rotate(360deg);<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            @keyframes loading {<!-- [et_pb_line_break_holder] -->                0% {<!-- [et_pb_line_break_holder] -->                    -webkit-transform: rotate(0deg);<!-- [et_pb_line_break_holder] -->                    transform: rotate(0deg);<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->                100% {<!-- [et_pb_line_break_holder] -->                    -webkit-transform: rotate(360deg);<!-- [et_pb_line_break_holder] -->                    transform: rotate(360deg);<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            .closeButton {<!-- [et_pb_line_break_holder] -->                width: 32px;<!-- [et_pb_line_break_holder] -->                height: 32px;<!-- [et_pb_line_break_holder] -->                display: flex;<!-- [et_pb_line_break_holder] -->                justify-content: center;<!-- [et_pb_line_break_holder] -->                align-items: center;<!-- [et_pb_line_break_holder] -->                border-radius: 50%;<!-- [et_pb_line_break_holder] -->                position: absolute;<!-- [et_pb_line_break_holder] -->                top: 20px;<!-- [et_pb_line_break_holder] -->                right: 18px;<!-- [et_pb_line_break_holder] -->            }    <!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            .closeButton svg{<!-- [et_pb_line_break_holder] -->                width: 22px;<!-- [et_pb_line_break_holder] -->                height: 22px;<!-- [et_pb_line_break_holder] -->                fill: gray;<!-- [et_pb_line_break_holder] -->            }    <!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            .closeButton:hover {<!-- [et_pb_line_break_holder] -->                cursor: pointer;<!-- [et_pb_line_break_holder] -->                background-color: #0000000a;<!-- [et_pb_line_break_holder] -->            }    <!-- [et_pb_line_break_holder] -->        `<!-- [et_pb_line_break_holder] -->        requestFonts()<!-- [et_pb_line_break_holder] -->        head.appendChild(style)<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Dialog container creation and styles<!-- [et_pb_line_break_holder] -->        const loaderDialogContainer = document.createElement('div')<!-- [et_pb_line_break_holder] -->        loaderDialogContainer.setAttribute('id', 'loaderDialogContainer')<!-- [et_pb_line_break_holder] -->        loaderDialogContainer.style.backgroundColor = '#0000006b';<!-- [et_pb_line_break_holder] -->        loaderDialogContainer.style.width = '100%';<!-- [et_pb_line_break_holder] -->        loaderDialogContainer.style.height = '100vh';<!-- [et_pb_line_break_holder] -->        loaderDialogContainer.style.position = 'absolute';<!-- [et_pb_line_break_holder] -->        loaderDialogContainer.style.top = '0';<!-- [et_pb_line_break_holder] -->        loaderDialogContainer.style.left = '0';<!-- [et_pb_line_break_holder] -->        loaderDialogContainer.style.zIndex = '10000';<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->        \/\/ Dialog creation and styles<!-- [et_pb_line_break_holder] -->        const loaderDialog = document.createElement('div')<!-- [et_pb_line_break_holder] -->        loaderDialog.style.width = '90%'<!-- [et_pb_line_break_holder] -->        loaderDialog.style.maxWidth = '330px'<!-- [et_pb_line_break_holder] -->        loaderDialog.style.height = '200px'<!-- [et_pb_line_break_holder] -->        loaderDialog.style.backgroundColor = 'white'<!-- [et_pb_line_break_holder] -->        loaderDialog.style.boxShadow = '0px 11px 15px -7px rgb(0 0 0 \/ 20%), 0px 24px 38px 3px rgb(0 0 0 \/ 14%), 0px 9px 46px 8px rgb(0 0 0 \/ 12%)'<!-- [et_pb_line_break_holder] -->        loaderDialog.style.borderRadius = '20px'<!-- [et_pb_line_break_holder] -->        loaderDialog.style.position = 'absolute'<!-- [et_pb_line_break_holder] -->        loaderDialog.style.left = '50%'<!-- [et_pb_line_break_holder] -->        loaderDialog.style.top = '50%'<!-- [et_pb_line_break_holder] -->        loaderDialog.style.padding = '20px 24px'<!-- [et_pb_line_break_holder] -->        loaderDialog.style.transform = 'translate(-50%, -50%)'<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Dialog title creation and styles<!-- [et_pb_line_break_holder] -->        const title = document.createElement('h5')<!-- [et_pb_line_break_holder] -->        title.style.fontFamily = '\"ProximaNova\", \"Helvetica\", \"Arial\", \"sans-serif\"'<!-- [et_pb_line_break_holder] -->        title.style.fontSize = '1.5rem'<!-- [et_pb_line_break_holder] -->        title.style.margin = '0px'<!-- [et_pb_line_break_holder] -->        title.innerHTML = 'Redirecting'<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Dialog description creation and styles<!-- [et_pb_line_break_holder] -->        const description = document.createElement('p')<!-- [et_pb_line_break_holder] -->        description.style.fontFamily = '\"Roboto\", \"ProximaNova\", \"Helvetica\", \"Arial\", \"sans-serif\"'<!-- [et_pb_line_break_holder] -->        description.style.color = '#000000b8'<!-- [et_pb_line_break_holder] -->        description.innerHTML = 'Please wait, we are signing you in...'<!-- [et_pb_line_break_holder] -->        description.style.fontSize=\"18px\"<!-- [et_pb_line_break_holder] -->        description.style.fontWeight=\"200\"<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Dialog loader creation and styles<!-- [et_pb_line_break_holder] -->        const loader = document.createElement(\"div\")<!-- [et_pb_line_break_holder] -->        loader.classList.add(\"loader\")<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Dialog close button creation and styles<!-- [et_pb_line_break_holder] -->        const closeButton = document.createElement(\"div\")<!-- [et_pb_line_break_holder] -->        closeButton.setAttribute('id', 'loaderCloseButton')<!-- [et_pb_line_break_holder] -->        closeButton.classList.add(\"closeButton\")<!-- [et_pb_line_break_holder] -->        closeButton.innerHTML = `<!-- [et_pb_line_break_holder] -->            <svg class=\"MuiSvgIcon-root\" focusable=\"false\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><!-- [et_pb_line_break_holder] -->                <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z\"><\/path><!-- [et_pb_line_break_holder] -->            <\/svg><!-- [et_pb_line_break_holder] -->        `<!-- [et_pb_line_break_holder] -->        closeButton.addEventListener('click', closeLoaderHanlder)<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->        loaderDialog.appendChild(closeButton)<!-- [et_pb_line_break_holder] -->        loaderDialog.appendChild(title)<!-- [et_pb_line_break_holder] -->        loaderDialog.appendChild(description)<!-- [et_pb_line_break_holder] -->        loaderDialog.appendChild(loader)<!-- [et_pb_line_break_holder] -->        loaderDialogContainer.appendChild(loaderDialog)<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->        target.appendChild(loaderDialogContainer)<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Gets the headers to the sheetgo api request<!-- [et_pb_line_break_holder] -->    const getHeaders = () => {<!-- [et_pb_line_break_holder] -->        const headers = {<!-- [et_pb_line_break_holder] -->            'Content-Type': 'application\/json',<!-- [et_pb_line_break_holder] -->            'Request-Source': 'webapp'<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        return { headers }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Gets the settings to the sheetgo api request<!-- [et_pb_line_break_holder] -->    const getSettings = (method) => {<!-- [et_pb_line_break_holder] -->        return {<!-- [et_pb_line_break_holder] -->            cache: 'no-cache',<!-- [et_pb_line_break_holder] -->            credentials: 'include',<!-- [et_pb_line_break_holder] -->            method<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Gets the body to the sheetgo api request<!-- [et_pb_line_break_holder] -->    const getBody = (method, payload) => {<!-- [et_pb_line_break_holder] -->        return ['POST', 'PUT', 'DELETE'].includes(method) && payload<!-- [et_pb_line_break_holder] -->            ? { body: JSON.stringify(payload) }<!-- [et_pb_line_break_holder] -->            : null<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Gets the request data<!-- [et_pb_line_break_holder] -->    const getRequestData = (method, payload) => {<!-- [et_pb_line_break_holder] -->        return {<!-- [et_pb_line_break_holder] -->            ...getSettings(method),<!-- [et_pb_line_break_holder] -->            ...getHeaders(),<!-- [et_pb_line_break_holder] -->            ...getBody(method, payload)<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    const request = (path, payload=null, method='GET') => {<!-- [et_pb_line_break_holder] -->        return new Promise(resolve => {<!-- [et_pb_line_break_holder] -->            fetch(<!-- [et_pb_line_break_holder] -->                `${API_URL}\/${path}`,<!-- [et_pb_line_break_holder] -->                getRequestData(method, payload)<!-- [et_pb_line_break_holder] -->            ).then(response => {<!-- [et_pb_line_break_holder] -->                if (response.status === 401) {<!-- [et_pb_line_break_holder] -->                    return { status: 401 }<!-- [et_pb_line_break_holder] -->                } else {<!-- [et_pb_line_break_holder] -->                    return response.json()<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }).then(response => {<!-- [et_pb_line_break_holder] -->                resolve(response)<!-- [et_pb_line_break_holder] -->            }).catch(error => {<!-- [et_pb_line_break_holder] -->                const response = { status: 0 }<!-- [et_pb_line_break_holder] -->                if (error) {<!-- [et_pb_line_break_holder] -->                    if (error.statusText === 'timeout') {<!-- [et_pb_line_break_holder] -->                        response.status = 12<!-- [et_pb_line_break_holder] -->                        response.message = 'Connection timed out'<!-- [et_pb_line_break_holder] -->                    } else {<!-- [et_pb_line_break_holder] -->                        const text = (error.statusText || 'Unknown error')<!-- [et_pb_line_break_holder] -->                        response.message = text.charAt(0).toUpperCase() + text.slice(1)<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->                resolve(response)<!-- [et_pb_line_break_holder] -->            })<!-- [et_pb_line_break_holder] -->        })<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Authenticate user via sheetgo api<!-- [et_pb_line_break_holder] -->    const auth = (payload) => {<!-- [et_pb_line_break_holder] -->        return request('auth\/one-tap', payload, 'POST')<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Gets the credential response returned from google oauth<!-- [et_pb_line_break_holder] -->    async function handleCredentialResponse(response) {<!-- [et_pb_line_break_holder] -->        displayLoader()<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        const payload = {<!-- [et_pb_line_break_holder] -->            provider: 'google',<!-- [et_pb_line_break_holder] -->            origin: 'webapp',<!-- [et_pb_line_break_holder] -->            id_token: response.credential<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->        const authResponse = await auth(payload)<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->        if (cancelSignin) {<!-- [et_pb_line_break_holder] -->            cancelSignin = false<!-- [et_pb_line_break_holder] -->            return<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->        if ((authResponse.status !== 1 && authResponse.status !== 105)) {<!-- [et_pb_line_break_holder] -->            console.error(authResponse.message)<!-- [et_pb_line_break_holder] -->            closeLoaderHanlder()<!-- [et_pb_line_break_holder] -->            return<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        const encryptedToken = CryptoJS.AES.encrypt(JSON.stringify(authResponse), SHEETGO_USER_AUTH_ENCRYPT_KEY)<!-- [et_pb_line_break_holder] -->        window.open(`${SHEETGO_APP_URL}?userAuthToken=${encryptedToken.toString()}`, '_self');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/\/ Render the login button after page load<!-- [et_pb_line_break_holder] -->    const onWindowLoad = (e) => {<!-- [et_pb_line_break_holder] -->        const googleLoginButton = document.getElementById('google-login-button')<!-- [et_pb_line_break_holder] -->        const googleLoginDialog = document.getElementById('google-login-dialog')<!-- [et_pb_line_break_holder] -->        const googleLoginCustomButton = document.getElementById('google-login-custom-button')<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        google.accounts.id.initialize({<!-- [et_pb_line_break_holder] -->            client_id: OAUTH_CLIENT_ID,<!-- [et_pb_line_break_holder] -->            callback: handleCredentialResponse,<!-- [et_pb_line_break_holder] -->            cancel_on_tap_outside: false,<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->        if (googleLoginButton) {<!-- [et_pb_line_break_holder] -->            google.accounts.id.renderButton(<!-- [et_pb_line_break_holder] -->            document.getElementById('google-login-button'),<!-- [et_pb_line_break_holder] -->                {<!-- [et_pb_line_break_holder] -->                    theme: 'outline',<!-- [et_pb_line_break_holder] -->                    size: 'large',<!-- [et_pb_line_break_holder] -->                    locale: 'en-us'<!-- [et_pb_line_break_holder] -->                } <!-- [et_pb_line_break_holder] -->            );<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->        if (googleLoginDialog) {<!-- [et_pb_line_break_holder] -->            google.accounts.id.prompt()<!-- [et_pb_line_break_holder] -->            \/\/ Checks if one tap has already been displayed to attach any incoming style<!-- [et_pb_line_break_holder] -->            const oneTapChecker = setInterval(() => {<!-- [et_pb_line_break_holder] -->                const oneTapDialog = document.getElementById('credential_picker_container')<!-- [et_pb_line_break_holder] -->                if (oneTapDialog) {<!-- [et_pb_line_break_holder] -->                    oneTapDialog.setAttribute('style', `${oneTapDialog.getAttribute('style')} ${googleLoginDialog.getAttribute('style')}`)<!-- [et_pb_line_break_holder] -->                    clearInterval(oneTapChecker)<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->                if (oneTapCheckIterations >= 15) {<!-- [et_pb_line_break_holder] -->                    clearInterval(oneTapChecker)<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->                oneTapCheckIterations++<!-- [et_pb_line_break_holder] -->            }, 300);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->        if (googleLoginCustomButton) {<!-- [et_pb_line_break_holder] -->            const customButtonProperties = {}<!-- [et_pb_line_break_holder] -->            const customButtonAttributes = googleLoginCustomButton.attributes<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->            \/\/ Maps custom button attributes to add in the button to be rendered<!-- [et_pb_line_break_holder] -->            for (const objectKeys in customButtonAttributes) {<!-- [et_pb_line_break_holder] -->                if (customButtonAttributes[objectKeys].name?.startsWith('data-')) {<!-- [et_pb_line_break_holder] -->                    const propertyName = customButtonAttributes[objectKeys].name.replace('data-','') <!-- [et_pb_line_break_holder] -->                    const propertyValue = customButtonAttributes[objectKeys].value <!-- [et_pb_line_break_holder] -->                    customButtonProperties[propertyName] = propertyValue<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->            google.accounts.id.renderButton(<!-- [et_pb_line_break_holder] -->                googleLoginCustomButton,<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        theme: 'outline',<!-- [et_pb_line_break_holder] -->                        size: 'large',<!-- [et_pb_line_break_holder] -->                        locale: 'en-us',<!-- [et_pb_line_break_holder] -->                        ...customButtonProperties<!-- [et_pb_line_break_holder] -->                    } <!-- [et_pb_line_break_holder] -->                );<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    requestGoogleService()<!-- [et_pb_line_break_holder] -->    requestCryptoJS()<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    window.addEventListener('load', onWindowLoad)<!-- [et_pb_line_break_holder] --><\/script>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n\n\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":5,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"difl_page_category":[],"class_list":["post-229010","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.sheetgo.com\/pt\/wp-json\/wp\/v2\/pages\/229010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sheetgo.com\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.sheetgo.com\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.sheetgo.com\/pt\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sheetgo.com\/pt\/wp-json\/wp\/v2\/comments?post=229010"}],"version-history":[{"count":0,"href":"https:\/\/www.sheetgo.com\/pt\/wp-json\/wp\/v2\/pages\/229010\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sheetgo.com\/pt\/wp-json\/wp\/v2\/media?parent=229010"}],"wp:term":[{"taxonomy":"difl_page_category","embeddable":true,"href":"https:\/\/www.sheetgo.com\/pt\/wp-json\/wp\/v2\/difl_page_category?post=229010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}