// Cliente Supabase para o site (publishable key = segura no navegador, protegida por RLS).
// Helpers de login + hook React de sessao. Carrega ANTES de auth.jsx e app.jsx.
(function () {
  var SB_URL = 'https://mwlicgtiegdyudqolhuq.supabase.co';
  var SB_KEY = 'sb_publishable__7dxjb8vX0iUH5jozqwceQ_KaloppzU';

  if (!window.supabase || !window.supabase.createClient) {
    console.error('[GZ] supabase-js nao carregou (CDN).');
    return;
  }

  window.sb = window.supabase.createClient(SB_URL, SB_KEY);

  // Login via Discord -> Discord -> volta pra home ja com a sessao.
  window.gzLoginDiscord = function () {
    return window.sb.auth.signInWithOAuth({
      provider: 'discord',
      options: { redirectTo: window.location.origin + '/' },
    });
  };

  window.gzLogout = function () { return window.sb.auth.signOut(); };

  // Hook: retorna undefined (carregando) | null (deslogado) | session (logado).
  window.useGzAuth = function () {
    var R = window.React;
    var s = R.useState(undefined);
    var session = s[0], setSession = s[1];
    R.useEffect(function () {
      window.sb.auth.getSession().then(function (r) { setSession(r.data.session || null); });
      var sub = window.sb.auth.onAuthStateChange(function (_e, sess) { setSession(sess || null); });
      return function () { try { sub.data.subscription.unsubscribe(); } catch (e) {} };
    }, []);
    return session;
  };
})();
