Use o e-mail e a senha cadastrados para o seu espaço.
🗄️ SQL do projeto de cada organizador
Rode no SQL Editor do Supabase de cada organizador. Pode rodar de novo sem problema: só cria o que falta.
create table if not exists public.times (id bigint generated always as identity primary key, nome text not null, created_at timestamptz default now());
create table if not exists public.partidas (id bigint generated always as identity primary key, created_at timestamptz default now());
create table if not exists public.jogadores (id bigint generated always as identity primary key, created_at timestamptz default now());
alter table public.partidas
add column if not exists titulo text, add column if not exists data date, add column if not exists horario time,
add column if not exists local text, add column if not exists vagas int default 20, add column if not exists valor numeric default 0,
add column if not exists descricao text, add column if not exists status text default 'Agendada', add column if not exists resultado text,
add column if not exists time_a bigint references public.times(id) on delete set null,
add column if not exists time_b bigint references public.times(id) on delete set null,
add column if not exists placar_a int, add column if not exists placar_b int;
alter table public.times add column if not exists escudo text;
alter table public.jogadores
add column if not exists nome text, add column if not exists posicao text default 'Não definida', add column if not exists telefone text,
add column if not exists time_id bigint references public.times(id) on delete set null;
-- RLS: leitura e gravação liberadas (o painel usa a chave pública)
do $$ declare t text; begin
foreach t in array array['times','partidas','jogadores'] loop
execute format('alter table public.%I enable row level security', t);
execute format('drop policy if exists acesso on public.%I', t);
execute format('create policy acesso on public.%I for all to anon, authenticated using (true) with check (true)', t);
end loop;
end $$;
notify pgrst, 'reload schema';
A senha é validada no servidor (função login_cliente) e nunca é comparada no navegador. URL, chave e nome do organizador são carregados automaticamente após o login.