joermd commited on
Commit
e66c66b
·
verified ·
1 Parent(s): d310f43

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +173 -241
index.html CHANGED
@@ -11,77 +11,89 @@
11
 
12
  body {
13
  font-family: 'Tajawal', sans-serif;
14
- background-color: #f8f9fc;
15
  }
16
 
17
  .premium-gradient {
18
- background: linear-gradient(135deg, #1a365d 0%, #2d3748 100%);
19
  }
20
 
21
  .gold-accent {
22
- color: #d4af37;
23
  }
24
 
25
  .feature-card {
26
- transition: all 0.3s ease;
27
  border: 1px solid rgba(229, 231, 235, 0.5);
 
 
28
  }
29
 
30
  .feature-card:hover {
31
  transform: translateY(-5px);
32
- box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
33
- border-color: #d4af37;
34
  }
35
 
36
  .premium-button {
37
- background: linear-gradient(135deg, #d4af37 0%, #f0c75e 100%);
38
  transition: all 0.3s ease;
39
  }
40
 
41
  .premium-button:hover {
42
  transform: translateY(-2px);
43
- box-shadow: 0 5px 15px rgba(212, 175, 55, 0.3);
44
  }
45
 
46
  .custom-scroll::-webkit-scrollbar {
47
- width: 8px;
48
  }
49
 
50
  .custom-scroll::-webkit-scrollbar-track {
51
  background: #f1f1f1;
 
52
  }
53
 
54
  .custom-scroll::-webkit-scrollbar-thumb {
55
- background: #d4af37;
56
- border-radius: 4px;
57
  }
58
 
59
- #searchResults {
60
- max-height: 400px;
61
- overflow-y: auto;
62
  }
63
 
64
  .logo-img {
65
  max-height: 60px;
66
  width: auto;
 
 
 
 
 
 
 
 
 
67
  }
68
  </style>
69
  </head>
70
- <body>
71
  <!-- الهيدر -->
72
- <header class="premium-gradient text-white">
73
- <div class="container mx-auto px-4 py-6">
74
  <nav class="flex justify-between items-center">
75
- <div class="flex items-center gap-2">
76
- <img src="https://ufastpro.com/wp-content/uploads/2025/01/تصميم_بدون_عنوان__5_-removebg-preview.png" alt="شعار المنصة" class="logo-img">
77
  <div>
78
- <h1 class="text-2xl font-bold">المنصة القانونية المتكاملة</h1>
79
- <p class="text-sm text-gray-300">العدالة والقانون في خدمتكم</p>
80
  </div>
81
  </div>
82
- <div class="flex gap-4 items-center">
83
- <a href="https://joermd-test22.static.hf.space/index.html" class="px-4 py-2 hover:text-gold-accent transition-colors">اتكلم مع سبيدي</a>
84
- <button onclick="showLegalChat()" class="premium-button text-gray-900 px-6 py-2 rounded-lg font-bold">
85
  اسأل سؤال قانوني
86
  </button>
87
  </div>
@@ -89,9 +101,9 @@
89
  </div>
90
  </header>
91
 
92
- <main class="container mx-auto px-4 py-12">
93
  <!-- قسم البحث الرئيسي -->
94
- <div class="bg-white rounded-2xl shadow-xl p-8 mb-12 border-t-4 border-[#d4af37]">
95
  <div class="max-w-3xl mx-auto">
96
  <h2 class="text-3xl font-bold text-center mb-8 text-gray-800">البحث في التشريعات والأحكام القضائية</h2>
97
  <div class="flex gap-4">
@@ -99,7 +111,7 @@
99
  <i class="fas fa-search absolute right-4 top-4 text-gray-400"></i>
100
  <input type="text"
101
  id="searchInput"
102
- class="w-full p-3 pr-12 border-2 border-gray-200 rounded-xl focus:border-[#d4af37] focus:ring-2 focus:ring-[#d4af37] focus:ring-opacity-50 outline-none transition-all"
103
  placeholder="ابحث في القوانين، الأحكام، والمواد القانونية...">
104
  </div>
105
  <button onclick="handleSearch()" class="premium-button px-8 py-3 rounded-xl font-bold flex items-center gap-2">
@@ -107,93 +119,59 @@
107
  بحث
108
  </button>
109
  </div>
110
- <div id="searchResults" class="mt-4 custom-scroll"></div>
111
  </div>
112
  </div>
113
 
114
  <!-- الخدمات الرئيسية -->
115
- <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8 mb-12">
116
  <!-- تحليل القضايا -->
117
- <div class="feature-card bg-white rounded-2xl p-8 hover:shadow-xl">
118
  <div class="flex items-center gap-4 mb-6">
119
  <div class="w-12 h-12 rounded-full premium-gradient flex items-center justify-center">
120
  <i class="fas fa-gavel gold-accent text-xl"></i>
121
  </div>
122
  <h3 class="text-xl font-bold">تحليل القضايا</h3>
123
  </div>
124
- <p class="text-gray-600 mb-6">تحليل متقدم للقضايا باستخدام أحدث التقنيات والذكاء الاصطناعي مع مراعاة القوانين المصرية</p>
125
- <button onclick="showCaseAnalysis()" class="w-full bg-gray-100 text-gray-800 py-3 rounded-xl hover:bg-gray-200 transition-colors font-bold">
126
  تحليل قضية جديدة
127
  </button>
128
  </div>
129
 
130
  <!-- اسأل الموضوع -->
131
- <div class="feature-card bg-white rounded-2xl p-8 hover:shadow-xl">
132
  <div class="flex items-center gap-4 mb-6">
133
  <div class="w-12 h-12 rounded-full premium-gradient flex items-center justify-center">
134
  <i class="fas fa-comments gold-accent text-xl"></i>
135
  </div>
136
  <h3 class="text-xl font-bold">اسأل الموضوع</h3>
137
  </div>
138
- <p class="text-gray-600 mb-6">اطرح سؤالك حول أي موضوع قانوني وسنقوم بتحليله والإجابة عليه بدقة</p>
139
- <button onclick="showAskTopic()" class="w-full bg-gray-100 text-gray-800 py-3 rounded-xl hover:bg-gray-200 transition-colors font-bold">
140
  اطرح سؤالك
141
  </button>
142
  </div>
143
 
144
- <a href="okod.html" class="feature-card bg-white rounded-2xl p-8 hover:shadow-xl block">
145
- <div class="flex items-center gap-4 mb-6">
146
- <div class="w-12 h-12 rounded-full premium-gradient flex items-center justify-center">
147
- <i class="fas fa-file-contract gold-accent text-xl"></i>
148
- </div>
149
- <h3 class="text-xl font-bold">كتابة العقود والوثائق بالذكاء الاصطناعي</h3>
150
- </div>
151
- <p class="text-gray-600 mb-6">كتابة العقود والمواثيق والاوراق الهامة اصبح سهل الان مع سبيدي</p>
152
- <div class="w-full bg-gray-100 text-gray-800 py-3 rounded-xl hover:bg-gray-200 transition-colors font-bold text-center cursor-pointer">
153
- خلي سبيدي يكتبلك وثيقتك او عقدك
154
- </div>
155
- </a>
156
- <!-- الأدوات القانونية -->
157
- <h2 class="text-2xl font-bold mb-6 text-gray-800">الأدوات القانونية المتخصصة</h2>
158
- <div class="grid md:grid-cols-2 lg:grid-cols-4 gap-6">
159
- <div class="feature-card bg-white p-6 rounded-xl">
160
- <div class="flex items-center gap-3">
161
- <div class="w-10 h-10 rounded-lg premium-gradient flex items-center justify-center">
162
- <i class="fas fa-calendar gold-accent"></i>
163
- </div>
164
- <span class="font-bold">(لم يعمل بعد)إدارة الجلسات</span>
165
- </div>
166
- </div>
167
- <div class="feature-card bg-white p-6 rounded-xl">
168
- <div class="flex items-center gap-3">
169
- <div class="w-10 h-10 rounded-lg premium-gradient flex items-center justify-center">
170
- <i class="fas fa-book gold-accent"></i>
171
- </div>
172
- <span class="font-bold">(لم يعمل بعد)المكتبة القانونية</span>
173
- </div>
174
- </div>
175
- <div class="feature-card bg-white p-6 rounded-xl">
176
- <div class="flex items-center gap-3">
177
- <div class="w-10 h-10 rounded-lg premium-gradient flex items-center justify-center">
178
- <i class="fas fa-calculator gold-accent"></i>
179
- </div>
180
- <span class="font-bold">(لم يعمل بعد)حاسبة الأتعاب</span>
181
- </div>
182
- </div>
183
- <div class="feature-card bg-white p-6 rounded-xl">
184
- <div class="flex items-center gap-3">
185
- <div class="w-10 h-10 rounded-lg premium-gradient flex items-center justify-center">
186
- <i class="fas fa-file-signature gold-accent"></i>
187
  </div>
188
- <span class="font-bold">(لم يعمل بعد)نماذج قانونية</span>
189
  </div>
 
 
 
 
190
  </div>
191
  </div>
192
  </main>
193
 
194
  <!-- نافذة الدردشة القانونية -->
195
- <div id="legalChatModal" class="hidden fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50">
196
- <div class="bg-white rounded-2xl p-8 w-full max-w-2xl mx-4">
197
  <div class="flex justify-between items-center mb-6">
198
  <h3 class="text-2xl font-bold text-gray-800">اسأل سؤال قانوني</h3>
199
  <button onclick="hideLegalChat()" class="text-gray-500 hover:text-gray-700">
@@ -204,7 +182,10 @@
204
  <!-- الرسائل ستظهر هنا -->
205
  </div>
206
  <div class="flex gap-2">
207
- <input type="text" id="chatInput" class="flex-grow p-3 border-2 rounded-xl focus:border-[#d4af37] focus:ring-2 focus:ring-[#d4af37] focus:ring-opacity-50 outline-none" placeholder="اكتب سؤالك هنا...">
 
 
 
208
  <button onclick="sendMessage()" class="premium-button px-6 py-2 rounded-xl font-bold">
209
  إرسال
210
  </button>
@@ -213,20 +194,21 @@
213
  </div>
214
 
215
  <!-- نافذة تحليل القضايا -->
216
- <div id="caseAnalysisModal" class="hidden fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50">
217
- <div class="bg-white rounded-2xl p-8 w-full max-w-2xl mx-4">
218
  <div class="flex justify-between items-center mb-6">
219
  <h3 class="text-2xl font-bold text-gray-800">تحليل قضية جديدة</h3>
220
  <button onclick="hideCaseAnalysis()" class="text-gray-500 hover:text-gray-700">
221
  <i class="fas fa-times text-xl"></i>
222
  </button>
223
  </div>
224
- <div class="modal-content">
225
  <textarea
226
- class="w-full p-4 border-2 rounded-xl mb-6 h-48 focus:border-[#d4af37] focus:ring-2 focus:ring-[#d4af37] focus:ring-opacity-50 outline-none transition-all custom-scroll"
227
  placeholder="اكتب تفاصيل القضية هنا..."
228
  ></textarea>
229
- <div class="flex justify-end gap-4">
 
230
  <button onclick="hideCaseAnalysis()" class="px-6 py-3 border-2 rounded-xl hover:bg-gray-50 font-bold">
231
  إلغاء
232
  </button>
@@ -239,20 +221,20 @@
239
  </div>
240
 
241
  <!-- نافذة اسأل الموضوع -->
242
- <div id="askTopicModal" class="hidden fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50">
243
- <div class="bg-white rounded-2xl p-8 w-full max-w-2xl mx-4 max-h-[90vh] overflow-y-auto">
244
  <div class="flex justify-between items-center mb-6">
245
  <h3 class="text-2xl font-bold text-gray-800">اسأل الموضوع</h3>
246
  <button onclick="hideAskTopic()" class="text-gray-500 hover:text-gray-700">
247
  <i class="fas fa-times text-xl"></i>
248
  </button>
249
  </div>
250
- <div class="modal-content space-y-6">
251
  <div>
252
  <label class="block text-gray-700 font-bold mb-2">النص القانوني</label>
253
  <textarea
254
  id="legalText"
255
- class="w-full p-4 border-2 rounded-xl h-48 focus:border-[#d4af37] focus:ring-2 focus:ring-[#d4af37] focus:ring-opacity-50 outline-none transition-all custom-scroll"
256
  placeholder="أدخل النص القانوني هنا..."
257
  ></textarea>
258
  </div>
@@ -260,12 +242,11 @@
260
  <label class="block text-gray-700 font-bold mb-2">سؤالك حول النص</label>
261
  <textarea
262
  id="userQuestion"
263
- class="w-full p-4 border-2 rounded-xl h-24 focus:border-[#d4af37] focus:ring-2 focus:ring-[#d4af37] focus:ring-opacity-50 outline-none transition-all custom-scroll"
264
  placeholder="اكتب سؤالك هنا..."
265
  ></textarea>
266
  </div>
267
- <!-- قسم النتائج -->
268
- <div id="askTopicResult" class="hidden mt-4 p-4 bg-gray-50 rounded-xl"></div>
269
  <div class="flex justify-end gap-4">
270
  <button onclick="hideAskTopic()" class="px-6 py-3 border-2 rounded-xl hover:bg-gray-50 font-bold">
271
  إلغاء
@@ -279,10 +260,11 @@
279
  </div>
280
 
281
  <script>
 
282
  const API_URL = 'https://j8fp9mu44k547j-7777.proxy.runpod.net/proxy/9000/chat';
283
  const LEGAL_PROMPT = 'أريد منك أن تتصرف كمحامٍ خبير في القانون المصري. قم بتحليل الموضوعات القانونية التي سأطرحها عليك، مستندًا إلى القوانين المصرية الحديثة والمبادئ القانونية الراسخة. يجب أن تكون إجاباتك دقيقة ومحددة، وتقدم النصائح بناءً على القوانين واللوائح المصرية المعمول بها. إذا كان الموضوع يتطلب تفصيلاً قانونياً أكثر عمقًا، فأرجو أن تسألني عن المزيد من التفاصيل. الآن، إليك القضية التي أح��اج لتحليلها: ';
284
 
285
- // دوال الدردشة القانونية
286
  function showLegalChat() {
287
  document.getElementById('legalChatModal').classList.remove('hidden');
288
  document.body.style.overflow = 'hidden';
@@ -291,8 +273,35 @@
291
  function hideLegalChat() {
292
  document.getElementById('legalChatModal').classList.add('hidden');
293
  document.body.style.overflow = 'auto';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
294
  }
295
 
 
 
 
 
 
 
 
 
 
296
  async function sendMessage() {
297
  const input = document.getElementById('chatInput');
298
  const messagesDiv = document.getElementById('chatMessages');
@@ -318,7 +327,7 @@
318
  headers: {
319
  'Content-Type': 'application/json'
320
  },
321
- body: JSON.stringify({ message })
322
  });
323
 
324
  if (!response.ok) throw new Error('Network response was not ok');
@@ -347,119 +356,102 @@
347
  }
