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.”);
}
