rezasabir123 commited on
Commit
f65e655
·
verified ·
1 Parent(s): 6f1b925

یک وبسایت درست کن که در آن فرد ابتدا اطلاعات هویتی شامل نام نام خانوادگی سن سال تولد کد ملی را وارد و دیتای زیر را پر کند:

Browse files

1) وضعیت جسمانی و فیزیکی (حداکثر 20 امتیاز)
 قد (10 امتیاز)
 175 تا 185 (3 امتیاز)
 185 تا 195 (6امتیاز)
 بیش از 195 (10 امتیاز)
 شاخص توده بدنی BMI (10 امتیاز)
 16 تا 5/18 (5 امتیاز)
 5/18 تا25 (10 امتیاز)
 25 تا 30 (5 امتیاز)
 35 تا 40 (3امتیاز)

2) سابقه ورزشی (حداکثر 10 امتیاز)
 مقام جهانی و آسیایی (۱۰ امتیاز)
 مقام کشوری (۷ امتیاز و بیش از 2 مقام در مجموع 10 امتیاز)
 مقام استانی (3 امتیاز و بیش از 2 مقام در مجموع 5 امتیاز)

3) سابقه بسیج و ایثارگری (حداکثر 5 امتیاز)
به ازای هر 2 سال یک امتیاز

4) گواهی‌نامه‌های رانندگی و مهارت (حداکثر 5 امتیاز)
 گواهی‌نامه رانندگی موتور یا ماشین (۳ امتیاز)
 گواهی مهارت‌های هفت‌گانه ICDL سازمان فنی و حرفه‌ای (5 امتیاز)
 گواهی پایان دوره نصب و راه اندازی دوربین مداربسته (5 امتیاز)
 گواهی پایان دوره کاربری سیستم مداربسته و مانیتورینگ (۵ امتیاز)

5) تسلط به زبان خارجی (حداکثر 10 امتیاز)
 داشتن گواهی‌ پایان دوره زبان خارجی از مراکز معتبر



6) سابقه کار مشابه (حداکثر 20 امتیاز)
 هر سال کار در زمینه حفاظت فیزیکی با ارائه مستندات و گواهی کارکرد (5 امتیاز)

7) حمایت از خانواده و جوانی جمعیت (حداکثر 10 امتیاز)
 متاهل بودن (2 امتیاز)
 داشتن یک فرزند (۳ امتیاز)
 داشتن دو فرزند به بالا (۵ امتیاز)

البته خود کاربر امتیاز را نبیند و سپس پس از تایید فرم ثبت شود. همچنین در پنل ادمین کلیه اطلاعات ثبت شده با مجموع امتیازات قابل مشاهده باشد.
طراحی بروز و رسمی باشد.

Files changed (7) hide show
  1. README.md +7 -4
  2. admin.html +118 -0
  3. components/footer.js +37 -0
  4. components/navbar.js +65 -0
  5. index.html +165 -19
  6. script.js +49 -0
  7. style.css +32 -19
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Guardian Score Evaluator
3
- emoji: 🐨
4
- colorFrom: indigo
5
  colorTo: pink
 
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: Guardian Score Evaluator 🛡️
3
+ colorFrom: red
 