348
  }
349
 
350
- // دالة البحث
351
- async function searchLegal(query) {
 
 
 
 
 
 
 
 
 
 
352
  try {
353
  const response = await fetch(API_URL, {
354
  method: 'POST',
355
  headers: {
356
  'Content-Type': 'application/json'
357
  },
358
- body: JSON.stringify({
359
- message: "ابحث: " + query
360
  })
361
  });
362
 
363
- if (!response.ok) {
364
- throw new Error(`HTTP error! status: ${response.status}`);
365
- }
366
 
367
  const data = await response.json();
368
- return data.response;
 
 
 
 
369
  } catch (error) {
370
  console.error('Error:', error);
371
- return 'حدث خطأ في عملية البحث. الرجاء المحاولة مرة أخرى.';
 
 
 
 
372
  }
373
  }
374
 
375
- // معالجة البحث
376
- async function handleSearch() {
377
- const searchInput = document.getElementById('searchInput');
378
- const searchResults = document.getElementById('searchResults');
379
- const query = searchInput.value;
380
 
381
- if (!query.trim()) {
382
- alert('الرجاء إدخال نص للبحث');
383
  return;
384
  }
385
 
386
- searchResults.innerHTML = '<div class="text-center p-4">جاري البحث...</div>';
387
- const result = await searchLegal(query);
388
- searchResults.innerHTML = `<div class="bg-white p-4 rounded-xl mt-4">${result}</div>`;
389
- }
390
-
391
- // تحليل القضايا
392
- async function analyzeLegalCase(caseDetails) {
393
  try {
394
  const response = await fetch(API_URL, {
395
  method: 'POST',
396
  headers: {
397
  'Content-Type': 'application/json'
398
  },
399
- body: JSON.stringify({
400
- message: LEGAL_PROMPT + caseDetails
401
  })
402
  });
403
 
404
- if (!response.ok) {
405
- throw new Error(`HTTP error! status: ${response.status}`);
406
- }
407
 
408
  const data = await response.json();
409
- return data.response;
 
410
  } catch (error) {
411
  console.error('Error:', error);
412
- return 'حدث خطأ في تحليل القضية. الرجاء المحاولة مرة أخرى.';
413
- }
414
- }
415
-
416
- // معالجة تحليل القضية
417
- async function handleCaseAnalysis() {
418
- const caseText = document.querySelector('#caseAnalysisModal textarea').value;
419
- if (!caseText.trim()) {
420
- alert('الرجاء إدخال تفاصيل القضية');
421
- return;
422
- }
423
-
424
- const analysisButton = document.querySelector('#caseAnalysisModal .premium-button');
425
- const originalButtonText = analysisButton.innerHTML;
426
- analysisButton.innerHTML = 'جاري التحليل...';
427
- analysisButton.disabled = true;
428
-
429
- const result = await analyzeLegalCase(caseText);
430
-
431
- const resultsDiv = document.createElement('div');
432
- resultsDiv.className = 'mt-4 p-4 bg-gray-50 rounded-xl';
433
- resultsDiv.innerHTML = result;
434
-
435
- const oldResults = document.querySelector('#caseAnalysisModal .analysis-results');
436
- if (oldResults) {
437
- oldResults.remove();
438
  }
439
-
440
- resultsDiv.classList.add('analysis-results');
441
- document.querySelector('#caseAnalysisModal .modal-content').appendChild(resultsDiv);
442
-
443
- analysisButton.innerHTML = originalButtonText;
444
- analysisButton.disabled = false;
445
  }
