import { useState, useEffect } from "react";
const RASHIS = [
{ key:'mesh', name:'मेष', symbol:'♈', emoji:'🐏', bg:'#FF4444', dark:'#8B0000' },
{ key:'vrish', name:'वृषभ', symbol:'♉', emoji:'🐂', bg:'#22C55E', dark:'#14532D' },
{ key:'mithun', name:'मिथुन', symbol:'♊', emoji:'👫', bg:'#60A5FA', dark:'#1E3A8A' },
{ key:'kark', name:'कर्क', symbol:'♋', emoji:'🦀', bg:'#A78BFA', dark:'#4C1D95' },
{ key:'singh', name:'सिंह', symbol:'♌', emoji:'🦁', bg:'#FB923C', dark:'#7C2D12' },
{ key:'kanya', name:'कन्या', symbol:'♍', emoji:'👩', bg:'#34D399', dark:'#064E3B' },
{ key:'tula', name:'तुला', symbol:'♎', emoji:'⚖️', bg:'#F472B6', dark:'#831843' },
{ key:'vrischik', name:'वृश्चिक', symbol:'♏', emoji:'🦂', bg:'#EF4444', dark:'#450A0A' },
{ key:'dhanu', name:'धनु', symbol:'♐', emoji:'🏹', bg:'#FBBF24', dark:'#78350F' },
{ key:'makar', name:'मकर', symbol:'♑', emoji:'🐐', bg:'#38BDF8', dark:'#0C4A6E' },
{ key:'kumbh', name:'कुंभ', symbol:'♒', emoji:'🏺', bg:'#818CF8', dark:'#1E1B4B' },
{ key:'meen', name:'मीन', symbol:'♓', emoji:'🐟', bg:'#67E8F9', dark:'#164E63' },
];
const DAYS_HI = ['रविवार','सोमवार','मंगलवार','बुधवार','गुरुवार','शुक्रवार','शनिवार'];
const MONTHS_HI = ['जनवरी','फ़रवरी','मार्च','अप्रैल','मई','जून','जुलाई','अगस्त','सितंबर','अक्टूबर','नवंबर','दिसंबर'];
function getHindiDate() {
const d = new Date();
return `${d.getDate()} ${MONTHS_HI[d.getMonth()]} ${d.getFullYear()}, ${DAYS_HI[d.getDay()]}`;
}
function getTodayKey() {
const d = new Date();
return `rashifal_${d.getFullYear()}_${d.getMonth()}_${d.getDate()}`;
}
export default function Rashifal() {
const [rashiData, setRashiData] = useState(null);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(false);
useEffect(() => {
const key = getTodayKey();
const saved = localStorage.getItem(key);
if (saved) {
try {
setRashiData(JSON.parse(saved));
setLoading(false);
return;
} catch(e) {
localStorage.removeItem(key);
}
}
fetchRashifal(key);
}, []);
async function fetchRashifal(key) {
setLoading(true);
setError(false);
const today = getHindiDate();
const prompt = `आज ${today} का राशिफल। 12 राशियों का हिंदी में भविष्यफल। हर राशि: 2 वाक्य + एक lucky (रंग या अंक)। ONLY pure JSON, no markdown, no extra text: {"mesh":{"bhavishya":"...","lucky":"..."},"vrish":{"bhavishya":"...","lucky":"..."},"mithun":{"bhavishya":"...","lucky":"..."},"kark":{"bhavishya":"...","lucky":"..."},"singh":{"bhavishya":"...","lucky":"..."},"kanya":{"bhavishya":"...","lucky":"..."},"tula":{"bhavishya":"...","lucky":"..."},"vrischik":{"bhavishya":"...","lucky":"..."},"dhanu":{"bhavishya":"...","lucky":"..."},"makar":{"bhavishya":"...","lucky":"..."},"kumbh":{"bhavishya":"...","lucky":"..."},"meen":{"bhavishya":"...","lucky":"..."}}`;
try {
const res = await fetch("https://api.anthropic.com/v1/messages", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "claude-sonnet-4-6",
max_tokens: 2500,
messages: [{ role: "user", content: prompt }]
})
});
const data = await res.json();
const text = data.content?.map(b => b.text || '').join('') || '';
const clean = text.replace(/```json|```/g, '').trim();
const parsed = JSON.parse(clean);
localStorage.setItem(key, JSON.stringify(parsed));
setRashiData(parsed);
} catch(e) {
setError(true);
} finally {
setLoading(false);
}
}
const whatsappLink = "https://wa.me/919428295610?text=नमस्ते%20जी%2C%20मुझे%20अपनी%20जन्म%20कुंडली%20बनवानी%20है।";
return (
{/* Stars bg */}
{/* HEADER */}
🔯 ॐ 🔯
राशिफल
{getHindiDate()}
✦ ग्रह-नक्षत्र आधारित भविष्यफल ✦
{/* STATUS */}
{loading && (
⏳ राशिफल तैयार हो रहा है...
)}
{error && (
⚠️ राशिफल लोड नहीं हो सका।
)}
{/* RASHIS */}
{loading && RASHIS.map((r, i) => (
{r.emoji}
{r.symbol} {r.name}:
भविष्यफल तैयार हो रहा है...
))}
{rashiData && RASHIS.map((r, i) => {
const item = rashiData[r.key] || {};
return (
{r.emoji}
{r.symbol} {r.name}:
{item.bhavishya}
{item.lucky && (
🍀 शुभ: {item.lucky}
)}
);
})}
{/* KUNDALI CTA */}
🔯 राशिफल • AI Powered • Daily Update
{/* FLOATING WHATSAPP */}
💬
);
}
एक टिप्पणी भेजें
0टिप्पणियाँ