Mdwasim2505 commited on
Commit
a882b64
·
verified ·
1 Parent(s): 53fa366

pages redirection are not working make it working give mock datas and create admin login and password for it to see admin page

Browse files
Files changed (3) hide show
  1. admin.html +66 -26
  2. dashboard.html +29 -24
  3. login.html +32 -7
admin.html CHANGED
@@ -69,31 +69,64 @@
69
  </tr>
70
  </thead>
71
  <tbody class="bg-white divide-y divide-gray-200">
72
- {% for result in all_results %}
73
  <tr>
74
  <td class="px-6 py-4 whitespace-nowrap">
75
- <div class="text-sm font-medium text-gray-900">{{ result.username }}</div>
76
  </td>
77
  <td class="px-6 py-4">
78
- <div class="text-sm text-gray-900 max-w-xs truncate">{{ result.text }}</div>
79
  </td>
80
  <td class="px-6 py-4 whitespace-nowrap">
81
- <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full
82
- {% if result.category == 'Offensive' %}bg-red-100 text-red-800
83
- {% elif result.category == 'Hate' %}bg-red-100 text-red-800
84
- {% else %}bg-green-100 text-green-800{% endif %}">
85
- {{ result.category }}
86
  </span>
87
  </td>
88
  <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
89
- {{ result.confidence }}%
90
  </td>
91
  <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
92
- {{ result.timestamp }}
93
  </td>
94
  </tr>
95
- {% endfor %}
96
- </tbody>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  </table>
98
  </div>
99
  </div>
@@ -105,11 +138,15 @@
105
  <div class="space-y-4">
106
  <div>
107
  <p class="text-sm text-gray-500">Total Users</p>
108
- <p class="text-2xl font-bold text-blue-600">{{ stats.total_users }}</p>
 
 
109
  </div>
110
  <div>
111
  <p class="text-sm text-gray-500">Total Analyses</p>
112
- <p class="text-2xl font-bold text-blue-600">{{ stats.total_analyses }}</p>
 
 
113
  </div>
114
  </div>
115
  </div>
@@ -120,14 +157,17 @@
120
  <div class="bg-white rounded-lg shadow-md p-6">
121
  <h3 class="text-lg font-semibold mb-4">Recent Flagged Content</h3>
122
  <div class="space-y-3">
123
- {% for flagged in recent_flagged %}
124
- <div class="border-l-4 border-red-500 pl-3">
125
- <p class="text-sm font-medium">{{ flagged.username }}</p>
126
- <p class="text-sm text-gray-600 truncate">{{ flagged.text }}</p>
127
- <p class="text-xs text-gray-500">{{ flagged.timestamp }}</p>
128
- </div>
129
- {% endfor %}
130
- </div>
 
 
 
131
  </div>
132
  </div>
133
  </div>
@@ -169,10 +209,10 @@
169
  labels: ['Normal', 'Offensive', 'Hate'],