446
 
447
- // معالجة اسأل الموضوع
448
  async function handleAskTopic() {
449
- const legalText = document.getElementById('legalText').value;
450
- const userQuestion = document.getElementById('userQuestion').value;
451
- const resultDiv = document.getElementById('askTopicResult');
452
-
453
- if (!legalText.trim() || !userQuestion.trim()) {
454
  alert('الرجاء إدخال النص القانوني والسؤال');
455
  return;
456
  }
457
-
458
  const submitButton = document.querySelector('#askTopicModal .premium-button');
459
  const originalButtonText = submitButton.innerHTML;
460
  submitButton.innerHTML = 'جاري المعالجة...';
461
  submitButton.disabled = true;
462
-
463
  try {
464
  const response = await fetch(API_URL, {
465
  method: 'POST',
@@ -467,20 +459,18 @@
467
  'Content-Type': 'application/json'
468
  },
469
  body: JSON.stringify({
470
- message: `النص القانوني: ${legalText}\n\nالسؤال: ${userQuestion}`
471
  })
472
  });
473
 
474
- if (!response.ok) {
475
- throw new Error(`HTTP error! status: ${response.status}`);
476
- }
477
 
478
  const data = await response.json();
479
  resultDiv.innerHTML = data.response;
480
  resultDiv.classList.remove('hidden');
481
  } catch (error) {
482
  console.error('Error:', error);
483
- resultDiv.innerHTML = 'حدث خطأ في معالجة السؤال. الرجاء المحاولة مرة أخرى.';
484
  resultDiv.classList.remove('hidden');
485
  } finally {
486
  submitButton.innerHTML = originalButtonText;
@@ -488,65 +478,6 @@
488
  }
