دار الحجر: جوهرة العمارة اليمنية في وادي ظهر

دار الحجر: جوهرة العمارة اليمنية في وادي ظهر دار الحجر، قصر تاريخي، وادي ظهر، صنعاء، اليمن، الإمام المنصور علي بن العباس، العمارة اليمنية، ...
دار الحجر: جوهرة العمارة اليمنية في وادي ظهر
دار الحجر هو أحد أبرز المعالم التاريخية والسياحية في اليمن، ويقع في وادي ظهر على بعد حوالي 15 كيلومترًا شمال غرب العاصمة صنعاء . بُني هذا القصر الرائع في القرن الثامن عشر بأمر من الإمام المنصور علي بن العباس. يجسد دار الحجر فن العمارة اليمنية التقليدية ويعتبر شاهدًا على تاريخ طويل من الفخامة والحضارة. تاريخ بناء دار الحجر بدأ بناء دار الحجر في عام 1786م على يد الإمام المنصور علي بن العباس، الذي كان من أبرز حكام الدولة القاسمية في اليمن. الإمام المنصور علي كان معروفًا بحبه للعمارة والفنون، ولذلك أمر ببناء هذا القصر ليكون مقرًا لإقامته وإدارة شؤون الدولة، بالإضافة إلى استقباله للضيوف الرسميين والزوار. تصميم وهندسة دار الحجر يمتاز دار الحجر بتصميمه الفريد الذي يمزج بين الهندسة اليمنية التقليدية والطبيعة المحيطة. القصر مبني فوق صخرة ضخمة، مما يمنحه شكلاً مميزًا وموقعًا استراتيجيًا يصعب الوصول إليه بسهولة. يتكون القصر من عدة طوابق تحتوي على حوالي 35 غرفة، تتنوع بين غرف للنوم، وأخرى للاستقبال، بالإضافة إلى غرف للخدم وأماكن لتخزين المؤن. اقرأ أيضاً:- استخدامات دار الحجر تم استخدام دار الحجر لعدة أغر…

عن المؤلف

مرحبًا، أنا مدوّن تقني شغوف بصناعة المحتوى الرقمي، أشارككم شروحات ومراجعات في مجالات البرمجة والتكنولوجيا.

إرسال تعليق

// script.js document.addEventListener('DOMContentLoaded', function() { // عناصر DOM const chatMessages = document.getElementById('chat-messages'); const messageInput = document.getElementById('message-input'); const sendBtn = document.getElementById('send-btn'); const clearChatBtn = document.getElementById('clear-chat'); const settingsBtn = document.getElementById('settings-btn'); const settingsModal = document.getElementById('settings-modal'); const saveSettingsBtn = document.getElementById('save-settings'); const cancelSettingsBtn = document.getElementById('cancel-settings'); const formattingButtons = document.querySelectorAll('.text-formatting button'); const chatStatus = document.getElementById('chat-status'); // إعدادات الروبوت let botSettings = { model: 'gpt-3.5', temperature: 0.7, saveChats: true }; // تحميل الإعدادات والمحادثات المحفوظة function loadSettings() { const savedSettings = localStorage.getItem('chatbotSettings'); if (savedSettings) { botSettings = JSON.parse(savedSettings); document.getElementById('api-select').value = botSettings.model; document.getElementById('temperature').value = botSettings.temperature; document.getElementById('temp-value').textContent = botSettings.temperature; document.getElementById('save-chats').checked = botSettings.saveChats; } if (botSettings.saveChats) { const savedChat = localStorage.getItem('chatHistory'); if (savedChat) { chatMessages.innerHTML = savedChat; scrollToBottom(); } } } // حفظ الإعدادات function saveSettings() { botSettings.model = document.getElementById('api-select').value; botSettings.temperature = parseFloat(document.getElementById('temperature').value); botSettings.saveChats = document.getElementById('save-chats').checked; localStorage.setItem('chatbotSettings', JSON.stringify(botSettings)); settingsModal.style.display = 'none'; } // إضافة رسالة إلى الدردشة function addMessage(content, isUser) { const messageDiv = document.createElement('div'); messageDiv.classList.add('message', isUser ? 'user-message' : 'bot-message'); messageDiv.innerHTML = content; chatMessages.appendChild(messageDiv); if (botSettings.saveChats) { localStorage.setItem('chatHistory', chatMessages.innerHTML); } scrollToBottom(); } // التمرير إلى الأسفل function scrollToBottom() { chatMessages.scrollTop = chatMessages.scrollHeight; } // معالجة إرسال الرسالة async function sendMessage() { const message = messageInput.value.trim(); if (!message) return; // إضافة رسالة المستخدم addMessage(message, true); messageInput.value = ''; // عرض حالة "يكتب..." chatStatus.textContent = 'الروبوت يكتب...'; try { // استدعاء API الذكاء الاصطناعي const response = await fetchAIResponse(message, botSettings); // إضافة رد الروبوت addMessage(response, false); chatStatus.textContent = 'جاهز للرد...'; } catch (error) { console.error('Error:', error); addMessage('عذرًا، حدث خطأ أثناء معالجة طلبك. يرجى المحاولة مرة أخرى.', false); chatStatus.textContent = 'حدث خطأ'; setTimeout(() => { chatStatus.textContent = 'جاهز للرد...'; }, 3000); } } // تكبير حقل الإدخال تلقائيًا messageInput.addEventListener('input', function() { this.style.height = 'auto'; this.style.height = (this.scrollHeight) + 'px'; }); // إرسال الرسالة عند الضغط على Enter messageInput.addEventListener('keydown', function(e) { if (e.key === 'Enter' !e.shiftKey) { e.preventDefault(); sendMessage(); } }); // أحداث الأزرار sendBtn.addEventListener('click', sendMessage); clearChatBtn.addEventListener('click', function() { chatMessages.innerHTML = ''; if (botSettings.saveChats) { localStorage.removeItem('chatHistory'); } }); settingsBtn.addEventListener('click', function() { settingsModal.style.display = 'flex'; }); saveSettingsBtn.addEventListener('click', saveSettings); cancelSettingsBtn.addEventListener('click', function() { settingsModal.style.display = 'none'; }); // إغلاق نافذة الإعدادات عند النقر خارجها window.addEventListener('click', function(e) { if (e.target === settingsModal) { settingsModal.style.display = 'none'; } }); // أزرار تنسيق النص formattingButtons.forEach(button => { button.addEventListener('click', function() { const format = this.getAttribute('data-format'); formatText(format); }); }); // وظيفة تنسيق النص function formatText(format) { const start = messageInput.selectionStart; const end = messageInput.selectionEnd; const selectedText = messageInput.value.substring(start, end); let formattedText = ''; switch(format) { case 'bold': formattedText = `**${selectedText}**`; break; case 'italic': formattedText = `*${selectedText}*`; break; case 'list': formattedText = `\n- ${selectedText.replace(/\n/g, '\n- ')}`; break; } messageInput.setRangeText(formattedText, start, end, 'end'); messageInput.focus(); } // تحديث قيمة درجة الإبداع document.getElementById('temperature').addEventListener('input', function() { document.getElementById('temp-value').textContent = this.value; }); // تحميل الإعدادات عند البدء loadSettings(); });