4
  colorTo: pink
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://huggingface.co/deepsite).
admin.html ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="fa" dir="rtl">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>پنل مدیریت - Guardian Score Evaluator</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script>
12
+ tailwind.config = {
13
+ theme: {
14
+ extend: {
15
+ colors: {
16
+ primary: '#1e40af',
17
+ secondary: '#1e3a8a',
18
+ }
19
+ }
20
+ }
21
+ }
22
+ </script>
23
+ </head>
24
+ <body class="bg-gray-50">
25
+ <custom-navbar></custom-navbar>
26
+
27
+ <main class="container mx-auto px-4 py-8">
28
+ <div class="mb-6 flex justify-between items-center">
29
+ <h1 class="text-2xl font-bold text-primary">پنل مدیریت ارزیابی‌ها</h1>
30
+ <div class="flex space-x-2">
31
+ <button class="bg-primary hover:bg-secondary text-white px-4 py-2 rounded-lg flex items-center">
32
+ <i data-feather="download" class="ml-1"></i>
33
+ خروجی Excel
34
+ </button>
35
+ <button class="bg-green-600 hover:bg-green-700 text-white px-4 py-2 rounded-lg flex items-center">
36
+ <i data-feather="refresh-cw" class="ml-1"></i>
37
+ بروزرسانی
38
+ </button>
39
+ </div>
40
+ </div>
41
+
42
+ <div class="bg-white rounded-xl shadow-md overflow-hidden">
43
+ <div class="overflow-x-auto">
44
+ <table class="min-w-full divide-y divide-gray-200">
45
+ <thead class="bg-gray-50">
46
+ <tr>
47
+ <th scope="col" class="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">نام و نام خانوادگی</th>
48
+ <th scope="col" class="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">کد ملی</th>
49
+ <th scope="col" class="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">وضعیت جسمانی</th>
50
+ <th scope="col" class="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">سابقه ورزشی</th>
51
+ <th scope="col" class="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">سابقه کار</th>
52
+ <th scope="col" class="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">امتیاز کل</th>
53
+ <th scope="col" class="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">عملیات</th>
54
+ </tr>
55
+ </thead>
56
+ <tbody class="bg-white divide-y divide-gray-200">
57
+ <tr>
58
+ <td class="px-6 py-4 whitespace-nowrap">محمد احمدی</td>
59
+ <td class="px-6 py-4 whitespace-nowrap">1234567890</td>
60
+ <td class="px-6 py-4 whitespace-nowrap">16/20</td>
61
+ <td class="px-6 py-4 whitespace-nowrap">7/10</td>
62
+ <td class="px-6 py-4 whitespace-nowrap">15/20</td>
63
+ <td class="px-6 py-4 whitespace-nowrap font-bold text-primary">68/80</td>
64
+ <td class="px-6 py-4 whitespace-nowrap">
65
+ <button class="text-blue-600 hover:text-blue-900 mr-3">
66
+ <i data-feather="eye"></i>
67
+ </button>
68
+ <button class="text-green-600 hover:text-green-900">
69
+ <i data-feather="download"></i>
70
+ </button>
71
+ </td>
72
+ </tr>
73
+ <!-- More rows would be dynamically generated in a real app -->
74
+ </tbody>
75
+ </table>
76
+ </div>
77
+ <div class="bg-gray-50 px-6 py-4 flex items-center justify-between border-t border-gray-200">
78
+ <div class="flex-1 flex justify-between sm:hidden">
79
+ <a href="#" class="relative inline-flex items-center px-4 py-2 border border-gray-300 text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50"> قبلی </a>
80
+ <a href="#" class="ml-3 relative inline-flex items-center px-4 py-2 border border-gray-300 text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50"> بعدی </a>
81
+ </div>
82
+ <div class="hidden sm:flex-1 sm:flex sm:items-center sm:justify-between">
83
+ <div>
84
+ <p class="text-sm text-gray-700">
85
+ نمایش
86
+ <span class="font-medium">1</span>
87
+ تا
88
+ <span class="font-medium">10</span>
89
+ از
90
+ <span class="font-medium">24</span>
91
+ نتیجه
92
+ </p>
93
+ </div>
94
+ <div>
95
+ <nav class="relative z-0 inline-flex rounded-md shadow-sm -space-x-px" aria-label="Pagination">
96
+ <a href="#" class="relative inline-flex items-center px-2 py-2 rounded-r-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
97
+ <i data-feather="chevron-right"></i>
98
+ </a>
99
+ <a href="#" aria-current="page" class="z-10 bg-primary border-primary text-white relative inline-flex items-center px-4 py-2 border text-sm font-medium"> 1 </a>
100
+ <a href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium"> 2 </a>
101
+ <a href="#" class="relative inline-flex items-center px-2 py-2 rounded-l-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
102
+ <i data-feather="chevron-left"></i>
103
+ </a>
104
+ </nav>
105
+ </div>
106
+ </div>
107
+ </div>
108
+ </div>
109
+ </main>
110
+
111
+ <custom-footer></custom-footer>
112
+
113
+ <script src="components/navbar.js"></script>
114
+ <script src="components/footer.js"></script>
115
+ <script src="script.js"></script>
116
+ <script>feather.replace();</script>
117
+ </body>
118
+ </html>
components/footer.js ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomFooter extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ footer {
7
+ background: #111827;
8
+ color: white;
9
+ padding: 2rem;
10
+ text-align: center;
11
+ margin-top: 3rem;
12
+ }
13
+ .footer-content {
14
+ max-width: 1200px;
15
+ margin: 0 auto;
16
+ }
17
+ .copyright {
18
+ margin-top: 1rem;
19
+ font-size: 0.9rem;
20
+ opacity: 0.8;
21
+ }
22
+ @media (max-width: 768px) {
23
+ footer {
24
+ padding: 1.5rem;
25
+ }
26
+ }
27
+ </style>
28
+ <footer>
29
+ <div class="footer-content">
30
+ <p>سیستم ارزیابی و سنجش امتیازات حفاظتی</p>
31
+ <p class="copyright">تمامی حقوق محفوظ است © ۱۴۰۲</p>
32
+ </div>
33
+ </footer>
34
+ `;
35
+ }
36
+ }
37
+ customElements.define('custom-footer', CustomFooter);
components/navbar.js ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomNavbar extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ nav {
7
+ background: linear-gradient(135deg, #1e40af 0%, #1e3a8a 100%);
8
+ padding: 1rem 2rem;
9
+ display: flex;
10
+ justify-content: space-between;
11
+ align-items: center;
12
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
13
+ }
14
+ .logo {
15
+ color: white;
16
+ font-weight: bold;
17
+ font-size: 1.25rem;
18
+ display: flex;
19
+ align-items: center;
20
+ }
21
+ .logo i {
22
+ margin-left: 0.5rem;
23
+ }
24
+ ul {
25
+ display: flex;
26
+ gap: 1.5rem;
27
+ list-style: none;
28
+ margin: 0;
29
+ padding: 0;
30
+ }
31
+ a {
32
+ color: white;
33
+ text-decoration: none;
34
+ transition: opacity 0.2s;
35
+ font-size: 0.95rem;
36
+ }
37
+ a:hover {
38
+ opacity: 0.8;
39
+ }
40
+ @media (max-width: 768px) {
41
+ nav {
42
+ flex-direction: column;
43
+ padding: 1rem;
44
+ }
45
+ ul {
46
+ margin-top: 1rem;
47
+ flex-wrap: wrap;
48
+ justify-content: center;
49
+ }
50
+ }
51
+ </style>
52
+ <nav>
53
+ <div class="logo">
54
+ <i data-feather="shield"></i>
55
+ <span>سیستم ارزیابی حفاظتی</span>
56
+ </div>
57
+ <ul>
58
+ <li><a href="/">صفحه اصلی</a></li>
59
+ <li><a href="/admin.html">پنل مدیریت</a></li>
60
+ </ul>
61
+ </nav>
62
+ `;
63
+ }
64
+ }
65
+ customElements.define('custom-navbar', CustomNavbar);
index.html CHANGED
@@ -1,19 +1,165 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="fa" dir="rtl">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Guardian Score Evaluator</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script>
12
+ tailwind.config = {
13
+ theme: {
14
+ extend: {
15
+ colors: {
16
+ primary: '#1e40af',
17
+ secondary: '#1e3a8a',
18
+ }
19
+ }
20
+ }
21
+ }
22
+ </script>
23
+ </head>
24
+ <body class="bg-gray-50">
25
+ <custom-navbar></custom-navbar>
26
+
27
+ <main class="container mx-auto px-4 py-8">
28
+ <div class="max-w-3xl mx-auto bg-white rounded-xl shadow-md overflow-hidden">
29
+ <div class="p-8">
30
+ <h1 class="text-3xl font-bold text-primary mb-6">فرم ارزیابی امتیازات حفاظتی</h1>
31
+
32
+ <form id="evaluationForm" class="space-y-6">
33
+ <section class="border-b pb-6">
34
+ <h2 class="text-xl font-semibold text-gray-800 mb-4">اطلاعات هویتی</h2>
35
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
36
+ <div>
37
+ <label for="firstName" class="block text-sm font-medium text-gray-700">نام</label>
38
+ <input type="text" id="firstName" required class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-primary focus:border-primary">
39
+ </div>
40
+ <div>
41
+ <label for="lastName" class="block text-sm font-medium text-gray-700">نام خانوادگی</label>
42
+ <input type="text" id="lastName" required class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-primary focus:border-primary">
43
+ </div>
44
+ <div>
45
+ <label for="birthYear" class="block text-sm font-medium text-gray-700">سال تولد</label>
46
+ <input type="number" id="birthYear" required class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-primary focus:border-primary">
47
+ </div>
48
+ <div>
49
+ <label for="nationalId" class="block text-sm font-medium text-gray-700">کد ملی</label>
50
+ <input type="text" id="nationalId" required class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-primary focus:border-primary">
51
+ </div>
52
+ </div>
53
+ </section>
54
+
55
+ <section class="border-b pb-6">
56
+ <h2 class="text-xl font-semibold text-gray-800 mb-4">وضعیت جسمانی و فیزیکی (حداکثر 20 امتیاز)</h2>
57
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-4">
58
+ <div>
59
+ <label for="height" class="block text-sm font-medium text-gray-700">قد (سانتیمتر)</label>
60
+ <input type="number" id="height" required class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-primary focus:border-primary">
61
+ </div>
62
+ <div>
63
+ <label for="weight" class="block text-sm font-medium text-gray-700">وزن (کیلوگرم)</label>
64
+ <input type="number" id="weight" required class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-primary focus:border-primary">
65
+ </div>
66
+ </div>
67
+ </section>
68
+
69
+ <section class="border-b pb-6">
70
+ <h2 class="text-xl font-semibold text-gray-800 mb-4">سابقه ورزشی (حداکثر 10 امتیاز)</h2>
71
+ <div class="space-y-4">
72
+ <div>
73
+ <label class="block text-sm font-medium text-gray-700">مقام جهانی/آسیایی</label>
74
+ <input type="number" placeholder="تعداد" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-primary focus:border-primary">
75
+ </div>
76
+ <div>
77
+ <label class="block text-sm font-medium text-gray-700">مقام کشوری</label>
78
+ <input type="number" placeholder="تعداد" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-primary focus:border-primary">
79
+ </div>
80
+ <div>
81
+ <label class="block text-sm font-medium text-gray-700">مقام استانی</label>
82
+ <input type="number" placeholder="تعداد" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-primary focus:border-primary">
83
+ </div>
84
+ </div>
85
+ </section>
86
+
87
+ <section class="border-b pb-6">
88
+ <h2 class="text-xl font-semibold text-gray-800 mb-4">سابقه بسیج و ایثارگری (حداکثر 5 امتیاز)</h2>
89
+ <div>
90
+ <label for="basijYears" class="block text-sm font-medium text-gray-700">تعداد سال‌های فعالیت</label>
91
+ <input type="number" id="basijYears" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-primary focus:border-primary">
92
+ </div>
93
+ </section>
94
+
95
+ <section class="border-b pb-6">
96
+ <h2 class="text-xl font-semibold text-gray-800 mb-4">گواهی‌نامه‌ها (حداکثر 5 امتیاز)</h2>
97
+ <div class="space-y-3">
98
+ <div class="flex items-center">
99
+ <input id="drivingLicense" name="certificates" type="checkbox" class="h-4 w-4 text-primary focus:ring-primary border-gray-300 rounded">
100
+ <label for="drivingLicense" class="mr-2 block text-sm text-gray-700">گواهی‌نامه رانندگی</label>
101
+ </div>
102
+ <div class="flex items-center">
103
+ <input id="icdl" name="certificates" type="checkbox" class="h-4 w-4 text-primary focus:ring-primary border-gray-300 rounded">
104
+ <label for="icdl" class="mr-2 block text-sm text-gray-700">گواهی ICDL</label>
105
+ </div>
106
+ <div class="flex items-center">
107
+ <input id="cctvInstallation" name="certificates" type="checkbox" class="h-4 w-4 text-primary focus:ring-primary border-gray-300 rounded">
108
+ <label for="cctvInstallation" class="mr-2 block text-sm text-gray-700">نصب دوربین مداربسته</label>
109
+ </div>
110
+ <div class="flex items-center">
111
+ <input id="cctvMonitoring" name="certificates" type="checkbox" class="h-4 w-4 text-primary focus:ring-primary border-gray-300 rounded">
112
+ <label for="cctvMonitoring" class="mr-2 block text-sm text-gray-700">کاربری سیستم مداربسته</label>
113
+ </div>
114
+ </div>
115
+ </section>
116
+
117
+ <section class="border-b pb-6">
118
+ <h2 class="text-xl font-semibold text-gray-800 mb-4">تسلط به زبان خارجی (حداکثر 10 امتیاز)</h2>
119
+ <div>
120
+ <label for="languageCertificate" class="block text-sm font-medium text-gray-700">گواهی زبان معتبر</label>
121
+ <input type="text" id="languageCertificate" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-primary focus:border-primary">
122
+ </div>
123
+ </section>
124
+
125
+ <section class="border-b pb-6">
126
+ <h2 class="text-xl font-semibold text-gray-800 mb-4">سابقه کار مشابه (حداکثر 20 امتیاز)</h2>
127
+ <div>
128
+ <label for="workExperience" class="block text-sm font-medium text-gray-700">تعداد سال‌های تجربه</label>
129
+ <input type="number" id="workExperience" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-primary focus:border-primary">
130
+ </div>
131
+ </section>
132
+
133
+ <section class="border-b pb-6">
134
+ <h2 class="text-xl font-semibold text-gray-800 mb-4">وضعیت خانوادگی (حداکثر 10 امتیاز)</h2>
135
+ <div class="space-y-3">
136
+ <div class="flex items-center">
137
+ <input id="married" name="maritalStatus" type="checkbox" class="h-4 w-4 text-primary focus:ring-primary border-gray-300 rounded">
138
+ <label for="married" class="mr-2 block text-sm text-gray-700">متأهل</label>
139
+ </div>
140
+ <div>
141
+ <label for="childrenCount" class="block text-sm font-medium text-gray-700">تعداد فرزندان</label>
142
+ <input type="number" id="childrenCount" class="mt-1 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-primary focus:border-primary">
143
+ </div>
144
+ </div>
145
+ </section>
146
+
147
+ <div class="flex justify-end">
148
+ <button type="submit" class="bg-primary hover:bg-secondary text-white font-bold py-2 px-6 rounded-lg transition duration-200">
149
+ ثبت نهایی اطلاعات
150
+ </button>
151
+ </div>
152
+ </form>
153
+ </div>
154
+ </div>
155
+ </main>
156
+
157
+ <custom-footer></custom-footer>
158
+
159
+ <script src="components/navbar.js"></script>
160
+ <script src="components/footer.js"></script>
161
+ <script src="script.js"></script>
162
+ <script>feather.replace();</script>
163
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
164
+ </body>
165
+ </html>
script.js ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ document.getElementById('evaluationForm').addEventListener('submit', function(e) {
2
+ e.preventDefault();
3
+
4
+ // Collect all form data
5
+ const formData = {
6
+ personalInfo: {
7
+ firstName: document.getElementById('firstName').value,
8
+ lastName: document.getElementById('lastName').value,
9
+ birthYear: document.getElementById('birthYear').value,
10
+ nationalId: document.getElementById('nationalId').value
11
+ },
12
+ physicalInfo: {
13
+ height: document.getElementById('height').value,
14
+ weight: document.getElementById('weight').value
15
+ },
16
+ // ... collect other form data similarly
17
+ };
18
+
19
+ // Calculate score (this would be done server-side in a real app)
20
+ let score = 0;
21
+
22
+ // Height score
23
+ const height = parseInt(formData.physicalInfo.height);
24
+ if (height >= 175 && height < 185) score += 3;
25
+ else if (height >= 185 && height < 195) score += 6;
26
+ else if (height >= 195) score += 10;
27
+
28
+ // BMI score (sample calculation)
29
+ const weight = parseInt(formData.physicalInfo.weight);
30
+ if (height && weight) {
31
+ const bmi = weight / Math.pow(height/100, 2);
32
+ if (bmi >= 16 && bmi < 18.5) score += 5;
33
+ else if (bmi >= 18.5 && bmi < 25) score += 10;
34
+ else if (bmi >= 25 && bmi < 30) score += 5;
35
+ else if (bmi >= 35 && bmi < 40) score += 3;
36
+ }
37
+
38
+ // Add other score calculations here...
39
+
40
+ // In a real app, you would send this to the server
41
+ console.log('Form data:', formData);
42
+ console.log('Calculated score:', score);
43
+
44
+ // Show success message
45
+ alert('اطلاعات با موفقیت ثبت شد. امتیاز شما محاسبه و به مدیر سیستم ارسال گردید.');
46
+
47
+ // Reset form
48
+ this.reset();
49
+ });
style.css CHANGED
@@ -1,28 +1,41 @@
 