489
  }
490
 
491
- // معالجة رفع الملفات
492
- function handleFileUpload(event) {
493
- const file = event.target.files[0];
494
- if (file) {
495
- const formData = new FormData();
496
- formData.append('file', file);
497
-
498
- fetch(API_URL, {
499
- method: 'POST',
500
- body: formData
501
- })
502
- .then(response => {
503
- if (!response.ok) {
504
- throw new Error(`HTTP error! status: ${response.status}`);
505
- }
506
- return response.json();
507
- })
508
- .then(data => {
509
- alert('تم تحليل المستند بنجاح');
510
- })
511
- .catch(error => {
512
- console.error('Error:', error);
513
- alert('حدث خطأ أثناء تحليل المستند');
514
- });
515
- }
516
- }
517
-
518
- // دوال إظهار وإخفاء النوافذ المنبثقة
519
- function showCaseAnalysis() {
520
- document.getElementById('caseAnalysisModal').classList.remove('hidden');
521
- document.body.style.overflow = 'hidden';
522
- }
523
-
524
- function hideCaseAnalysis() {
525
- document.getElementById('caseAnalysisModal').classList.add('hidden');
526
- document.body.style.overflow = 'auto';
527
- document.querySelector('#caseAnalysisModal textarea').value = '';
528
- const oldResults = document.querySelector('#caseAnalysisModal .analysis-results');
529
- if (oldResults) {
530
- oldResults.remove();
531
- }
532
- }
533
-
534
- function showAskTopic() {
535
- document.getElementById('askTopicModal').classList.remove('hidden');
536
- document.body.style.overflow = 'hidden';
537
- }
538
-
539
- function hideAskTopic() {
540
- const modal = document.getElementById('askTopicModal');
541
- const resultDiv = document.getElementById('askTopicResult');
542
- modal.classList.add('hidden');
543
- document.body.style.overflow = 'auto';
544
- document.getElementById('legalText').value = '';
545
- document.getElementById('userQuestion').value = '';
546
- resultDiv.innerHTML = '';
547
- resultDiv.classList.add('hidden');
548
- }
549
-
550
  // إضافة مستمعي الأحداث
