import React, { useState, useEffect, useRef } from 'react'; import { Send, Sparkles, Shield, X, MessageSquare, Loader2, RotateCcw, Info, Heart, Headphones, BookOpen, Clock } from 'lucide-react'; const apiKey = ""; // API Key export default function App() { const [messages, setMessages] = useState([ { role: 'assistant', text: 'مرحباً بك في بوابة الشفاء. أنا رفيقك في هذه الرحلة المتخصص في برامج الرقية الشرعية. مهمتي هي مساعدتك في فهم حالتك وتقديم برنامج علاجي مخصص ومبني على الكتاب والسنة.\n\nمن فضلك، أخبرني بوضوح: ما هي الأعراض التي تشعر بها؟ (سأقوم بمتابعة حالتك بأسئلة دقيقة للوصول لتشخيص صحيح وإرشادك للبرنامج الأنسب).' } ]); const [input, setInput] = useState(""); const [isLoading, setIsLoading] = useState(false); const chatEndRef = useRef(null); const scrollToBottom = () => { chatEndRef.current?.scrollIntoView({ behavior: "smooth" }); }; useEffect(() => { scrollToBottom(); }, [messages, isLoading]); const sendMessage = async () => { if (!input.trim() || isLoading) return; const userMessage = { role: 'user', text: input }; setMessages(prev => [...prev, userMessage]); setInput(""); setIsLoading(true); try { const systemPrompt = ` أنت "المعالج الرقمي للرقية الشرعية". أسلوبك يجب أن يكون حكيماً، شرعياً، ودقيقاً. ممنوع تماماً ذكر أنك "ذكاء اصطناعي" أو "نموذج لغوي" للمريض حتى لا تسبب له أي وسواس أو شك. تعامل كأنك معالج خبير. مهمتك تمر عبر 3 مراحل: 1. الاستجواب: لا تشخص فوراً. اسأل المستخدم عن أعراض محددة (أحلام، ثقل أكتاف، ضيق صدر، نفور من العبادات، نبض متنقل). اسأل سؤالاً أو سؤالين في كل مرة لتعرف التفاصيل. 2. التحليل: بناءً على الإجابات، حدد ما إذا كانت الحالة (عين وحسد، سحر، مس شيطاني، أو مجرد وهم وضغوط نفسية). 3. التشخيص والبرنامج: بعد الاكتفاء من الأسئلة، قدم تشخيصاً واضحاً ثم برنامجاً علاجياً مفصلاً (صباحاً، ظهراً، مساءً) يشمل آيات محددة وأفعالاً (اغتسال، دهان بالزيت، أذكار). ملاحظات هامة: - ابدأ دائماً بالاستفسار عن الأعراض الجسدية والنفسية وأعراض المنام. - كن متعاطفاً واستخدم عبارات دينية مطمئنة (بإذن الله، لعلها طهور، الشافي هو الله). - إذا كانت الأعراض طبية بحتة، انصح بزيارة الطبيب بجانب الرقية. - اجعل إجاباتك منظمة باستخدام النقاط. `; const history = messages.map(m => ({ role: m.role === 'assistant' ? 'model' : 'user', parts: [{ text: m.text }] })); const response = await fetch(`https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-09-2025:generateContent?key=${apiKey}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ contents: [...history, { role: 'user', parts: [{ text: input }] }], systemInstruction: { parts: [{ text: systemPrompt }] } }) }); const data = await response.json(); const botResponse = data.candidates?.[0]?.content?.parts?.[0]?.text || "عذراً، لم أستطع تحليل البيانات حالياً. حاول مرة أخرى."; setMessages(prev => [...prev, { role: 'assistant', text: botResponse }]); } catch (error) { setMessages(prev => [...prev, { role: 'assistant', text: "حدث خطأ في الاتصال. يرجى المحاولة لاحقاً." }]); } finally { setIsLoading(false); } }; const resetChat = () => { setMessages([{ role: 'assistant', text: 'مرحباً بك مجدداً. لنبدأ من جديد. أخبرني عن حالتك وما تشعر به الآن؟' }]); }; return (
{/* Header */}

تطبيق الرقية الذكي

استجواب • تشخيص • برنامج علاجي

{/* Chat Area */}

هذا النظام مخصص لتحليل حالتك بناءً على الأعراض التي تصفها بدقة. تذكر أن الشفاء بيد الله وحده، والرقية سبب من الأسباب.

{messages.map((msg, idx) => (
{msg.text}
{msg.role === 'user' ? 'أنت' : 'المعالج الرقمي'}
))} {isLoading && (
جاري مراجعة إجابتك...
)}
{/* Input Area */}
setInput(e.target.value)} onKeyPress={(e) => e.key === 'Enter' && sendMessage()} placeholder="اكتب ما تشعر به هنا..." className="flex-1 bg-slate-100 border-2 border-transparent focus:border-emerald-500 focus:bg-white rounded-2xl px-6 py-4 outline-none transition-all font-bold text-slate-700 shadow-inner" disabled={isLoading} />

يرجى الإجابة بوضوح لضمان حصولك على البرنامج الأنسب لحالتك.

{/* Steps Overlay */}

مراحل الجلسة

  • 1
    الاستماع للأعراض
  • 2
    تحليل نوع الإصابة
  • 3
    تقديم البرنامج
); }