1
  body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
 
 
 
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
 
 
 
 
 
 
 
 
 
16
  }
17
 
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
28
- }
 
 
 
 
 
1
+ /* Custom styles for RTL support */
2
  body {
3
+ font-family: 'Yekan', 'Vazir', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
 
4
  }
5
 
6
+ /* Form input styling */
7
+ input[type="text"],
8
+ input[type="number"],
9
+ input[type="checkbox"],
10
+ select {
11
+ font-family: inherit;
12
  }
13
 
14
+ /* Custom checkbox */
15
+ input[type="checkbox"] {
16
+ -webkit-appearance: none;
17
+ -moz-appearance: none;
18
+ appearance: none;
19
+ display: inline-block;
20
+ width: 18px;
21
+ height: 18px;
22
+ padding: 2px;
23
+ background-clip: content-box;
24
+ border: 1px solid #d1d5db;
25
+ border-radius: 4px;
26
+ background-color: #fff;
27
+ margin-left: 5px;
28
  }
29
 
30
+ input[type="checkbox"]:checked {
31
+ background-color: #1e40af;
32
+ border-color: #1e40af;
 
 
 
33
  }
34
 
35
+ /* Responsive adjustments */
36
+ @media (max-width: 768px) {
37
+ .container {
38
+ padding-left: 1rem;
39
+ padding-right: 1rem;
40
+ }
41
+ }