551
  document.getElementById('searchInput').addEventListener('keypress', function(e) {
552
  if (e.key === 'Enter') {
@@ -554,7 +485,7 @@
554
  }
555
  });
556
 
557
- document.getElementById('chatInput')?.addEventListener('keypress', function(e) {
558
  if (e.key === 'Enter') {
559
  sendMessage();
560
  }
@@ -562,18 +493,19 @@
562
 
563
  // إغلاق النوافذ المنبثقة عند النقر خارجها
564
  window.onclick = function(event) {
565
- const caseModal = document.getElementById('caseAnalysisModal');
566
- const askModal = document.getElementById('askTopicModal');
567
- const chatModal = document.getElementById('legalChatModal');
 
 
568
 
569
- if (event.target === caseModal) {
570
- hideCaseAnalysis();
571
- } else if (event.target === askModal) {
572
- hideAskTopic();
573
- } else if (event.target === chatModal) {
574
- hideLegalChat();
575
- }
576
- }
577
  </script>
578
  </body>
579
  </html>
 
11
 
12
  body {
13
  font-family: 'Tajawal', sans-serif;
14
+ background: linear-gradient(135deg, #f0f2f5 0%, #e5e7eb 100%);
15
  }
16
 
17
  .premium-gradient {
18
+ background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);
19
  }
20
 
21
  .gold-accent {
22
+ color: #fbbf24;
23
  }
24
 
25
  .feature-card {
26
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
27
  border: 1px solid rgba(229, 231, 235, 0.5);
28
+ background: rgba(255, 255, 255, 0.9);
29
+ backdrop-filter: blur(10px);
30
  }
31
 
32
  .feature-card:hover {
33
  transform: translateY(-5px);
34
+ box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
35
+ border-color: #fbbf24;
36
  }
37
 
38
  .premium-button {
39
+ background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
40
  transition: all 0.3s ease;
41
  }
42
 
43
  .premium-button:hover {
44
  transform: translateY(-2px);
45
+ box-shadow: 0 5px 15px rgba(251, 191, 36, 0.4);
46
  }
47
 
48
  .custom-scroll::-webkit-scrollbar {
49
+ width: 6px;
50
  }
51
 
52
  .custom-scroll::-webkit-scrollbar-track {
53
  background: #f1f1f1;
54
+ border-radius: 3px;
55
  }
56
 
57
  .custom-scroll::-webkit-scrollbar-thumb {
58
+ background: #fbbf24;
59
+ border-radius: 3px;
60
  }
61
 
62
+ .search-container {
63
+ background: rgba(255, 255, 255, 0.95);
64
+ backdrop-filter: blur(10px);
65
  }
66
 
67
  .logo-img {
68
  max-height: 60px;
69
  width: auto;
70
+ filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
71
+ }
72
+
73
+ .modal-container {
74
+ backdrop-filter: blur(5px);
75
+ }
76
+
77
+ .modal-content {
78
+ background: rgba(255, 255, 255, 0.98);
79
  }
80
  </style>
81
  </head>
82
+ <body class="min-h-screen">
83
  <!-- الهيدر -->
84
+ <header class="premium-gradient text-white shadow-lg">
85
+ <div class="container mx-auto px-6 py-4">
86
  <nav class="flex justify-between items-center">
87
+ <div class="flex items-center gap-4">
88
+ <img src="https://ufastpro.com/wp-content/uploads/2025/01/مستشارك__3_-removebg-preview.png" alt="شعار المنصة" class="logo-img">
89
  <div>
90
+ <h1 class="text-2xl font-bold"></h1>
91
+ <p class="text-sm text-gray-300"></p>
92
  </div>
93
  </div>
94
+ <div class="flex gap-6 items-center">
95
+ <a href="https://ufastpro.com/speedy-chat/" class="text-white hover:text-yellow-300 transition-colors">اتكلم مع سبيدي</a>
96
+ <button onclick="showLegalChat()" class="premium-button text-gray-900 px-6 py-2 rounded-lg font-bold hover:shadow-xl">
97
  اسأل سؤال قانوني
98
  </button>
99
  </div>
 
101
  </div>
102
  </header>
103
 
104
+ <main class="container mx-auto px-6 py-12">
105
  <!-- قسم البحث الرئيسي -->
106
+ <div class="search-container rounded-3xl shadow-2xl p-8 mb-12 border-t-4 border-yellow-400">
107
  <div class="max-w-3xl mx-auto">
108
  <h2 class="text-3xl font-bold text-center mb-8 text-gray-800">البحث في التشريعات والأحكام القضائية</h2>
109
  <div class="flex gap-4">
 
111
  <i class="fas fa-search absolute right-4 top-4 text-gray-400"></i>
112
  <input type="text"
113
  id="searchInput"
114
+ class="w-full p-4 pr-12 border-2 border-gray-200 rounded-xl focus:border-yellow-400 focus:ring-2 focus:ring-yellow-400 focus:ring-opacity-50 outline-none transition-all"
115
  placeholder="ابحث في القوانين، الأحكام، والمواد القانونية...">
116
  </div>
117
  <button onclick="handleSearch()" class="premium-button px-8 py-3 rounded-xl font-bold flex items-center gap-2">
 
119
  بحث
120
  </button>
121
  </div>
122
+ <div id="searchResults" class="mt-4 custom-scroll max-h-96"></div>
123
  </div>
124
  </div>
125
 
126
  <!-- الخدمات الرئيسية -->
127
+ <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
128
  <!-- تحليل القضايا -->
129
+ <div class="feature-card rounded-2xl p-8">
130
  <div class="flex items-center gap-4 mb-6">
131
  <div class="w-12 h-12 rounded-full premium-gradient flex items-center justify-center">
132
  <i class="fas fa-gavel gold-accent text-xl"></i>
133
  </div>
134
  <h3 class="text-xl font-bold">تحليل القضايا</h3>
135
  </div>
136
+ <p class="text-gray-600 mb-6 leading-relaxed">تحليل متقدم للقضايا باستخدام أحدث التقنيات والذكاء الاصطناعي مع مراعاة القوانين المصرية</p>
137
+ <button onclick="showCaseAnalysis()" class="w-full premium-button py-3 rounded-xl font-bold text-gray-900">
138
  تحليل قضية جديدة
139
  </button>
140
  </div>
141
 
142
  <!-- اسأل الموضوع -->
143
+ <div class="feature-card rounded-2xl p-8">
144
  <div class="flex items-center gap-4 mb-6">
145
  <div class="w-12 h-12 rounded-full premium-gradient flex items-center justify-center">
146
  <i class="fas fa-comments gold-accent text-xl"></i>
147
  </div>
148
  <h3 class="text-xl font-bold">اسأل الموضوع</h3>
149
  </div>
150
+ <p class="text-gray-600 mb-6 leading-relaxed">اطرح سؤالك حول أي موضوع قانوني وسنقوم بتحليله والإجابة عليه بدقة</p>
151
+ <button onclick="showAskTopic()" class="w-full premium-button py-3 rounded-xl font-bold text-gray-900">
152
  اطرح سؤالك
153
  </button>
154
  </div>
155
 
156
+ <!-- كتابة العقود -->
157
+ <div class="feature-card rounded-2xl p-8">
158
+ <div class="flex items-center gap-4 mb-6">
159
+ <div class="w-12 h-12 rounded-full premium-gradient flex items-center justify-center">
160
+ <i class="fas fa-file-contract gold-accent text-xl"></i>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
  </div>
162
+ <h3 class="text-xl font-bold">كتابة العقود والوثائق</h3>
163
  </div>
164
+ <p class="text-gray-600 mb-6 leading-relaxed">كتابة العقود والمواثيق والاوراق الهامة اصبح سهل الان مع سبيدي</p>
165
+ <a href="https://ufastpro.com/okod/" class="block w-full premium-button py-3 rounded-xl font-bold text-center text-gray-900">
166
+ خلي سبيدي يكتبلك وثيقتك او عقدك
167
+ </a>
168
  </div>
169
  </div>
170
  </main>
171
 
172
  <!-- نافذة الدردشة القانونية -->
173
+ <div id="legalChatModal" class="hidden fixed inset-0 bg-black bg-opacity-30 modal-container flex items-center justify-center z-50">
174
+ <div class="modal-content rounded-2xl p-8 w-full max-w-2xl mx-4">
175
  <div class="flex justify-between items-center mb-6">
176
  <h3 class="text-2xl font-bold text-gray-800">اسأل سؤال قانوني</h3>
177
  <button onclick="hideLegalChat()" class="text-gray-500 hover:text-gray-700">
 
182
  <!-- الرسائل ستظهر هنا -->
183
  </div>
184
  <div class="flex gap-2">
185
+ <input type="text"
186
+ id="chatInput"
187
+ class="flex-grow p-3 border-2 rounded-xl focus:border-yellow-400 focus:ring-2 focus:ring-yellow-400 focus:ring-opacity-50 outline-none"
188
+ placeholder="اكتب سؤالك هنا...">
189
  <button onclick="sendMessage()" class="premium-button px-6 py-2 rounded-xl font-bold">
190
  إرسال
191
  </button>
 
194
  </div>
195
 
196
  <!-- نافذة تحليل القضايا -->
197
+ <div id="caseAnalysisModal" class="hidden fixed inset-0 bg-black bg-opacity-30 modal-container flex items-center justify-center z-50">
198
+ <div class="modal-content rounded-2xl p-8 w-full max-w-2xl mx-4">
199
  <div class="flex justify-between items-center mb-6">
200
  <h3 class="text-2xl font-bold text-gray-800">تحليل قضية جديدة</h3>
201
  <button onclick="hideCaseAnalysis()" class="text-gray-500 hover:text-gray-700">
202
  <i class="fas fa-times text-xl"></i>
203
  </button>
204
  </div>
205
+ <div class="modal-body">
206
  <textarea
207
+ class="w-full p-4 border-2 rounded-xl mb-6 h-48 focus:border-yellow-400 focus:ring-2 focus:ring-yellow-400 focus:ring-opacity-50 outline-none transition-all custom-scroll"
208
  placeholder="اكتب تفاصيل القضية هنا..."
209
  ></textarea>
210
+ <div id="analysisResult" class="mt-4 p-4 bg-gray-50 rounded-xl hidden"></div>
211
+ <div class="flex justify-end gap-4 mt-4">
212
  <button onclick="hideCaseAnalysis()" class="px-6 py-3 border-2 rounded-xl hover:bg-gray-50 font-bold">
213
  إلغاء
214
  </button>
 
221
  </div>
222
 
223
  <!-- نافذة اسأل الموضوع -->
224
+ <div id="askTopicModal" class="hidden fixed inset-0 bg-black bg-opacity-30 modal-container flex items-center justify-center z-50">
225
+ <div class="modal-content rounded-2xl p-8 w-full max-w-2xl mx-4 max-h-[90vh] overflow-y-auto">
226
  <div class="flex justify-between items-center mb-6">
227
  <h3 class="text-2xl font-bold text-gray-800">اسأل الموضوع</h3>
228
  <button onclick="hideAskTopic()" class="text-gray-500 hover:text-gray-700">
229
  <i class="fas fa-times text-xl"></i>
230
  </button>
231
  </div>
232
+ <div class="modal-body space-y-6">
233
  <div>
234
  <label class="block text-gray-700 font-bold mb-2">النص القانوني</label>
235
  <textarea
236
  id="legalText"
237
+ class="w-full p-4 border-2 rounded-xl h-48 focus:border-yellow-400 focus:ring-2 focus:ring-yellow-400 focus:ring-opacity-50 outline-none transition-all custom-scroll"
238
  placeholder="أدخل النص القانوني هنا..."
239
  ></textarea>
240
  </div>
 
242
  <label class="block text-gray-700 font-bold mb-2">سؤالك حول النص</label>
243
  <textarea
244
  id="userQuestion"
245
+ class="w-full p-4 border-2 rounded-xl h-24 focus:border-yellow-400 focus:ring-2 focus:ring-yellow-400 focus:ring-opacity-50 outline-none transition-all custom-scroll"
246
  placeholder="اكتب سؤالك هنا..."
247
  ></textarea>
248
  </div>
249
+ <div id="topicResult" class="mt-4 p-4 bg-gray-50 rounded-xl hidden"></div>
 
250
  <div class="flex justify-end gap-4">
251
  <button onclick="hideAskTopic()" class="px-6 py-3 border-2 rounded-xl hover:bg-gray-50 font-bold">
252
  إلغاء
 
260
  </div>
261
 
262
  <script>
263
+ // تكوين عنوان API
264
  const API_URL = 'https://j8fp9mu44k547j-7777.proxy.runpod.net/proxy/9000/chat';
265
  const LEGAL_PROMPT = 'أريد منك أن تتصرف كمحامٍ خبير في القانون المصري. قم بتحليل الموضوعات القانونية التي سأطرحها عليك، مستندًا إلى القوانين المصرية الحديثة والمبادئ القانونية الراسخة. يجب أن تكون إجاباتك دقيقة ومحددة، وتقدم النصائح بناءً على القوانين واللوائح المصرية المعمول بها. إذا كان الموضوع يتطلب تفصيلاً قانونياً أكثر عمقًا، فأرجو أن تسألني عن المزيد من التفاصيل. الآن، إليك القضية التي أح��اج لتحليلها: ';
266
 
267
+ // دوال التحكم في النوافذ المنبثقة
268
  function showLegalChat() {
269
  document.getElementById('legalChatModal').classList.remove('hidden');
270
  document.body.style.overflow = 'hidden';
 
273
  function hideLegalChat() {
274
  document.getElementById('legalChatModal').classList.add('hidden');
275
  document.body.style.overflow = 'auto';
276
+ document.getElementById('chatInput').value = '';
277
+ }
278
+
279
+ function showCaseAnalysis() {
280
+ document.getElementById('caseAnalysisModal').classList.remove('hidden');
281
+ document.body.style.overflow = 'hidden';
282
+ }
283
+
284
+ function hideCaseAnalysis() {
285
+ document.getElementById('caseAnalysisModal').classList.add('hidden');
286
+ document.body.style.overflow = 'auto';
287
+ document.querySelector('#caseAnalysisModal textarea').value = '';
288
+ document.getElementById('analysisResult').classList.add('hidden');
289
+ }
290
+
291
+ function showAskTopic() {
292
+ document.getElementById('askTopicModal').classList.remove('hidden');
293
+ document.body.style.overflow = 'hidden';
294
  }
295
 
296
+ function hideAskTopic() {
297
+ document.getElementById('askTopicModal').classList.add('hidden');
298
+ document.body.style.overflow = 'auto';
299
+ document.getElementById('legalText').value = '';
300
+ document.getElementById('userQuestion').value = '';
301
+ document.getElementById('topicResult').classList.add('hidden');
302
+ }
303
+
304
+ // دوال معالجة الطلبات
305
  async function sendMessage() {
306
  const input = document.getElementById('chatInput');
307
  const messagesDiv = document.getElementById('chatMessages');
 
327
  headers: {
328
  'Content-Type': 'application/json'
329
  },
330
+ body: JSON.stringify({ message: LEGAL_PROMPT + message })
331
  });
332
 
333
  if (!response.ok) throw new Error('Network response was not ok');
 
356
  }
357
  }
