Compare commits

..

No commits in common. "ai-dev" and "master" have entirely different histories.

12 changed files with 176 additions and 386 deletions

View File

@ -1,10 +1,9 @@
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}منار التحفيظ{% endblock %}</title>
<title>{% block title %}Knowledge Base{% endblock %}</title>
{% if project_description %}
<meta name="description" content="{{ project_description }}">
<meta property="og:description" content="{{ project_description }}">
@ -14,91 +13,13 @@
<meta property="og:image" content="{{ project_image_url }}">
<meta property="twitter:image" content="{{ project_image_url }}">
{% endif %}
<!-- Google Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Lora:wght@700&family=Inter:wght@400;600&display=swap" rel="stylesheet">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
{% load static %}
<link rel="stylesheet" href="{% static 'css/custom.css' %}?v={{ deployment_timestamp }}">
{% block head %}{% endblock %}
</head>
<body>
<header class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="/">منار التحفيظ</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<a class="nav-link" href="/">الرئيسية</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/about">من نحن</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/teachers">المعلمون</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">المدونة</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/contact">اتصل بنا</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/admin/">لوحة التحكم</a>
</li>
</ul>
</div>
</div>
</header>
<main>
{% block content %}{% endblock %}
</main>
<footer class="bg-light text-center text-lg-start mt-auto">
<div class="container p-4">
<div class="row">
<div class="col-lg-6 col-md-12 mb-4 mb-md-0">
<h5 class="text-uppercase">منار التحفيظ</h5>
<p>
موقع متخصص في تعليم وتحفيظ القرآن الكريم عن بعد، باستخدام أحدث التقنيات التعليمية.
</p>
</div>
<div class="col-lg-3 col-md-6 mb-4 mb-md-0">
<h5 class="text-uppercase">روابط</h5>
<ul class="list-unstyled mb-0">
<li><a href="/" class="text-dark">الرئيسية</a></li>
<li><a href="/about" class="text-dark">من نحن</a></li>
<li><a href="/teachers" class="text-dark">المعلمون</a></li>
<li><a href="/contact" class="text-dark">اتصل بنا</a></li>
</ul>
</div>
<div class="col-lg-3 col-md-6 mb-4 mb-md-0">
<h5 class="text-uppercase">تواصل معنا</h5>
<ul class="list-unstyled">
<li><a href="https://wa.me/1234567890" target="_blank" class="text-dark">WhatsApp</a></li>
<li><a href="mailto:info@manar.com" class="text-dark">info@manar.com</a></li>
</ul>
</div>
</div>
</div>
<div class="text-center p-3" style="background-color: rgba(0, 0, 0, 0.2);">
© 2026 منار التحفيظ
</div>
</footer>
<!-- Bootstrap JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
{% block content %}{% endblock %}
</body>
</html>
</html>

View File

@ -1,19 +0,0 @@
{% extends 'base.html' %}
{% block title %}من نحن - منار التحفيظ{% endblock %}
{% block content %}
<div class="container py-5">
<div class="row">
<div class="col-md-10 offset-md-1 text-center">
<h1 class="mb-4">رسالتنا ورؤيتنا</h1>
<p class="lead">
في "منار التحفيظ"، نؤمن بأن تعلم القرآن الكريم هو رحلة روحية تبني الشخصية وتهذب الأخلاق. تأسست مؤسستنا على يد مجموعة من الخبراء والمختصين في علوم القرآن بهدف تقديم تجربة تعليمية فريدة تجمع بين الأصالة والمعاصرة. نحن نسعى لخدمة كتاب الله من خلال توفير بيئة تعليمية محفزة وميسرة للطلاب من كافة أنحاء العالم، ومساعدتهم على إتقان الحفظ والفهم والتجويد.
</p>
<p class="lead">
رؤيتنا هي أن نكون المنصة الرائدة عالميًا في تعليم القرآن عن بعد، وأن نصل بنور القرآن إلى كل بيت، ونساهم في تنشئة جيل مرتبط بكتاب الله، عامل به في حياته.
</p>
</div>
</div>
</div>
{% endblock %}

View File

