Todo fim de ano alguém do time vira "o responsável pelo amigo oculto". E quase sempre o sorteio sai de um jeito que vaza: papelzinho tirado na call com a câmera ligada, planilha com fórmula ALEATÓRIO que alguém abre sem querer, ou o organizador que sabe todos os pares e precisa fingir surpresa.
Do ponto de vista de quem gosta de sistema, o problema é simples:
- Ninguém pode tirar a si mesmo.
- O resultado de cada pessoa só pode ser visto por ela.
- O organizador não deveria ter acesso aos pares.
- Tem que dar para refazer se alguém entrar ou sair da lista.
Um jeito clássico de resolver o item 1 é montar uma corrente: embaralha a lista e cada pessoa tira a próxima, e a última tira a primeira. Assim ninguém cai em si mesmo e não sobra par fechado no meio.
Os itens 2 e 3 são onde o papel e a planilha falham: alguém sempre vê mais do que devia. A saída é cada pessoa receber um link próprio, com o nome sorteado escondido atrás de um botão, para não escapar se ela abrir o convite perto de outras pessoas.
Alguns combinados que evitam dor de cabeça:
- Com menos de 3 pessoas, todo mundo adivinha o resultado. Junte pelo menos 3.
- Combine um valor sugerido e uma regra (por exemplo, "nada de caneca") antes do sorteio, e deixe isso escrito no convite.
- Se alguém entrar depois, refaça o sorteio para todo mundo, em vez de remendar um par.
Se não quiser montar isso na mão: fiz uma página que faz o sorteio grátis pelo WhatsApp. Você cadastra ou importa a lista, sorteia pelo painel e cada um descobre sozinho no próprio link quem tirou. Ninguém tira a si mesmo e nem quem organiza vê os pares.
(Aviso: o site é meu.)
![Why Object.keys(user) Returns string[], Not (keyof User)[]: TypeScript Means It](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2q4w48b9bzs43tynyhsf.png)
