/* Pagina /verify-email — clicada via link do email de cadastro.
   Pega ?token=... do hash, chama backend, mostra resultado. */

const { useState: ve_useState, useEffect: ve_useEffect } = React;


window.C7_VerifyEmailPage = function VerifyEmailPage() {
    const [state, setState] = ve_useState('verifying');   // verifying | ok | err
    const [err, setErr]     = ve_useState(null);

    ve_useEffect(() => {
        const route = window.C7_ROUTER.current();
        const token = (route.query && route.query.token) || '';
        if (!token) { setState('err'); setErr('token ausente'); return; }
        (async () => {
            try {
                await window.C7_API.post('/auth/verify-email', { token });
                // Hidrata user (se logado) pra liberar gates
                try {
                    if (window.C7_API.is_logged_in()) {
                        const me = await window.C7_API.get('/auth/me');
                        window.C7_STORE.set({ user: me });
                    }
                } catch (e) { /* segue */ }
                setState('ok');
            } catch (e) {
                setState('err');
                setErr(e.message || 'falha na verificacao');
            }
        })();
    }, []);

    const AppFooter = (window.C7_Layout && window.C7_Layout.AppFooter) || null;
    return (
        <div className="standalone-shell">
            <div className="standalone-center">
                <div className="forgot-card">
                    <h1>Verificacao de email</h1>
                    {state === 'verifying' && (
                        <p>Verificando seu email…</p>
                    )}
                    {state === 'ok' && (
                        <>
                            <p>
                                ✓ Email confirmado com sucesso. Sua conta esta
                                ativa pra operar (apos KYC).
                            </p>
                            <a href={window.C7_API.is_logged_in() ? '#/dashboard' : '#/login'}
                               className="forgot-btn">
                                {window.C7_API.is_logged_in() ? 'Ir pro dashboard' : 'Ir pro login'}
                            </a>
                        </>
                    )}
                    {state === 'err' && (
                        <>
                            <div className="forgot-error" style={{marginTop: 12}}>
                                {err}
                            </div>
                            <p style={{marginTop: 14, fontSize: 13}}>
                                O link pode ter expirado (validade de 24h) ou
                                ja foi usado. Faca login e peca um novo link
                                no seu perfil.
                            </p>
                            <a href="#/login" className="forgot-btn">
                                Voltar pro login
                            </a>
                        </>
                    )}
                </div>
            </div>
            {AppFooter && <AppFooter />}
        </div>
    );
};