@ -1,18 +0,0 @@
{% extends 'base.html' %}
{% block title %}اتصل بنا - منار التحفيظ{% endblock %}
{% block content %}
<div class="container py-5">
<div class="row">
<div class="col-md-8 offset-md-2 text-center">
<h1 class="mb-4">تواصل معنا</h1>
<p class="lead">يسعدنا استقبال استفساراتكم واقتراحاتكم. يمكنكم التواصل معنا عبر القنوات التالية:</p>
<div class="mt-4">
<h4><strong>البريد الإلكتروني:</strong> <a href="mailto:info@manar.com">info@manar.com</a></h4>
<h4><strong>واتساب:</strong> <a href="https://wa.me/1234567890" target="_blank">+1 (234) 567-890</a></h4>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@ -1,90 +1,145 @@
{% extends 'base.html' %}
{% load static %}
{% extends "base.html" %}
{% block title %}منار التحفيظ - الرئيسية{% endblock %}
{% block title %}{{ project_name }}{% endblock %}
{% block head %}
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap" rel="stylesheet">
<style>
.hero-section {
background: linear-gradient(135deg, rgba(0, 77, 64, 0.8), rgba(253, 251, 246, 0.5));
padding: 100px 0;
color: white;
:root {
--bg-color-start: #6a11cb;
--bg-color-end: #2575fc;
--text-color: #ffffff;
--card-bg-color: rgba(255, 255, 255, 0.01);
--card-border-color: rgba(255, 255, 255, 0.1);
}
.hero-section h1 {
font-size: 3.5rem;
* {
box-sizing: border-box;
}
body {
margin: 0;
font-family: 'Inter', sans-serif;
background: linear-gradient(45deg, var(--bg-color-start), var(--bg-color-end));
color: var(--text-color);
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
text-align: center;
overflow: hidden;
position: relative;
}
body::before {
content: '';
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'><path d='M-10 10L110 10M10 -10L10 110' stroke-width='1' stroke='rgba(255,255,255,0.05)'/></svg>");
animation: bg-pan 20s linear infinite;
z-index: -1;
}
@keyframes bg-pan {
0% {
background-position: 0% 0%;
}
100% {
background-position: 100% 100%;
}
}
main {
padding: 2rem;
}
.card {
background: var(--card-bg-color);
border: 1px solid var(--card-border-color);
border-radius: 16px;
padding: 2.5rem 2rem;
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
box-shadow: 0 12px 36px rgba(0, 0, 0, 0.25);
}
h1 {
font-size: clamp(2.2rem, 3vw + 1.2rem, 3.2rem);
font-weight: 700;
color: white;
margin: 0 0 1.2rem;
letter-spacing: -0.02em;
}
.hero-section .lead {
font-size: 1.5rem;
p {
margin: 0.5rem 0;
font-size: 1.1rem;
opacity: 0.92;
}
.section {
padding: 60px 0;
.loader {
margin: 1.5rem auto;
width: 56px;
height: 56px;
border: 4px solid rgba(255, 255, 255, 0.25);
border-top-color: #fff;
border-radius: 50%;
animation: spin 1s linear infinite;
}
.teacher-card {
border: none;
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
@keyframes spin {
to {
transform: rotate(360deg);
}
}
.runtime code {
background: rgba(0, 0, 0, 0.25);
padding: 0.15rem 0.45rem;
border-radius: 4px;
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
footer {
position: absolute;
bottom: 1rem;
width: 100%;
text-align: center;
font-size: 0.85rem;
opacity: 0.75;
}
</style>
{% endblock %}
{% block content %}
<div class="hero-section text-center">
<div class="container">
<h1>أنر دربك بحفظ كتاب الله</h1>
<p class="lead">انضم إلينا في رحلة إيمانية لتعلم وحفظ القرآن الكريم مع نخبة من المعلمين المهرة.</p>
<a href="#" class="btn btn-secondary btn-lg">اكتشف برامجنا</a>
</div>
</div>
<section id="about-snippet" class="section bg-white">
<div class="container">
<div class="row">
<div class="col-md-8 offset-md-2 text-center">
<h2>عن منار التحفيظ</h2>
<p class="lead">نحن مؤسسة تعليمية تهدف إلى تيسير تعلم القرآن الكريم وحفظه لجميع الأعمار حول العالم، باستخدام أساليب تفاعلية ومنهجية مبتكرة.</p>
<a href="/about" class="btn btn-primary">اعرف المزيد</a>
</div>
<main>
<div class="card">
<h1>Analyzing your requirements and generating your app…</h1>
<div class="loader" role="status" aria-live="polite" aria-label="Applying initial changes">
<span class="sr-only">Loading…</span>
</div>
<p class="hint">AppWizzy AI is collecting your requirements and applying the first changes.</p>
<p class="hint">This page will refresh automatically as the plan is implemented.</p>
<p class="runtime">
Runtime: Django <code>{{ django_version }}</code> · Python <code>{{ python_version }}</code>
— UTC <code>{{ current_time|date:"Y-m-d H:i:s" }}</code>
</p>
</div>
</section>
<section id="teachers-preview" class="section">
<div class="container">
<div class="row mb-4">
<div class="col text-center">
<h2>نخبة من المعلمين</h2>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="card teacher-card text-center p-3">
<img src="https://i.pravatar.cc/150?img=1" class="rounded-circle mx-auto" alt="Teacher">
<div class="card-body">
<h5 class="card-title">الشيخ أحمد المصري</h5>
<p class="card-text">إجازة في القراءات العشر</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card teacher-card text-center p-3">
<img src="https://i.pravatar.cc/150?img=2" class="rounded-circle mx-auto" alt="Teacher">
<div class="card-body">
<h5 class="card-title">الأستاذة فاطمة الهاشمي</h5>
<p class="card-text">خبرة 10 سنوات في تعليم الأطفال</p>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card teacher-card text-center p-3">
<img src="https://i.pravatar.cc/150?img=3" class="rounded-circle mx-auto" alt="Teacher">
<div class="card-body">
<h5 class="card-title">الدكتور يوسف عبد الرحمن</h5>
<p class="card-text">متخصص في علوم التجويد</p>
</div>
</div>
</div>
</div>
</div>
</section>
{% endblock %}
</main>
<footer>
Page updated: {{ current_time|date:"Y-m-d H:i:s" }} (UTC)
</footer>
{% endblock %}

View File

@ -1,46 +0,0 @@
{% extends 'base.html' %}
{% block title %}المعلمون - منار التحفيظ{% endblock %}
{% block content %}
<div class="container py-5">
<div class="row mb-4">
<div class="col text-center">
<h1>فريقنا من المعلمين والمعلمات</h1>
<p class="lead">نفخر بضم نخبة من المعلمين المهرة من أصحاب الخبرة والكفاءة العالية.</p>
</div>
</div>
<div class="row">
<!-- Dummy Teacher 1 -->
<div class="col-md-4 mb-4">
<div class="card h-100 text-center p-3">
<img src="https://i.pravatar.cc/150?img=1" class="rounded-circle mx-auto mb-3" alt="Teacher">
<div class="card-body">
<h5 class="card-title">الشيخ أحمد المصري</h5>
<p class="card-text">إجازة في القراءات العشر من الأزهر الشريف. خبرة 15 عامًا في تحفيظ القرآن للكبار والصغار.</p>
</div>
</div>
</div>
<!-- Dummy Teacher 2 -->
<div class="col-md-4 mb-4">
<div class="card h-100 text-center p-3">
<img src="https://i.pravatar.cc/150?img=2" class="rounded-circle mx-auto mb-3" alt="Teacher">
<div class="card-body">
<h5 class="card-title">الأستاذة فاطمة الهاشمي</h5>
<p class="card-text">متخصصة في تعليم الأطفال وتطبيق أساليب نور البيان. خبرة 10 سنوات في التعامل مع الأطفال.</p>
</div>
</div>
</div>
<!-- Dummy Teacher 3 -->
<div class="col-md-4 mb-4">
<div class="card h-100 text-center p-3">
<img src="https://i.pravatar.cc/150?img=3" class="rounded-circle mx-auto mb-3" alt="Teacher">
<div class="card-body">
<h5 class="card-title">الدكتور يوسف عبد الرحمن</h5>
<p class="card-text">أستاذ جامعي متخصص في علوم التجويد والتفسير. له العديد من الأبحاث المنشورة في مجال الدراسات القرآنية.</p>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@ -1,9 +1,7 @@
from django.urls import path
from .views import HomeView, AboutView, TeachersView, ContactView
from .views import home
urlpatterns = [
path("", HomeView.as_view(), name="home"),
path("about/", AboutView.as_view(), name="about"),
path("teachers/", TeachersView.as_view(), name="teachers"),
path("contact/", ContactView.as_view(), name="contact"),
path("", home, name="home"),
]

View File

@ -1,15 +1,25 @@
import os
import platform
from django import get_version as django_version
from django.shortcuts import render
from django.views.generic import TemplateView
from django.utils import timezone
class HomeView(TemplateView):
template_name = "core/index.html"
class AboutView(TemplateView):
template_name = "core/about.html"
class TeachersView(TemplateView):
template_name = "core/teachers.html"
class ContactView(TemplateView):
template_name = "core/contact.html"
def home(request):
"""Render the landing screen with loader and environment details."""
host_name = request.get_host().lower()
agent_brand = "AppWizzy" if host_name == "appwizzy.com" else "Flatlogic"
now = timezone.now()
context = {
"project_name": "New Style",
"agent_brand": agent_brand,
"django_version": django_version(),
"python_version": platform.python_version(),
"current_time": now,
"host_name": host_name,
"project_description": os.getenv("PROJECT_DESCRIPTION", ""),
"project_image_url": os.getenv("PROJECT_IMAGE_URL", ""),
}
return render(request, "core/index.html", context)

View File

@ -1,68 +1,4 @@
:root {
--primary-color: #004d40;
--secondary-color: #FFC107;
--neutral-color: #FDFBF6;
--text-color: #333333;
}
/* Custom styles for the application */
body {
font-family: 'Inter', sans-serif;
background-color: var(--neutral-color);
color: var(--text-color);
display: flex;
flex-direction: column;
min-height: 100vh;
font-family: system-ui, -apple-system, sans-serif;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'Lora', serif;
color: var(--primary-color);
}
.navbar {
background-color: var(--neutral-color) !important;
border-bottom: 1px solid #eee;
}
.navbar-brand {
font-family: 'Lora', serif;
font-weight: 700;
font-size: 1.5rem;
color: var(--primary-color) !important;
}
.nav-link {
font-weight: 600;
color: var(--primary-color) !important;
}
.nav-link:hover {
color: var(--secondary-color) !important;
}
footer {
background-color: var(--neutral-color) !important;
border-top: 1px solid #eee;
}
.btn-primary {
background-color: var(--primary-color);
border-color: var(--primary-color);
}
.btn-primary:hover {
background-color: #00382e;
border-color: #00382e;
}
.btn-secondary {
background-color: var(--secondary-color);
border-color: var(--secondary-color);
color: #333;
}
.btn-secondary:hover {
background-color: #e6ac00;
border-color: #e6ac00;
}

View File

@ -1,68 +1,21 @@
:root {
--primary-color: #004d40;
--secondary-color: #FFC107;
--neutral-color: #FDFBF6;
--text-color: #333333;
--bg-color-start: #6a11cb;
--bg-color-end: #2575fc;
--text-color: #ffffff;
--card-bg-color: rgba(255, 255, 255, 0.01);
--card-border-color: rgba(255, 255, 255, 0.1);
}
body {
font-family: 'Inter', sans-serif;
background-color: var(--neutral-color);
color: var(--text-color);
display: flex;
flex-direction: column;
min-height: 100vh;
margin: 0;
font-family: 'Inter', sans-serif;
background: linear-gradient(45deg, var(--bg-color-start), var(--bg-color-end));
color: var(--text-color);
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
text-align: center;
overflow: hidden;
position: relative;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'Lora', serif;
color: var(--primary-color);
}
.navbar {
background-color: var(--neutral-color) !important;
border-bottom: 1px solid #eee;
}
.navbar-brand {
font-family: 'Lora', serif;
font-weight: 700;
font-size: 1.5rem;
color: var(--primary-color) !important;
}
.nav-link {
font-weight: 600;
color: var(--primary-color) !important;
}
.nav-link:hover {
color: var(--secondary-color) !important;
}
footer {
background-color: var(--neutral-color) !important;
border-top: 1px solid #eee;
}
.btn-primary {
background-color: var(--primary-color);
border-color: var(--primary-color);
}
.btn-primary:hover {
background-color: #00382e;
border-color: #00382e;
}
.btn-secondary {
background-color: var(--secondary-color);
border-color: var(--secondary-color);
color: #333;
}
.btn-secondary:hover {
background-color: #e6ac00;
border-color: #e6ac00;
}