358
 
359
+ async function handleSearch() {
360
+ const searchInput = document.getElementById('searchInput');
361
+ const searchResults = document.getElementById('searchResults');
362
+ const query = searchInput.value.trim();
363
+
364
+ if (!query) {
365
+ alert('الرجاء إدخال نص للبحث');
366
+ return;
367
+ }
368
+
369
+ searchResults.innerHTML = '<div class="text-center p-4">جاري البحث...</div>';
370
+
371
  try {
372
  const response = await fetch(API_URL, {
373
  method: 'POST',
374
  headers: {
375
  'Content-Type': 'application/json'
376
  },
377
+ body: JSON.stringify({
378
+ message: LEGAL_PROMPT + "ابحث عن: " + query
379
  })
380
  });
381
 
382
+ if (!response.ok) throw new Error('Network response was not ok');
 
 
383
 
384
  const data = await response.json();
385
+ searchResults.innerHTML = `
386
+ <div class="bg-white p-6 rounded-xl shadow-md">
387
+ ${data.response}
388
+ </div>
389
+ `;
390
  } catch (error) {
391
  console.error('Error:', error);
392
+ searchResults.innerHTML = `
393
+ <div class="bg-red-100 p-4 rounded-xl text-red-700">
394
+ حدث خطأ في البحث. يرجى المحاولة مرة أخرى.
395
+ </div>
396
+ `;
397
  }
398
  }
