EGYADMIN commited on
Commit
212bdf4
·
verified ·
1 Parent(s): f816647

Update utils/components/credits.py

Browse files
Files changed (1) hide show
  1. utils/components/credits.py +104 -104
utils/components/credits.py CHANGED
@@ -1,105 +1,105 @@
1
- """
2
- مكون عرض معلومات فريق التطوير
3
- """
4
-
5
- import streamlit as st
6
-
7
-
8
- def display_credits():
9
- """
10
- عرض معلومات فريق التطوير
11
- """
12
- # تعريف بيانات الفريق
13
- team_members = [
14
- {
15
- "name": "م بدر وهبي",
16
- "role": "مدير المشروع",
17
- "image": "badr.jpg",
18
- "bio": "مهندس برمجيات ذو خبرة 15 عامًا في تطوير أنظمة المقاولات والتسعير"
19
- },
20
- {
21
- "name": "م تامر الجوهري",
22
- "role": "مهندسة الذكاء الاصطناعي",
23
- "image": "tamer.jpg",
24
- "bio": "متخصصة في معالجة اللغة العربية الطبيعية وتحليل البيانات"
25
- },
26
- {
27
- "name": "م اسلام عيسي",
28
- "role": "أخصائي تطوير التسعير",
29
- "image": "Islam.jpg",
30
- "bio": "خبير في أنظمة التسعير المتقدمة والتحليل المالي للمشاريع"
31
- }
32
- ]
33
-
34
- # عرض معلومات الفريق في صفوف
35
- # كل صف يحتوي على 3 أعضاء
36
- cols_per_row = 3
37
-
38
- for i in range(0, len(team_members), cols_per_row):
39
- # إنشاء الأعمدة
40
- cols = st.columns(cols_per_row)
41
-
42
- # عرض الأعضاء في هذا الصف
43
- for j in range(cols_per_row):
44
- idx = i + j
45
- if idx < len(team_members):
46
- member = team_members[idx]
47
-
48
- with cols[j]:
49
- # عرض صورة العضو (استخدام صورة افتراضية إذا لم تكن متوفرة)
50
- try:
51
- st.image(f"static/images/team/{member['image']}", width=150)
52
- except:
53
- # استخدام الأحرف الأولى من الاسم كصورة افتراضية
54
- initials = ''.join([name[0] for name in member['name'].split() if name.startswith('م.') == False])
55
- st.markdown(f"""
56
- <div class="avatar">
57
- <span>{initials}</span>
58
- </div>
59
- """, unsafe_allow_html=True)
60
-
61
- # عرض معلومات العضو
62
- st.markdown(f"""
63
- <div class="team-member">
64
- <h3>{member['name']}</h3>
65
- <h4>{member['role']}</h4>
66
- <p>{member['bio']}</p>
67
- </div>
68
- """, unsafe_allow_html=True)
69
-
70
- # إضافة أسلوب CSS للعرض
71
- st.markdown("""
72
- <style>
73
- .team-member {
74
- text-align: center;
75
- margin-bottom: 20px;
76
- }
77
- .team-member h3 {
78
- color: #333;
79
- margin-bottom: 5px;
80
- font-size: 18px;
81
- }
82
- .team-member h4 {
83
- color: #ff9a3c;
84
- margin-top: 0;
85
- margin-bottom: 10px;
86
- font-size: 14px;
87
- }
88
- .team-member p {
89
- color: #666;
90
- font-size: 12px;
91
- }
92
- .avatar {
93
- background-color: #ff9a3c;
94
- color: white;
95
- width: 100px;
96
- height: 100px;
97
- border-radius: 50%;
98
- display: flex;
99
- justify-content: center;
100
- align-items: center;
101
- margin: 0 auto 15px auto;
102
- font-size: 36px;
103
- }
104
- </style>
105
  """, unsafe_allow_html=True)
 
1
+ """
2
+ مكون عرض معلومات فريق التطوير
3
+ """
4
+
5
+ import streamlit as st
6
+
7
+
8
+ def display_credits():
9
+ """
10
+ عرض معلومات فريق التطوير
11
+ """
12
+ # تعريف بيانات الفريق
13
+ team_members = [
14
+ {
15
+ "name": "م بدر وهبي",
16
+ "role": "مدير المشروع",
17
+ "image": "badr.jpg",
18
+ "bio": " مدير تطوير اعمال و عضو مجلس اداره ورئيس قسم تكنولوجياالمعلومات "
19
+ },
20
+ {
21
+ "name": "م تامر الجوهري",
22
+ "role": "مهندس الذكاء الاصطناعي",
23
+ "image": "tamer.jpg",
24
+ "bio": " متخصص في معالجة اللغة العربية الطبيعية وتحليل البيانات - مدير تقنية المعومات لفرع المنطقة الشمالية"
25
+ },
26
+ {
27
+ "name": "م اسلام عيسي",
28
+ "role": "أخصائي تطوير التسعير",
29
+ "image": "Islam.jpg",
30
+ "bio": "مدير المكتب الفني فرع القصيم و خبير في أنظمة التسعير المتقدمة والتحليل المالي للمشاريع"
31
+ }
32
+ ]
33
+
34
+ # عرض معلومات الفريق في صفوف
35
+ # كل صف يحتوي على 3 أعضاء
36
+ cols_per_row = 3
37
+
38
+ for i in range(0, len(team_members), cols_per_row):
39
+ # إنشاء الأعمدة
40
+ cols = st.columns(cols_per_row)
41
+
42
+ # عرض الأعضاء في هذا الصف
43
+ for j in range(cols_per_row):
44
+ idx = i + j
45
+ if idx < len(team_members):
46
+ member = team_members[idx]
47
+
48
+ with cols[j]:
49
+ # عرض صورة العضو (استخدام صورة افتراضية إذا لم تكن متوفرة)
50
+ try:
51
+ st.image(f"static/images/team/{member['image']}", width=150)
52
+ except:
53
+ # استخدام الأحرف الأولى من الاسم كصورة افتراضية
54
+ initials = ''.join([name[0] for name in member['name'].split() if name.startswith('م.') == False])
55
+ st.markdown(f"""
56
+ <div class="avatar">
57
+ <span>{initials}</span>
58
+ </div>
59
+ """, unsafe_allow_html=True)
60
+
61
+ # عرض معلومات العضو
62
+ st.markdown(f"""
63
+ <div class="team-member">
64
+ <h3>{member['name']}</h3>
65
+ <h4>{member['role']}</h4>
66
+ <p>{member['bio']}</p>
67
+ </div>
68
+ """, unsafe_allow_html=True)
69
+
70
+ # إضافة أسلوب CSS للعرض
71
+ st.markdown("""
72
+ <style>
73
+ .team-member {
74
+ text-align: center;
75
+ margin-bottom: 20px;
76
+ }
77
+ .team-member h3 {
78
+ color: #333;
79
+ margin-bottom: 5px;
80
+ font-size: 18px;
81
+ }
82
+ .team-member h4 {
83
+ color: #ff9a3c;
84
+ margin-top: 0;
85
+ margin-bottom: 10px;
86
+ font-size: 14px;
87
+ }
88
+ .team-member p {
89
+ color: #666;
90
+ font-size: 12px;
91
+ }
92
+ .avatar {
93
+ background-color: #ff9a3c;
94
+ color: white;
95
+ width: 100px;
96
+ height: 100px;
97
+ border-radius: 50%;
98
+ display: flex;
99
+ justify-content: center;
100
+ align-items: center;
101
+ margin: 0 auto 15px auto;
102
+ font-size: 36px;
103
+ }
104
+ </style>
105
  """, unsafe_allow_html=True)