HH/templates/layouts/public_base.html

156 lines
4.8 KiB
HTML

{% load i18n %}
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
<!DOCTYPE html>
<html lang="{{ LANGUAGE_CODE }}" dir="{% if LANGUAGE_CODE == 'ar' %}rtl{% else %}ltr{% endif %}">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>{% block title %}{% trans "PX360 - Patient Experience Management" %}{% endblock %}</title>
<!-- Bootstrap 5 CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Bootstrap Icons -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.0/font/bootstrap-icons.css">
<!-- Font Awesome -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
}
/* RTL Support */
[dir="rtl"] .lang-flag {
margin-right: 0;
margin-left: 8px;
}
[dir="rtl"] .lang-switcher {
flex-direction: row-reverse;
}
.public-header {
background: white;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
padding: 1rem 0;
}
.public-content {
background: white;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
margin-top: 2rem;
margin-bottom: 2rem;
}
.public-footer {
background: rgba(255,255,255,0.9);
padding: 2rem 0;
margin-top: 2rem;
}
/* Language Switcher Styles */
.lang-switcher {
display: flex;
gap: 10px;
align-items: center;
}
.lang-btn {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 16px;
border: 2px solid #667eea;
background: white;
color: #667eea;
border-radius: 20px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s ease;
text-decoration: none;
}
.lang-btn:hover {
background: #667eea;
color: white;
transform: translateY(-2px);
box-shadow: 0 4px 8px rgba(102, 126, 234, 0.3);
}
.lang-btn.active {
background: #667eea;
color: white;
}
.lang-flag {
font-size: 18px;
}
.lang-name {
font-weight: 600;
}
</style>
{% block extra_css %}{% endblock %}
</head>
<body>
<!-- Header -->
<header class="public-header">
<div class="container">
<div class="d-flex align-items-center justify-content-between">
<div class="d-flex align-items-center">
<h3 class="mb-0">
<i class="fas fa-heartbeat text-primary"></i> PX360
</h3>
</div>
<!-- Language Switcher -->
<div class="lang-switcher">
{% for lang_code, lang_name in LANGUAGES %}
<a href="{% url 'core:set_language' %}?language={{ lang_code }}"
class="lang-btn {% if LANGUAGE_CODE == lang_code %}active{% endif %}">
<span class="lang-flag">
{% if lang_code == 'en' %}🇬🇧{% elif lang_code == 'ar' %}🇸🇦{% endif %}
</span>
<span class="lang-name">{{ lang_name }}</span>
</a>
{% endfor %}
</div>
</div>
</div>
</header>
<!-- Main Content -->
<main>
<div class="container">
{% block content %}{% endblock %}
</div>
</main>
<!-- Footer -->
{% comment %} <footer class="public-footer">
<div class="container text-center">
<p class="mb-0 text-muted">
&copy; {% now "Y" %} PX360. {% trans "All rights reserved." %}
</p>
</div>
</footer> {% endcomment %}
<!-- jQuery -->
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<!-- Bootstrap 5 JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
{% block extra_js %}{% endblock %}
</body>
</html>