MAGIA DAS CRENÇAS

import { useState } from “react”;

export default function App() {

const [messages, setMessages] = useState([]);
const [input, setInput] = useState(“”);
const [step, setStep] = useState(0);
const [user, setUser] = useState({});

function addMessage(text, sender=”bot”) {
setMessages(prev => […prev, { text, sender }]);
}

function handleSend() {

if (!input) return;

addMessage(input, "user");

if (step === 0) {
  addMessage("Saudações... diga-me seu nome completo...");
  setUser({ ...user, name: input });
  setStep(1);
}

else if (step === 1) {
  addMessage("Agora, sua data de nascimento...");
  setUser({ ...user, birth: input });
  setStep(2);
}

else if (step === 2) {
  addMessage(`(${user.name}), estou embaralhando as cartas...`);

  setTimeout(() => {
    addMessage("Vejo três caminhos surgindo diante de você...");
  }, 1500);

  setTimeout(() => {
    addMessage("Seu passado foi marcado por decisões fortes...");
  }, 2500);

  setTimeout(() => {
    addMessage("Seu presente exige equilíbrio emocional...");
  }, 3500);

  setTimeout(() => {
    addMessage("Seu futuro aponta crescimento e transformação...");
  }, 4500);

  setTimeout(() => {
    addMessage("Você pode fazer até 2 perguntas agora...");
  }, 5500);

  setStep(3);
}

else if (step === 3) {
  addMessage("Sinto sua energia... sua resposta está sendo revelada...");

  setTimeout(() => {
    addMessage("O caminho se abre, mas exige decisão firme.");
  }, 2000);
}

setInput("");

}

return (

  <h2 style={{ color:"gold" }}>🔮 Magia das Crenças</h2>

  <div style={{ height:"70%", overflow:"auto", background:"#111", padding:"10px" }}>
    {messages.map((m,i)=>(
      <p key={i}><b>{m.sender==="bot"?"Cigano":"Você"}:</b> {m.text}</p>
    ))}
  </div>

  <input
    value={input}
    onChange={e=>setInput(e.target.value)}
    style={{ width:"70%", padding:"10px" }}
  />

  <button onClick={handleSend}>Enviar</button>

</div>

);
}

const tarot = [
“O Louco”, “O Mago”, “A Sacerdotisa”, “A Imperatriz”, “O Imperador”,
“O Hierofante”, “Os Enamorados”, “O Carro”, “A Justiça”, “O Eremita”,
“A Roda da Fortuna”, “A Força”, “O Enforcado”, “A Morte”, “A Temperança”,
“O Diabo”, “A Torre”, “A Estrela”, “A Lua”, “O Sol”, “O Julgamento”, “O Mundo”
];

function drawCards() {
return [
tarot[Math.floor(Math.random()tarot.length)], tarot[Math.floor(Math.random()tarot.length)],
tarot[Math.floor(Math.random()*tarot.length)]
];
}

function getSign(date) {
const d = new Date(date);
const day = d.getDate();
const month = d.getMonth() + 1;

if ((month==3 && day>=21)||(month==4 && day<=19)) return “Áries – Marte”; if ((month==4 && day>=20)||(month==5 && day<=20)) return “Touro – Vênus”; if ((month==5 && day>=21)||(month==6 && day<=20)) return “Gêmeos – Mercúrio”; if ((month==6 && day>=21)||(month==7 && day<=22)) return “Câncer – Lua”; if ((month==7 && day>=23)||(month==8 && day<=22)) return “Leão – Sol”; if ((month==8 && day>=23)||(month==9 && day<=22)) return “Virgem – Mercúrio”; if ((month==9 && day>=23)||(month==10 && day<=22)) return “Libra – Vênus”; if ((month==10 && day>=23)||(month==11 && day<=21)) return “Escorpião – Plutão”; if ((month==11 && day>=22)||(month==12 && day<=21)) return “Sagitário – Júpiter”; if ((month==12 && day>=22)||(month==1 && day<=19)) return “Capricórnio – Saturno”; if ((month==1 && day>=20)||(month==2 && day<=18)) return “Aquário – Urano”;
return “Peixes – Netuno”;
}

const archetypes = [
“Guardião dos Caminhos”,
“Mestre da Transformação”,
“Protetor Espiritual”,
“Oráculo do Destino”,
“Guardião do Amor”
];

function getArchetype() {
return archetypes[Math.floor(Math.random()*archetypes.length)];
}

function canUseApp() {
const lastUse = localStorage.getItem(“lastUse”);
if (!lastUse) return true;

const now = new Date().getTime();
const diff = now – parseInt(lastUse);

return diff > 86400000; // 24h
}

function saveUsage() {
localStorage.setItem(“lastUse”, new Date().getTime());
}

function getQuestionsLeft() {
let q = localStorage.getItem(“questions”);
if (!q) {
localStorage.setItem(“questions”, 2);
return 2;
}
return parseInt(q);
}

function useQuestion() {
let q = getQuestionsLeft();
if (q > 0) {
localStorage.setItem(“questions”, q – 1);
}
}

function generateReading(name, birth) {

const cards = drawCards();
const sign = getSign(birth);
const archetype = getArchetype();

return `
${name}, sinto sua energia se abrindo…

Cartas reveladas:
Passado: ${cards[0]}
Presente: ${cards[1]}
Futuro: ${cards[2]}

Sua vibração está ligada a ${sign}

Um arquétipo guia seus caminhos:
${archetype}

Vejo mudanças importantes, crescimento e decisões que moldarão seu destino.
`;
}

Você é um cigano místico, sábio e acolhedor.
Fala em português do Brasil.

Regras:

  • Chame a pessoa pelo nome
  • Seja envolvente e humano
  • Não faça promessas absolutas
  • Use linguagem espiritual e simbólica
  • Responda como um guia

Pergunta do usuário:
{PERGUNTA}

if (!canUseApp()) {
alert(“Seu ciclo terminou. Volte em 24 horas ou libere acesso premium.”);
}