KhaqanNasir commited on
Commit
2c15cf7
·
verified ·
1 Parent(s): b6ea80d

Update src/app.py

Browse files
Files changed (1) hide show
  1. src/app.py +20 -44
src/app.py CHANGED
@@ -35,11 +35,11 @@ from src.models.hybrid_model import HybridFakeNewsDetector
35
  from src.config.config import *
36
  from src.data.preprocessor import TextPreprocessor
37
 
38
- # Custom CSS for streamlined styling with sidebar
39
  st.markdown("""
40
  <style>
41
  /* Import Google Fonts */
42
- @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');
43
 
44
  /* Global Styles */
45
  * {
@@ -49,7 +49,7 @@ st.markdown("""
49
  }
50
 
51
  .stApp {
52
- font-family: 'Inter', sans-serif;
53
  background: #f8fafc;
54
  min-height: 100vh;
55
  color: #1a202c;
@@ -66,18 +66,18 @@ st.markdown("""
66
  .container {
67
  max-width: 1200px;
68
  margin: 0 auto;
69
- padding: 1rem;
70
  }
71
 
72
  /* Header */
73
  .header {
74
- padding: 1rem 0;
75
  text-align: center;
76
  }
77
 
78
  .header-title {
79
- font-size: 2rem;
80
- font-weight: 800;
81
  color: #1a202c;
82
  display: inline-flex;
83
  align-items: center;
@@ -94,7 +94,7 @@ st.markdown("""
94
 
95
  .hero-left {
96
  flex: 1;
97
- padding: 1rem;
98
  }
99
 
100
  .hero-right {
@@ -108,17 +108,18 @@ st.markdown("""
108
  max-width: 100%;
109
  height: auto;
110
  border-radius: 8px;
 
111
  }
112
 
113
  .hero-title {
114
- font-size: 2.5rem;
115
  font-weight: 700;
116
  color: #1a202c;
117
  margin-bottom: 0.5rem;
118
  }
119
 
120
  .hero-text {
121
- font-size: 1rem;
122
  color: #4a5568;
123
  line-height: 1.5;
124
  max-width: 450px;
@@ -131,14 +132,14 @@ st.markdown("""
131
  }
132
 
133
  .about-title {
134
- font-size: 1.8rem;
135
  font-weight: 600;
136
  color: #1a202c;
137
  margin-bottom: 0.5rem;
138
  }
139
 
140
  .about-text {
141
- font-size: 1rem;
142
  color: #4a5568;
143
  line-height: 1.5;
144
  max-width: 600px;
@@ -155,8 +156,8 @@ st.markdown("""
155
  border-radius: 8px !important;
156
  border: 1px solid #d1d5db !important;
157
  padding: 1rem !important;
158
- font-size: 1rem !important;
159
- font-family: 'Inter', sans-serif !important;
160
  background: #ffffff !important;
161
  min-height: 150px !important;
162
  transition: all 0.2s ease !important;
@@ -178,9 +179,9 @@ st.markdown("""
178
  color: white !important;
179
  border-radius: 8px !important;
180
  padding: 0.75rem 2rem !important;
181
- font-size: 1rem !important;
182
  font-weight: 600 !important;
183
- font-family: 'Inter', sans-serif !important;
184
  transition: all 0.2s ease !important;
185
  border: none !important;
186
  width: 100% !important;
@@ -217,7 +218,7 @@ st.markdown("""
217
 
218
  .prediction-badge {
219
  font-weight: 600;
220
- font-size: 1rem;
221
  margin-bottom: 0.5rem;
222
  display: flex;
223
  align-items: center;
@@ -227,7 +228,7 @@ st.markdown("""
227
  .confidence-score {
228
  font-weight: 600;
229
  margin-left: auto;
230
- font-size: 1rem;
231
  }
232
 
233
  /* Chart Containers */
@@ -237,14 +238,6 @@ st.markdown("""
237
  margin: 1rem 0;
238
  }
239
 
240
- /* Footer */
241
- .footer {
242
- margin-top: 2rem;
243
- padding: 1rem 0;
244
- text-align: center;
245
- border-top: 1px solid #e5e7eb;
246
- }
247
-
248
  /* Sidebar Styling */
249
  .stSidebar {
250
  background: #ffffff;
@@ -365,16 +358,6 @@ def plot_attention(text, attention_weights):
365
  return fig
366
 
367
  def main():
368
- # Sidebar
369
- with st.sidebar:
370
- st.markdown("## TruthCheck Menu")
371
- st.markdown("Navigate through the options below:")
372
- st.button("Home", disabled=True)
373
- st.button("Analyze News", key="nav_analyze")
374
- st.button("About", key="nav_about")
375
- st.markdown("---")
376
- st.markdown("**Contact**")
377
- st.markdown("📧 [email protected]")
378
 
379
  # Header
380
  st.markdown("""
@@ -396,7 +379,7 @@ def main():
396
  </p>
397
  </div>
398
  <div class="hero-right">
399
- <img src="https://www.freepik.com/free-vector/false-information-broadcasting-press-newspaper-journalists-editors-fake-news-junk-news-content-disinformation-media-concept-illustration_11669710.htm#fromView=search&page=1&position=1&uuid=211fd90c-f9e2-4388-b167-c382e5f996f0&query=fake+news+detector">
400
  </div>
401
  </div>
402
  </div>
@@ -474,12 +457,5 @@ def main():
474
  st.error("Please enter a news article (at least 10 words) for analysis.")
475
  st.markdown('</div>', unsafe_allow_html=True)
476
 
477
- # Footer
478
- st.markdown("""
479
- <div class="footer">
480
- <p style="text-align: center; font-weight: 600; font-size: 16px;">💻 Developed with ❤️ using Streamlit | © 2025</p>
481
- </div>
482
- """, unsafe_allow_html=True)
483
-
484
  if __name__ == "__main__":
485
  main()
 
35
  from src.config.config import *
36
  from src.data.preprocessor import TextPreprocessor
37
 
38
+ # Custom CSS with Poppins font and increased font sizes
39
  st.markdown("""
40
  <style>
41
  /* Import Google Fonts */
42
+ @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&display=swap');
43
 
44
  /* Global Styles */
45
  * {
 
49
  }
50
 
51
  .stApp {
52
+ font-family: 'Poppins', sans-serif;
53
  background: #f8fafc;
54
  min-height: 100vh;
55
  color: #1a202c;
 
66
  .container {
67
  max-width: 1200px;
68
  margin: 0 auto;
69
+ padding: 1.5rem;
70
  }
71
 
72
  /* Header */
73
  .header {
74
+ padding: 1.5rem 0;
75
  text-align: center;
76
  }
77
 
78
  .header-title {
79
+ font-size: 2.5rem;
80
+ font-weight: 700;
81
  color: #1a202c;
82
  display: inline-flex;
83
  align-items: center;
 
94
 
95
  .hero-left {
96
  flex: 1;
97
+ padding: 1.5rem;
98
  }
99
 
100
  .hero-right {
 
108
  max-width: 100%;
109
  height: auto;
110
  border-radius: 8px;
111
+ object-fit: cover;
112
  }
113
 
114
  .hero-title {
115
+ font-size: 3rem;
116
  font-weight: 700;
117
  color: #1a202c;
118
  margin-bottom: 0.5rem;
119
  }
120
 
121
  .hero-text {
122
+ font-size: 1.2rem;
123
  color: #4a5568;
124
  line-height: 1.5;
125
  max-width: 450px;
 
132
  }
133
 
134
  .about-title {
135
+ font-size: 2.2rem;
136
  font-weight: 600;
137
  color: #1a202c;
138
  margin-bottom: 0.5rem;
139
  }
140
 
141
  .about-text {
142
+ font-size: 1.1rem;
143
  color: #4a5568;
144
  line-height: 1.5;
145
  max-width: 600px;
 
156
  border-radius: 8px !important;
157
  border: 1px solid #d1d5db !important;
158
  padding: 1rem !important;
159
+ font-size: 1.1rem !important;
160
+ font-family: 'Poppins', sans-serif !important;
161
  background: #ffffff !important;
162
  min-height: 150px !important;
163
  transition: all 0.2s ease !important;
 
179
  color: white !important;
180
  border-radius: 8px !important;
181
  padding: 0.75rem 2rem !important;
182
+ font-size: 1.1rem !important;
183
  font-weight: 600 !important;
184
+ font-family: 'Poppins', sans-serif !important;
185
  transition: all 0.2s ease !important;
186
  border: none !important;
187
  width: 100% !important;
 
218
 
219
  .prediction-badge {
220
  font-weight: 600;
221
+ font-size: 1.1rem;
222
  margin-bottom: 0.5rem;
223
  display: flex;
224
  align-items: center;
 
228
  .confidence-score {
229
  font-weight: 600;
230
  margin-left: auto;
231
+ font-size: 1.1rem;
232
  }
233
 
234
  /* Chart Containers */
 
238
  margin: 1rem 0;
239
  }
240
 
 
 
 
 
 
 
 
 
241
  /* Sidebar Styling */
242
  .stSidebar {
243
  background: #ffffff;
 
358
  return fig
359
 
360
  def main():
 
 
 
 
 
 
 
 
 
 
361
 
362
  # Header
363
  st.markdown("""
 
379
  </p>
380
  </div>
381
  <div class="hero-right">
382
+ <img src="https://images.unsplash.com/photo-1593642532973-d31b97d0fad2?ixlib=rb-4.0.3&auto=format&fit=crop&w=500&q=80" alt="Fake News Detector" onerror="this.src='https://via.placeholder.com/500x300.png?text=Fake+News+Detector'">
383
  </div>
384
  </div>
385
  </div>
 
457
  st.error("Please enter a news article (at least 10 words) for analysis.")
458
  st.markdown('</div>', unsafe_allow_html=True)
459
 
 
 
 
 
 
 
 
460
  if __name__ == "__main__":
461
  main()