403 404 500 templates
This commit is contained in:
@@ -0,0 +1,183 @@
|
|||||||
|
{% load static %}
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fa" dir="rtl">
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" type="text/css" href="{% static 'override.css' %}" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="{% static 'fonts.css' %}" />
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>403 - دسترسی ممنوع</title>
|
||||||
|
<style>
|
||||||
|
:root {
|
||||||
|
--color-base-50: 250 250 250;
|
||||||
|
--color-base-100: 244 244 245;
|
||||||
|
--color-base-200: 228 228 231;
|
||||||
|
--color-base-300: 212 212 216;
|
||||||
|
--color-base-400: 161 161 170;
|
||||||
|
--color-base-500: 113 113 122;
|
||||||
|
--color-base-600: 82 82 91;
|
||||||
|
--color-base-700: 63 63 70;
|
||||||
|
--color-base-800: 39 39 42;
|
||||||
|
--color-base-900: 24 24 27;
|
||||||
|
--color-base-950: 9 9 11;
|
||||||
|
|
||||||
|
--color-primary-50: 239 246 255;
|
||||||
|
--color-primary-100: 219 234 254;
|
||||||
|
--color-primary-200: 191 219 254;
|
||||||
|
--color-primary-300: 147 197 253;
|
||||||
|
--color-primary-400: 96 165 250;
|
||||||
|
--color-primary-500: 59 130 246;
|
||||||
|
--color-primary-600: 37 99 235;
|
||||||
|
--color-primary-700: 29 78 216;
|
||||||
|
--color-primary-800: 30 64 175;
|
||||||
|
--color-primary-900: 30 58 138;
|
||||||
|
--color-primary-950: 23 37 84;
|
||||||
|
|
||||||
|
--font-subtle-dark: rgb(var(--color-base-400));
|
||||||
|
--font-default-dark: rgb(var(--color-base-300));
|
||||||
|
--font-important-dark: rgb(var(--color-base-100));
|
||||||
|
--font-subtle-light: var(--color-base-500);
|
||||||
|
--font-default-light: var(--color-base-600);
|
||||||
|
--font-important-light: var(--color-base-900);
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
|
||||||
|
color: var(--font-default-light);
|
||||||
|
min-height: 100vh;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 32rem;
|
||||||
|
padding: 2rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-code {
|
||||||
|
font-size: 6rem;
|
||||||
|
font-weight: 700;
|
||||||
|
color: rgb(var(--color-primary-500));
|
||||||
|
line-height: 1;
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-title {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--font-important-light);
|
||||||
|
margin-bottom: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-message {
|
||||||
|
font-size: 0.875rem;
|
||||||
|
color: var(--font-default-light);
|
||||||
|
line-height: 1.5;
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actions {
|
||||||
|
display: flex;
|
||||||
|
gap: 0.75rem;
|
||||||
|
justify-content: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
font-weight: 500;
|
||||||
|
border-radius: 0.375rem;
|
||||||
|
text-decoration: none;
|
||||||
|
transition: all 0.15s ease-in-out;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary {
|
||||||
|
background: rgb(var(--color-primary-600));
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary:hover {
|
||||||
|
background: rgb(var(--color-primary-500));
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-secondary {
|
||||||
|
background: transparent;
|
||||||
|
color: var(--font-default-light);
|
||||||
|
border-color: rgb(var(--color-base-700));
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-secondary:hover {
|
||||||
|
background: rgb(var(--color-base-300));
|
||||||
|
border-color: rgb(var(--color-base-600));
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 640px) {
|
||||||
|
.container {
|
||||||
|
padding: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-code {
|
||||||
|
font-size: 4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-title {
|
||||||
|
font-size: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actions {
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 12rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Simple fade-in animation */
|
||||||
|
.container {
|
||||||
|
animation: fadeIn 0.5s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fadeIn {
|
||||||
|
from {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(1rem);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<div class="error-code">403</div>
|
||||||
|
<h1 class="error-title">دسترسی ممنوع</h1>
|
||||||
|
<p class="error-message">
|
||||||
|
شما مجاز به مشاهده این صفحه نیستید.<br>
|
||||||
|
لطفاً با مدیر سیستم تماس بگیرید یا به صفحه اصلی بازگردید.
|
||||||
|
</p>
|
||||||
|
<div class="actions">
|
||||||
|
<a href="/admin" class="btn btn-primary">بازگشت به خانه</a>
|
||||||
|
<a href="javascript:history.back()" class="btn btn-secondary">صفحه قبل</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,185 @@
|
|||||||
|
{% load static %}
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fa" dir="rtl">
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" type="text/css" href="{% static 'override.css' %}" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="{% static 'fonts.css' %}" />
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>404 - صفحه یافت نشد</title>
|
||||||
|
<style>
|
||||||
|
:root {
|
||||||
|
--color-base-50: 250 250 250;
|
||||||
|
--color-base-100: 244 244 245;
|
||||||
|
--color-base-200: 228 228 231;
|
||||||
|
--color-base-300: 212 212 216;
|
||||||
|
--color-base-400: 161 161 170;
|
||||||
|
--color-base-500: 113 113 122;
|
||||||
|
--color-base-600: 82 82 91;
|
||||||
|
--color-base-700: 63 63 70;
|
||||||
|
--color-base-800: 39 39 42;
|
||||||
|
--color-base-900: 24 24 27;
|
||||||
|
--color-base-950: 9 9 11;
|
||||||
|
|
||||||
|
--color-primary-50: 239 246 255;
|
||||||
|
--color-primary-100: 219 234 254;
|
||||||
|
--color-primary-200: 191 219 254;
|
||||||
|
--color-primary-300: 147 197 253;
|
||||||
|
--color-primary-400: 96 165 250;
|
||||||
|
--color-primary-500: 59 130 246;
|
||||||
|
--color-primary-600: 37 99 235;
|
||||||
|
--color-primary-700: 29 78 216;
|
||||||
|
--color-primary-800: 30 64 175;
|
||||||
|
--color-primary-900: 30 58 138;
|
||||||
|
--color-primary-950: 23 37 84;
|
||||||
|
|
||||||
|
--font-subtle-light: var(--color-base-500);
|
||||||
|
--font-subtle-dark: rgb(var(--color-base-400));
|
||||||
|
--font-default-light: var(--color-base-600);
|
||||||
|
--font-default-dark: rgb(var(--color-base-300));
|
||||||
|
--font-important-light: var(--color-base-900);
|
||||||
|
--font-important-dark: rgb(var(--color-base-100));
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
|
||||||
|
background: rgb(var(--color-base-50));
|
||||||
|
color: var(--font-default-light);
|
||||||
|
min-height: 100vh;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 32rem;
|
||||||
|
padding: 2rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-code {
|
||||||
|
font-size: 6rem;
|
||||||
|
font-weight: 700;
|
||||||
|
color: rgb(var(--color-primary-500));
|
||||||
|
line-height: 1;
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-title {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--font-important-light);
|
||||||
|
margin-bottom: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-message {
|
||||||
|
font-size: 0.875rem;
|
||||||
|
color: var(--font-default-light);
|
||||||
|
line-height: 1.5;
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actions {
|
||||||
|
display: flex;
|
||||||
|
gap: 0.75rem;
|
||||||
|
justify-content: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
font-weight: 500;
|
||||||
|
border-radius: 0.375rem;
|
||||||
|
text-decoration: none;
|
||||||
|
transition: all 0.15s ease-in-out;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary {
|
||||||
|
background: rgb(var(--color-primary-600));
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary:hover {
|
||||||
|
background: rgb(var(--color-primary-500));
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-secondary {
|
||||||
|
background: transparent;
|
||||||
|
color: var(--font-default-light);
|
||||||
|
border-color: rgb(var(--color-base-700));
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-secondary:hover {
|
||||||
|
background: rgb(var(--color-base-800));
|
||||||
|
border-color: rgb(var(--color-base-600));
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 640px) {
|
||||||
|
.container {
|
||||||
|
padding: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-code {
|
||||||
|
font-size: 4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-title {
|
||||||
|
font-size: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actions {
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 12rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Simple fade-in animation */
|
||||||
|
.container {
|
||||||
|
animation: fadeIn 0.5s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fadeIn {
|
||||||
|
from {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(1rem);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<div class="error-code">404</div>
|
||||||
|
<h1 class="error-title">صفحه یافت نشد</h1>
|
||||||
|
<p class="error-message">
|
||||||
|
صفحه مورد نظر شما یافت نشد.<br>
|
||||||
|
لطفاً آدرس را بررسی کنید یا به صفحه اصلی بازگردید.
|
||||||
|
</p>
|
||||||
|
<div class="actions">
|
||||||
|
<a href="/admin" class="btn btn-primary">بازگشت به خانه</a>
|
||||||
|
<a href="javascript:history.back()" class="btn btn-secondary">صفحه قبل</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,184 @@
|
|||||||
|
{% load static %}
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fa" dir="rtl">
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" type="text/css" href="{% static 'override.css' %}" />
|
||||||
|
<link rel="stylesheet" type="text/css" href="{% static 'fonts.css' %}" />
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>500 - خطای سرور</title>
|
||||||
|
<style>
|
||||||
|
:root {
|
||||||
|
--color-base-50: 250 250 250;
|
||||||
|
--color-base-100: 244 244 245;
|
||||||
|
--color-base-200: 228 228 231;
|
||||||
|
--color-base-300: 212 212 216;
|
||||||
|
--color-base-400: 161 161 170;
|
||||||
|
--color-base-500: 113 113 122;
|
||||||
|
--color-base-600: 82 82 91;
|
||||||
|
--color-base-700: 63 63 70;
|
||||||
|
--color-base-800: 39 39 42;
|
||||||
|
--color-base-900: 24 24 27;
|
||||||
|
--color-base-950: 9 9 11;
|
||||||
|
|
||||||
|
--color-primary-50: 239 246 255;
|
||||||
|
--color-primary-100: 219 234 254;
|
||||||
|
--color-primary-200: 191 219 254;
|
||||||
|
--color-primary-300: 147 197 253;
|
||||||
|
--color-primary-400: 96 165 250;
|
||||||
|
--color-primary-500: 59 130 246;
|
||||||
|
--color-primary-600: 37 99 235;
|
||||||
|
--color-primary-700: 29 78 216;
|
||||||
|
--color-primary-800: 30 64 175;
|
||||||
|
--color-primary-900: 30 58 138;
|
||||||
|
--color-primary-950: 23 37 84;
|
||||||
|
|
||||||
|
--font-subtle-light: var(--color-base-500);
|
||||||
|
--font-subtle-dark: rgb(var(--color-base-400));
|
||||||
|
--font-default-light: var(--color-base-600);
|
||||||
|
--font-default-dark: rgb(var(--color-base-300));
|
||||||
|
--font-important-light: var(--color-base-900);
|
||||||
|
--font-important-dark: rgb(var(--color-base-100));
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
|
||||||
|
background: rgb(var(--color-base-50));
|
||||||
|
color: var(--font-default-light);
|
||||||
|
min-height: 100vh;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
max-width: 32rem;
|
||||||
|
padding: 2rem;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-code {
|
||||||
|
font-size: 6rem;
|
||||||
|
font-weight: 700;
|
||||||
|
color: rgb(var(--color-primary-500));
|
||||||
|
line-height: 1;
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-title {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--font-important-light);
|
||||||
|
margin-bottom: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-message {
|
||||||
|
font-size: 0.875rem;
|
||||||
|
color: var(--font-default-light);
|
||||||
|
line-height: 1.5;
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actions {
|
||||||
|
display: flex;
|
||||||
|
gap: 0.75rem;
|
||||||
|
justify-content: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
font-weight: 500;
|
||||||
|
border-radius: 0.375rem;
|
||||||
|
text-decoration: none;
|
||||||
|
transition: all 0.15s ease-in-out;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary {
|
||||||
|
background: rgb(var(--color-primary-600));
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary:hover {
|
||||||
|
background: rgb(var(--color-primary-500));
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-secondary {
|
||||||
|
background: transparent;
|
||||||
|
color: var(--font-default-light);
|
||||||
|
border-color: rgb(var(--color-base-700));
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-secondary:hover {
|
||||||
|
background: rgb(var(--color-base-200));
|
||||||
|
border-color: rgb(var(--color-base-400));
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 640px) {
|
||||||
|
.container {
|
||||||
|
padding: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-code {
|
||||||
|
font-size: 4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-title {
|
||||||
|
font-size: 1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actions {
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 12rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Simple fade-in animation */
|
||||||
|
.container {
|
||||||
|
animation: fadeIn 0.5s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fadeIn {
|
||||||
|
from {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(1rem);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<div class="error-code">500</div>
|
||||||
|
<h1 class="error-title">خطای داخلی سرور</h1>
|
||||||
|
<p class="error-message">
|
||||||
|
متأسفانه خطای غیرمنتظرهای رخ داده است.<br>
|
||||||
|
لطفاً چند دقیقه بعد دوباره تلاش کنید یا در صورت تکرار مشکل، با پشتیبانی تماس بگیرید.
|
||||||
|
</p>
|
||||||
|
<div class="actions">
|
||||||
|
<a href="/admin" class="btn btn-primary">بازگشت به خانه</a>
|
||||||
|
<a href="javascript:location.reload()" class="btn btn-secondary">تلاش مجدد</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Reference in New Issue
Block a user