adnaan05 KhaqanNasir commited on
Commit
7c18a25
·
verified ·
1 Parent(s): ebe8505

Update src/about.py (#38)

Browse files

- Update src/about.py (e735eed0798d9d7d344f58e42cd049ffc226abbe)


Co-authored-by: Muhammad Khaqan Nasir <[email protected]>

Files changed (1) hide show
  1. src/about.py +237 -57
src/about.py CHANGED
@@ -1,116 +1,296 @@
1
  import streamlit as st
2
 
3
  def main():
4
- # Custom CSS for About page
5
  st.markdown("""
6
  <style>
7
- @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&display=swap');
 
 
 
 
 
8
 
9
  .stApp {
10
- font-family: 'Poppins', sans-serif;
11
- background: #f8fafc;
12
  min-height: 100vh;
13
- color: #1a202c;
 
 
14
  }
15
 
16
- #MainMenu {visibility: visible;}
17
  footer {visibility: hidden;}
18
  .stDeployButton {display: none;}
19
  header {visibility: hidden;}
20
  .stApp > header {visibility: hidden;}
21
 
22
- .container {
23
- max-width: 1200px;
 
 
24
  margin: 0 auto;
25
- padding: 1.5rem;
26
  }
27
 
28
- .header {
29
- padding: 1.5rem 0;
30
  text-align: center;
 
 
31
  }
32
 
33
  .header-title {
34
- font-size: 2.5rem;
35
  font-weight: 700;
36
- color: #1a202c;
37
- display: inline-flex;
38
- align-items: center;
39
- gap: 0.5rem;
 
 
 
 
 
 
40
  }
41
 
 
42
  .section {
43
- margin-bottom: 2rem;
 
 
 
 
44
  }
45
 
46
  .section-title {
47
- font-size: 2rem;
48
  font-weight: 600;
49
- color: #1a202c;
50
- margin-bottom: 0.5rem;
51
  display: flex;
52
  align-items: center;
53
  gap: 0.5rem;
54
  }
55
 
56
  .section-text {
57
- font-size: 1.1rem;
58
- color: #4a5568;
59
- line-height: 1.5;
60
  max-width: 800px;
61
  margin: 0 auto;
62
  }
63
 
64
- .stSidebar {
65
- background: #ffffff;
66
- border-right: 1px solid #e5e7eb;
 
 
 
 
 
67
  }
68
 
69
- .stSidebar .sidebar-content {
70
- padding: 1rem;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  }
72
  </style>
73
  """, unsafe_allow_html=True)
74
 
 
 
75
 
76
- # Header
77
  st.markdown("""
78
- <div class="header">
79
- <div class="container">
80
- <h1 class="header-title">🛡️ TruthCheck</h1>
81
- </div>
82
  </div>
83
  """, unsafe_allow_html=True)
84
 
85
  # About Content
86
  st.markdown("""
87
- <div class="container">
88
- <div class="section">
89
- <h2 class="section-title">ℹ️ About TruthCheck</2>
90
- <p class="section-text">
91
- TruthCheck is an advanced fake news detection platform powered by cutting-edge AI technology. Our mission is to empower users to distinguish between authentic information and misinformation in an era of digital overload.
92
- </p>
93
- </div>
94
- <div class="section">
95
- <h3 class="section-title">🚀 Our Mission</h3>
96
- <p class="section-text">
97
- We aim to combat misinformation by providing a reliable, user-friendly tool that analyzes news articles with high accuracy. TruthCheck leverages a hybrid BERT-BiLSTM model to detect linguistic patterns and contextual cues, ensuring you can trust the news you read.
98
- </p>
99
- </div>
100
- <div class="section">
101
- <h3 class="section-title">🧠 Our Technology</h3>
102
- <p class="section-text">
103
- TruthCheck combines BERT's natural language understanding with BiLSTM's sequential processing to achieve state-of-the-art fake news detection. Our model analyzes text for credibility, sentiment, and context, delivering results with confidence scores and attention visualizations.
104
- </p>
105
- </div>
106
- <div class="section">
107
- <h3 class="section-title">🌍 Why It Matters</h3>
108
- <p class="section-text">
109
- In a world where misinformation spreads rapidly, TruthCheck stands as a guardian of truth. Whether you're a journalist, researcher, or concerned citizen, our tool helps you make informed decisions by verifying the authenticity of news content.
110
- </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
111
  </div>
112
  </div>
113
  """, unsafe_allow_html=True)
114
 
 
 
 
 
 
 
 
 
 
115
  if __name__ == "__main__":
116
  main()
 
1
  import streamlit as st
2
 
3
  def main():
4
+ # Updated CSS for About page
5
  st.markdown("""
6
  <style>
7
+ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
8
+
9
+ * {
10
+ font-family: 'Poppins', sans-serif !important;
11
+ box-sizing: border-box;
12
+ }
13
 
14
  .stApp {
15
+ background: #ffffff;
 
16
  min-height: 100vh;
17
+ color: #1f2a44;
18
+ margin: 0 !important;
19
+ padding: 0 !important;
20
  }
21
 
22
+ #MainMenu {visibility: hidden;}
23
  footer {visibility: hidden;}
24
  .stDeployButton {display: none;}
25
  header {visibility: hidden;}
26
  .stApp > header {visibility: hidden;}
27
 
28
+ /* Main Container */
29
+ .main-container {
30
+ max-width: 100%;
31
+ width: 100%;
32
  margin: 0 auto;
33
+ padding: 1rem 2rem;
34
  }
35
 
36
+ /* Header Section */
37
+ .header-section {
38
  text-align: center;
39
+ margin-bottom: 2.5rem;
40
+ padding: 1.5rem 0;
41
  }
42
 
43
  .header-title {
44
+ font-size: 2.25rem;
45
  font-weight: 700;
46
+ color: #1f2a44;
47
+ margin: 0;
48
+ }
49
+
50
+ .header-subtitle {
51
+ font-size: 1rem;
52
+ color: #6b7280;
53
+ font-weight: 400;
54
+ max-width: 600px;
55
+ margin: 0.5rem auto 0;
56
  }
57
 
58
+ /* Section Styling */
59
  .section {
60
+ margin-bottom: 2.5rem;
61
+ max-width: 1200px;
62
+ margin-left: auto;
63
+ margin-right: auto;
64
+ padding: 0 1rem;
65
  }
66
 
67
  .section-title {
68
+ font-size: 1.5rem;
69
  font-weight: 600;
70
+ color: #1f2a44;
71
+ margin-bottom: 1rem;
72
  display: flex;
73
  align-items: center;
74
  gap: 0.5rem;
75
  }
76
 
77
  .section-text {
78
+ font-size: 0.95rem;
79
+ color: #6b7280;
80
+ line-height: 1.6;
81
  max-width: 800px;
82
  margin: 0 auto;
83
  }
84
 
85
+ /* Team Section */
86
+ .team-container {
87
+ display: grid;
88
+ grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
89
+ gap: 1.5rem;
90
+ max-width: 1200px;
91
+ margin: 0 auto;
92
+ padding: 0 1rem;
93
  }
94
 
95
+ .team-card {
96
+ background: #f9fafb;
97
+ padding: 1.5rem;
98
+ border-radius: 8px;
99
+ border: 1px solid #e5e7eb;
100
+ text-align: center;
101
+ transition: transform 0.2s ease;
102
+ }
103
+
104
+ .team-card:hover {
105
+ transform: translateY(-3px);
106
+ }
107
+
108
+ .team-card-title {
109
+ font-size: 1.25rem;
110
+ font-weight: 600;
111
+ color: #1f2a44;
112
+ margin-bottom: 0.5rem;
113
+ }
114
+
115
+ .team-card-role {
116
+ font-size: 1rem;
117
+ color: #3b82f6;
118
+ margin-bottom: 1rem;
119
+ }
120
+
121
+ .team-card-text {
122
+ font-size: 0.9rem;
123
+ color: #6b7280;
124
+ line-height: 1.4;
125
+ margin-bottom: 0.5rem;
126
+ display: flex;
127
+ align-items: center;
128
+ justify-content: center;
129
+ gap: 0.5rem;
130
+ }
131
+
132
+ .team-card-text a {
133
+ color: #3b82f6;
134
+ text-decoration: none;
135
+ }
136
+
137
+ .team-card-text a:hover {
138
+ text-decoration: underline;
139
+ }
140
+
141
+ /* Footer */
142
+ .footer {
143
+ border-top: 1px solid #e5e7eb;
144
+ padding: 1.5rem 0;
145
+ text-align: center;
146
+ max-width: 1200px;
147
+ margin: 2rem auto 0;
148
+ }
149
+
150
+ /* Responsive Design */
151
+ @media (max-width: 1024px) {
152
+ .main-container {
153
+ padding: 1rem;
154
+ }
155
+ .section {
156
+ padding: 0 0.5rem;
157
+ }
158
+ .team-container {
159
+ padding: 0 0.5rem;
160
+ }
161
+ }
162
+
163
+ @media (max-width: 768px) {
164
+ .header-title {
165
+ font-size: 1.75rem;
166
+ }
167
+ .header-subtitle {
168
+ font-size: 0.9rem;
169
+ }
170
+ .section-title {
171
+ font-size: 1.25rem;
172
+ }
173
+ .section-text {
174
+ font-size: 0.9rem;
175
+ }
176
+ .team-card-title {
177
+ font-size: 1.1rem;
178
+ }
179
+ .team-card-role {
180
+ font-size: 0.9rem;
181
+ }
182
+ }
183
+
184
+ @media (max-width: 480px) {
185
+ .header-title {
186
+ font-size: 1.5rem;
187
+ }
188
+ .header-subtitle {
189
+ font-size: 0.85rem;
190
+ }
191
+ .section-title {
192
+ font-size: 1.1rem;
193
+ }
194
+ .section-text {
195
+ font-size: 0.85rem;
196
+ }
197
+ .team-card-title {
198
+ font-size: 1rem;
199
+ }
200
+ .team-card-role {
201
+ font-size: 0.85rem;
202
+ }
203
+ .team-card-text {
204
+ font-size: 0.8rem;
205
+ }
206
  }
207
  </style>
208
  """, unsafe_allow_html=True)
209
 
210
+ # Main Container
211
+ st.markdown('<div class="main-container">', unsafe_allow_html=True)
212
 
213
+ # Header Section
214
  st.markdown("""
215
+ <div class="header-section">
216
+ <h1 class="header-title">📋 TruthCheck - Advanced Fake News Detector</h1>
217
+ <p class="header-subtitle">Empowering you to uncover the truth</p>
 
218
  </div>
219
  """, unsafe_allow_html=True)
220
 
221
  # About Content
222
  st.markdown("""
223
+ <div class="section">
224
+ <h2 class="section-title">ℹ️ About TruthCheck</h2>
225
+ <p class="section-text">
226
+ TruthCheck is a cutting-edge platform designed to combat misinformation by analyzing news articles for authenticity. Powered by advanced AI, our mission is to empower users—journalists, researchers, and everyday citizens—to make informed decisions in an era of digital information overload.
227
+ </p>
228
+ </div>
229
+ <div class="section">
230
+ <h3 class="section-title">🚀 Our Mission</h3>
231
+ <p class="section-text">
232
+ We strive to promote transparency and trust in information by providing a reliable, user-friendly tool for fake news detection. TruthCheck leverages state-of-the-art AI models to deliver accurate, transparent results, helping users distinguish credible news from misinformation.
233
+ </p>
234
+ </div>
235
+ <div class="section">
236
+ <h3 class="section-title">🧠 Our Technology</h3>
237
+ <p class="section-text">
238
+ TruthCheck combines BERT's natural language understanding with BiLSTM's sequential processing to deliver robust fake news detection. Our hybrid model analyzes text for linguistic patterns, sentiment, and context, providing results with confidence scores and attention visualizations for deeper insights.
239
+ </p>
240
+ </div>
241
+ <div class="section">
242
+ <h3 class="section-title">📋 How to Use TruthCheck</h3>
243
+ <p class="section-text">
244
+ Using TruthCheck is simple and intuitive:
245
+ <ul>
246
+ <li><strong>Submit an Article</strong>: Paste the text of a news article or a URL into our analysis tool.</li>
247
+ <li><strong>Get Results</strong>: Our AI processes the content and provides a credibility score with detailed insights.</li>
248
+ <li><strong>Explore Insights</strong>: Review attention visualizations and contextual analysis to understand the results.</li>
249
+ <li><strong>Contact Us</strong>: Reach out via our contact form for support or feedback.</li>
250
+ </ul>
251
+ </p>
252
+ </div>
253
+ <div class="section">
254
+ <h3 class="section-title">🌍 Why TruthCheck Matters</h3>
255
+ <p class="section-text">
256
+ In a world where misinformation can spread rapidly, TruthCheck serves as a vital tool for verifying information. Whether you're validating news for research, journalism, or personal knowledge, our platform ensures you can trust the content you consume.
257
+ </p>
258
+ </div>
259
+ """, unsafe_allow_html=True)
260
+
261
+ # Team Section
262
+ st.markdown("""
263
+ <div class="section">
264
+ <h2 class="section-title">👥 Our Team</h2>
265
+ <div class="team-container">
266
+ <div class="team-card">
267
+ <h3 class="team-card-title">Muhammad Adnan Tariq</h3>
268
+ <p class="team-card-role">AI Specialist</p>
269
+ <p class="team-card-text"><span>📧</span> <strong>Email</strong>: <a href="mailto:[email protected]">[email protected]</a></p>
270
+ <p class="team-card-text"><span>📞</span> <strong>Phone</strong>: +92336-6569117</p>
271
+ <p class="team-card-text"><span>🔗</span> <strong>LinkedIn</strong>: <a href="https://www.linkedin.com/in/adnaantariq/">Linkedin</a></p>
272
+ <p class="team-card-text"><span>🔗</span> <strong>GitHub</strong>: <a href="https://github.com/adnaan-tariq">GitHub</a></p>
273
+ </div>
274
+ <div class="team-card">
275
+ <h3 class="team-card-title">Muhammad Khaqan Nasir</h3>
276
+ <p class="team-card-role">Lead Developer</p>
277
+ <p class="team-card-text"><span>📧</span> <strong>Email</strong>: <a href="mailto:[email protected]">[email protected]</a></p>
278
+ <p class="team-card-text"><span>📞</span> <strong>Phone</strong>: +92309-1111977</p>
279
+ <p class="team-card-text"><span>🔗</span> <strong>LinkedIn</strong>: <a href="https://www.linkedin.com/in/khaqan-nasir/">Linkedin</a></p>
280
+ <p class="team-card-text"><span>🔗</span> <strong>GitHub</strong>: <a href="https://github.com/KhaqanNasir">GitHub</a></p>
281
+ </div>
282
  </div>
283
  </div>
284
  """, unsafe_allow_html=True)
285
 
286
+ # Footer
287
+ st.markdown("---")
288
+ st.markdown(
289
+ '<p style="text-align: center; font-weight: 600; font-size: 16px;">💻 Developed with ❤️ using Streamlit | © 2025</p>',
290
+ unsafe_allow_html=True
291
+ )
292
+
293
+ st.markdown('</div>', unsafe_allow_html=True) # Close main-container
294
+
295
  if __name__ == "__main__":
296
  main()