399
 
400
+ async function handleCaseAnalysis() {
401
+ const caseText = document.querySelector('#caseAnalysisModal textarea').value.trim();
402
+ const resultDiv = document.getElementById('analysisResult');
 
 
403
 
404
+ if (!caseText) {
405
+ alert('الرجاء إدخال تفاصيل القضية');
406
  return;
407
  }
408
 
409
+ const submitButton = document.querySelector('#caseAnalysisModal .premium-button');
410
+ const originalButtonText = submitButton.innerHTML;
411
+ submitButton.innerHTML = 'جاري التحليل...';
412
+ submitButton.disabled = true;
413
+
 
 
414
  try {
415
  const response = await fetch(API_URL, {
416
  method: 'POST',
417
  headers: {
418
  'Content-Type': 'application/json'
419
  },
420
+ body: JSON.stringify({
421
+ message: LEGAL_PROMPT + caseText
422
  })
423
  });
424
 
425
+ if (!response.ok) throw new Error('Network response was not ok');
 
 
426
 
427
  const data = await response.json();
428
+ resultDiv.innerHTML = data.response;
429
+ resultDiv.classList.remove('hidden');
430
  } catch (error) {
431
  console.error('Error:', error);
432
+ resultDiv.innerHTML = 'حدث خطأ في تحليل القضية. يرجى المحاولة مرة أخرى.';
433
+ resultDiv.classList.remove('hidden');
434
+ } finally {
435
+ submitButton.innerHTML = originalButtonText;
436
+ submitButton.disabled = false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
437
  }
 
 
 
 
 
 
438
  }
