EverydayTech Platform - Developer Reference
Complete Source Code Documentation - All Applications
Loading...
Searching...
No Matches
page.tsx
Go to the documentation of this file.
1"use client";
2import { Icon } from '@/contexts/IconContext';
3
4export default function SecurityRecommendations() {
5 const data = [
6 {
7 id: 1,
8 recommendation: "Enable two-factor authentication for admin accounts",
9 category: "Access Control",
10 priority: "high",
11 affectedArea: "User Management",
12 implementationTime: "15 minutes"
13 },
14 {
15 id: 2,
16 recommendation: "Review and update user access permissions",
17 category: "Access Control",
18 priority: "medium",
19 affectedArea: "All Modules",
20 implementationTime: "1 hour"
21 },
22 {
23 id: 3,
24 recommendation: "Enable audit logging for sensitive operations",
25 category: "Data Security",
26 priority: "high",
27 affectedArea: "System Settings",
28 implementationTime: "30 minutes"
29 }
30 ];
31
32 return (
33 <div className="p-6 min-h-screen bg-bg">
34 {/* Header with back button */}
35 <div className="mb-6">
36 <div className="flex items-center gap-3 mb-2">
37 <a
38 href="/pages/reports?source=advisor"
39 className="text-muted hover:text-brand transition-colors"
40 >
41 <Icon name="arrow_back" size={24} />
42 </a>
43 <h1 className="text-3xl font-bold text-text">Security Recommendations</h1>
44 </div>
45 <p className="text-muted ml-9">
46 Suggested security improvements to enhance system protection
47 </p>
48 </div>
49
50 {/* Table */}
51 <div className="bg-surface rounded-lg shadow-sm border border-border overflow-hidden">
52 <div className="overflow-x-auto">
53 <table className="w-full">
54 <thead className="bg-[var(--brand)] text-surface">
55 <tr>
56 <th className="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider">
57 Recommendation
58 </th>
59 <th className="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider">
60 Category
61 </th>
62 <th className="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider">
63 Priority
64 </th>
65 <th className="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider">
66 Affected Area
67 </th>
68 <th className="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider">
69 Est. Time
70 </th>
71 <th className="px-6 py-3 text-left text-xs font-medium uppercase tracking-wider">
72 Actions
73 </th>
74 </tr>
75 </thead>
76 <tbody className="divide-y divide-border">
77 {data.length === 0 ? (
78 <tr>
79 <td colSpan={6} className="px-6 py-12 text-center">
80 <Icon name="check_circle" size={48} className="text-success mx-auto mb-3" />
81 <p className="text-muted font-medium">All security recommendations implemented</p>
82 <p className="text-muted-2 text-sm mt-1">Your system security is up to date</p>
83 </td>
84 </tr>
85 ) : (
86 data.map((row) => (
87 <tr key={row.id} className="hover:bg-surface-2 transition-colors">
88 <td className="px-6 py-4 text-sm text-text max-w-md">
89 <div className="flex items-start gap-2">
90 <Icon
91 name={row.priority === 'high' ? 'warning' : 'info'}
92 size={18}
93 className={`flex-shrink-0 mt-0.5 ${
94 row.priority === 'high' ? 'text-error' : 'text-info'
95 }`}
96 />
97 <span>{row.recommendation}</span>
98 </div>
99 </td>
100 <td className="px-6 py-4 text-sm text-muted">
101 {row.category}
102 </td>
103 <td className="px-6 py-4">
104 <span className={`px-2 py-1 text-xs font-medium rounded ${
105 row.priority === 'high' ? 'bg-error/20 text-error' :
106 row.priority === 'medium' ? 'bg-warning/20 text-warning' :
107 'bg-success/20 text-success'
108 }`}>
109 {row.priority.toUpperCase()}
110 </span>
111 </td>
112 <td className="px-6 py-4 text-sm text-muted">
113 {row.affectedArea}
114 </td>
115 <td className="px-6 py-4 text-sm text-muted">
116 {row.implementationTime}
117 </td>
118 <td className="px-6 py-4 text-sm space-x-3">
119 <a href="#" className="text-brand hover:text-brand2 transition-colors">
120 Implement
121 </a>
122 <a href="#" className="text-muted hover:text-text transition-colors">
123 Learn More
124 </a>
125 <a href="#" className="text-muted-2 hover:text-muted transition-colors">
126 Dismiss
127 </a>
128 </td>
129 </tr>
130 ))
131 )}
132 </tbody>
133 </table>
134 </div>
135 </div>
136 </div>
137 );
138}