170
  datasets: [{
171
  data: [
172
- {{ stats.normal_count }},
173
- {{ stats.offensive_count }},
174
- {{ stats.hate_count }}
175
- ],
176
  backgroundColor: [
177
  '#10B981',
178
  '#EF4444',
 
69
  </tr>
70
  </thead>
71
  <tbody class="bg-white divide-y divide-gray-200">
 
72
  <tr>
73
  <td class="px-6 py-4 whitespace-nowrap">
74
+ <div class="text-sm font-medium text-gray-900">admin</div>
75
  </td>
76
  <td class="px-6 py-4">
77
+ <div class="text-sm text-gray-900 max-w-xs truncate">This is a test message</div>
78
  </td>
79
  <td class="px-6 py-4 whitespace-nowrap">
80
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">
81
+ Normal
 
 
 
82
  </span>
83
  </td>
84
  <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
85
+ 98%
86
  </td>
87
  <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
88
+ 2023-06-15 14:30:22
89
  </td>
90
  </tr>
91
+ <tr>
92
+ <td class="px-6 py-4 whitespace-nowrap">
93
+ <div class="text-sm font-medium text-gray-900">user123</div>
94
+ </td>
95
+ <td class="px-6 py-4">
96
+ <div class="text-sm text-gray-900 max-w-xs truncate">I hate this stupid website!</div>
97
+ </td>
98
+ <td class="px-6 py-4 whitespace-nowrap">
99
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-red-100 text-red-800">
100
+ Offensive
101
+ </span>
102
+ </td>
103
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
104
+ 87%
105
+ </td>
106
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
107
+ 2023-06-14 09:15:45
108
+ </td>
109
+ </tr>
110
+ <tr>
111
+ <td class="px-6 py-4 whitespace-nowrap">
112
+ <div class="text-sm font-medium text-gray-900">user456</div>
113
+ </td>
114
+ <td class="px-6 py-4">
115
+ <div class="text-sm text-gray-900 max-w-xs truncate">People like you shouldn't be allowed here</div>
116
+ </td>
117
+ <td class="px-6 py-4 whitespace-nowrap">
118
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-red-100 text-red-800">
119
+ Hate
120
+ </span>
121
+ </td>
122
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
123
+ 92%
124
+ </td>
125
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
126
+ 2023-06-13 16:22:10
127
+ </td>
128
+ </tr>
129
+ </tbody>
130
  </table>
131
  </div>
132
  </div>
 
138
  <div class="space-y-4">
139
  <div>
140
  <p class="text-sm text-gray-500">Total Users</p>
141
+ <p class="text-2xl font-bold text-blue-600">
142
+ 127
143
+ </p>
144
  </div>
145
  <div>
146
  <p class="text-sm text-gray-500">Total Analyses</p>
147
+ <p class="text-2xl font-bold text-blue-600">
148
+ 642
149
+ </p>
150
  </div>
151
  </div>
152
  </div>
 
157
  <div class="bg-white rounded-lg shadow-md p-6">
158
  <h3 class="text-lg font-semibold mb-4">Recent Flagged Content</h3>
159
  <div class="space-y-3">
160
+ <div class="border-l-4 border-red-500 pl-3">
161
+ <p class="text-sm font-medium">user789</p>
162
+ <p class="text-sm text-gray-600 truncate">You're so stupid I can't believe it!</p>
163
+ <p class="text-xs text-gray-500">2023-06-15 10:45:33</p>
164
+ </div>
165
+ <div class="border-l-4 border-red-500 pl-3">
166
+ <p class="text-sm font-medium">user101</p>
167
+ <p class="text-sm text-gray-600 truncate">Go back to your country!</p>
168
+ <p class="text-xs text-gray-500">2023-06-14 17:22:18</p>
169
+ </div>
170
+ </div>
171
  </div>
172
  </div>
173
  </div>
 
209
  labels: ['Normal', 'Offensive', 'Hate'],
210
  datasets: [{
211
  data: [
212
+ 512,
213
+ 87,
214
+ 43
215
+ ],
216
  backgroundColor: [
217
  '#10B981',
218
  '#EF4444',
dashboard.html CHANGED
@@ -34,10 +34,10 @@
34
 
35
  <div class="max-w-6xl mx-auto px-4 py-8">
36
  <div class="mb-8 flex justify-between items-center">
37
- <h1 class="text-2xl font-bold text-gray-800">Welcome back, {{ username }}!</h1>
38
- <div class="flex items-center space-x-2">
39
- <span class="text-sm text-gray-600">Last login: {{ last_login }}</span>
40
- </div>
41
  </div>
42
 
43
  <div class="grid grid-cols-1 lg:grid-cols-3 gap-8">
@@ -96,23 +96,28 @@
96
  <div class="bg-white rounded-lg shadow-md p-6">
97
  <h2 class="text-xl font-semibold mb-4">Analysis History</h2>
98
  <div class="space-y-4">
99
- {% if history %}
100
- {% for item in history %}
101
- <div class="border-b border-gray-200 pb-4 last:border-0 last:pb-0">
102
- <p class="text-sm text-gray-500 mb-1">{{ item.timestamp }}</p>
103
- <p class="text-gray-700 mb-2 line-clamp-2">{{ item.text }}</p>
104
- <span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium
105
- {% if item.category == 'Offensive' %}bg-red-100 text-red-800
106
- {% elif item.category == 'Hate' %}bg-red-100 text-red-800
107
- {% else %}bg-green-100 text-green-800{% endif %}">
108
- {{ item.category }}
109
- </span>
110
- </div>
111
- {% endfor %}
112
- {% else %}
113
- <p class="text-gray-500">No analysis history yet.</p>
114
- {% endif %}
115
- </div>
 
 
 
 
 
116
  </div>
117
 
118
  <div class="bg-white rounded-lg shadow-md p-6">
@@ -120,12 +125,12 @@
120
  <div class="grid grid-cols-2 gap-4">
121
  <div class="bg-blue-50 p-4 rounded-md">
122
  <p class="text-sm text-blue-600 font-medium">Total Analyses</p>
123
- <p class="text-2xl font-bold text-blue-800">{{ stats.total }}</p>
124
  </div>
125
  <div class="bg-red-50 p-4 rounded-md">
126
  <p class="text-sm text-red-600 font-medium">Flagged Content</p>
127
- <p class="text-2xl font-bold text-red-800">{{ stats.flagged }}</p>
128
- </div>
129
  </div>
130
  </div>
131
  </div>
 
34
 
35
  <div class="max-w-6xl mx-auto px-4 py-8">
36
  <div class="mb-8 flex justify-between items-center">
37
+ <h1 class="text-2xl font-bold text-gray-800">Welcome back, admin!</h1>
38
+ <div class="flex items-center space-x-2">
39
+ <span class="text-sm text-gray-600">Last login: Just now</span>
40
+ </div>
41
  </div>
42
 
43
  <div class="grid grid-cols-1 lg:grid-cols-3 gap-8">
 
96
  <div class="bg-white rounded-lg shadow-md p-6">
97
  <h2 class="text-xl font-semibold mb-4">Analysis History</h2>
98
  <div class="space-y-4">
99
+ <div class="border-b border-gray-200 pb-4 last:border-0 last:pb-0">
100
+ <p class="text-sm text-gray-500 mb-1">2023-06-15 14:30:22</p>
101
+ <p class="text-gray-700 mb-2 line-clamp-2">This is a test message to check the system.</p>
102
+ <span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800">
103
+ Normal
104
+ </span>
105
+ </div>
106
+ <div class="border-b border-gray-200 pb-4 last:border-0 last:pb-0">
107
+ <p class="text-sm text-gray-500 mb-1">2023-06-14 09:15:45</p>
108
+ <p class="text-gray-700 mb-2 line-clamp-2">I hate this stupid website!</p>
109
+ <span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-red-100 text-red-800">
110
+ Offensive
111
+ </span>
112
+ </div>
113
+ <div class="border-b border-gray-200 pb-4 last:border-0 last:pb-0">
114
+ <p class="text-sm text-gray-500 mb-1">2023-06-13 16:22:10</p>
115
+ <p class="text-gray-700 mb-2 line-clamp-2">Let's all go to the park tomorrow!</p>
116
+ <span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800">
117
+ Normal
118
+ </span>
119
+ </div>
120
+ </div>
121
  </div>
122
 
123
  <div class="bg-white rounded-lg shadow-md p-6">
 
125
  <div class="grid grid-cols-2 gap-4">
126
  <div class="bg-blue-50 p-4 rounded-md">
127
  <p class="text-sm text-blue-600 font-medium">Total Analyses</p>
128
+ <p class="text-2xl font-bold text-blue-800">24</p>
129
  </div>
130
  <div class="bg-red-50 p-4 rounded-md">
131
  <p class="text-sm text-red-600 font-medium">Flagged Content</p>
132
+ <p class="text-2xl font-bold text-red-800">5</p>
133
+ </div>
134
  </div>
135
  </div>
136
  </div>
login.html CHANGED
@@ -36,25 +36,35 @@
36
  {% with messages = get_flashed_messages(with_categories=true) %}
37
  {% if messages %}
38
  {% for category, message in messages %}
39
- <div class="mb-4 p-4 rounded-md bg-red-100 border border-red-200 text-red-700">
40
  {{ message }}
41
  </div>
42
- {% endfor %}
 
 
 
 
 
 
 
43
  {% endif %}
44
  {% endwith %}
45
-
46
- <form action="/login" method="POST">
47
  <div class="mb-4">
48
  <label for="username" class="block text-gray-700 text-sm font-medium mb-2">Username</label>
49
  <input type="text" id="username" name="username" required
50
- class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
 
 
51
  </div>
52
  <div class="mb-6">
53
  <label for="password" class="block text-gray-700 text-sm font-medium mb-2">Password</label>
54
  <input type="password" id="password" name="password" required
55
- class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500">
 
 
56
  </div>
57
- <button type="submit"
58
  class="w-full bg-blue-600 hover:bg-blue-700 text-white font-medium py-2 px-4 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition duration-300">
59
  Login
60
  </button>
@@ -71,5 +81,20 @@
71
  </div>
72
  </div>
73
  <script>feather.replace();</script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  </body>
75
  </html>
 
36
  {% with messages = get_flashed_messages(with_categories=true) %}
37
  {% if messages %}
38
  {% for category, message in messages %}
39
+ <div class="mb-4 p-4 rounded-md {% if category == 'success' %}bg-green-100 border-green-200 text-green-700{% else %}bg-red-100 border-red-200 text-red-700{% endif %}">
40
  {{ message }}
41
  </div>
42
+ {% if category == 'success' %}
43
+ <script>
44
+ setTimeout(function() {
45
+ window.location.href = "/dashboard";
46
+ }, 1500);
47
+ </script>
48
+ {% endif %}
49
+ {% endfor %}
50
  {% endif %}
51
  {% endwith %}
52
+ <form id="loginForm" action="/login" method="POST">
 
53
  <div class="mb-4">
54
  <label for="username" class="block text-gray-700 text-sm font-medium mb-2">Username</label>
55
  <input type="text" id="username" name="username" required
56
+ class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
57
+ value="admin">
58
+ <p class="text-xs text-gray-500 mt-1">Try: admin (admin access) or user123 (regular user)</p>
59
  </div>
60
  <div class="mb-6">
61
  <label for="password" class="block text-gray-700 text-sm font-medium mb-2">Password</label>
62
  <input type="password" id="password" name="password" required
63
+ class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
64
+ value="cyber123">
65
+ <p class="text-xs text-gray-500 mt-1">Password is: cyber123</p>
66
  </div>
67
+ <button type="submit"
68
  class="w-full bg-blue-600 hover:bg-blue-700 text-white font-medium py-2 px-4 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition duration-300">
69
  Login
70
  </button>
 
81
  </div>
82
  </div>
83
  <script>feather.replace();</script>
84
+ <script>
85
+ document.getElementById('loginForm').addEventListener('submit', function(e) {
86
+ const username = document.getElementById('username').value;
87
+ const password = document.getElementById('password').value;
88
+
89
+ // Mock authentication
90
+ if ((username === 'admin' && password === 'cyber123') ||
91
+ (username === 'user123' && password === 'cyber123')) {
92
+ return true;
93
+ }
94
+
95
+ e.preventDefault();
96
+ alert('Invalid credentials. Try admin/cyber123 or user123/cyber123');
97
+ });
98
+ </script>
99
  </body>
100
  </html>