439
 
 
440
  async function handleAskTopic() {
441
+ const legalText = document.getElementById('legalText').value.trim();
442
+ const userQuestion = document.getElementById('userQuestion').value.trim();
443
+ const resultDiv = document.getElementById('topicResult');
444
+
445
+ if (!legalText || !userQuestion) {
446
  alert('الرجاء إدخال النص القانوني والسؤال');
447
  return;
448
  }
449
+
450
  const submitButton = document.querySelector('#askTopicModal .premium-button');
451
  const originalButtonText = submitButton.innerHTML;
452
  submitButton.innerHTML = 'جاري المعالجة...';
453
  submitButton.disabled = true;
454
+
455
  try {
456
  const response = await fetch(API_URL, {
457
  method: 'POST',
 
459
  'Content-Type': 'application/json'
460
  },
461
  body: JSON.stringify({
462
+ message: LEGAL_PROMPT + `النص القانوني: ${legalText}\n\nالسؤال: ${userQuestion}`
463
  })
464
  });
465
 
466
+ if (!response.ok) throw new Error('Network response was not ok');
 
 
467
 
468
  const data = await response.json();
469
  resultDiv.innerHTML = data.response;
470
  resultDiv.classList.remove('hidden');
471
  } catch (error) {
472
  console.error('Error:', error);
473
+ resultDiv.innerHTML = 'حدث خطأ في معالجة السؤال. يرجى المحاولة مرة أخرى.';
474
  resultDiv.classList.remove('hidden');
475
  } finally {
476
  submitButton.innerHTML = originalButtonText;
 
478
  }
479
  }
480
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
481
  // إضافة مستمعي الأحداث
482
  document.getElementById('searchInput').addEventListener('keypress', function(e) {
483
  if (e.key === 'Enter') {
 
485
  }
486
  });
487
 
488
+ document.getElementById('chatInput').addEventListener('keypress', function(e) {
489
  if (e.key === 'Enter') {
490
  sendMessage();
491
  }
 
493
 
494
  // إغلاق النوافذ المنبثقة عند النقر خارجها
495
  window.onclick = function(event) {
496
+ const modals = {
497
+ 'legalChatModal': hideLegalChat,
498
+ 'caseAnalysisModal': hideCaseAnalysis,
499
+ 'askTopicModal': hideAskTopic
500
+ };
501
 
502
+ Object.entries(modals).forEach(([modalId, hideFunction]) => {
503
+ const modal = document.getElementById(modalId);
504
+ if (event.target === modal) {
505
+ hideFunction();
506
+ }
507
+ });
508
+ };
 
509
  </script>
510
  </body>
511
  </html>