Skip to content

Commit 30255f8

Browse files
committed
updated app layout
1 parent 5a86a83 commit 30255f8

2 files changed

Lines changed: 135 additions & 52 deletions

File tree

client/src/App.jsx

Lines changed: 60 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,92 @@
1-
import GlassCard from "./components/ui/GlassCard"
2-
import NeonButton from "./components/ui/NeonButton"
31
import AnimatedBackground from "./components/animations/AnimatedBackground"
4-
import Sidebar from "./components/layout/Sidebar"
52
import WebsiteStatusCard from "./components/dashboard/WebsiteStatusCard"
63
import TrackerIntelligenceCard from "./components/dashboard/TrackerIntelligenceCard"
4+
import ProtectionStatusCard from "./components/dashboard/ProtectionStatusCard"
5+
import NeonButton from "./components/ui/NeonButton"
76

87
function App() {
98
return (
109
<>
1110
<AnimatedBackground />
12-
<Sidebar />
1311

14-
<main className="ml-72 min-h-screen p-10">
15-
16-
<div className="max-w-6xl mx-auto">
12+
<div className="min-h-screen flex items-center justify-center p-6">
13+
14+
{/* Extension Popup */}
15+
<div
16+
className="
17+
w-[380px]
18+
rounded-3xl
19+
border border-white/10
20+
bg-[#0d1117]/95
21+
backdrop-blur-xl
22+
shadow-2xl
23+
overflow-hidden
24+
"
25+
>
1726

1827
{/* Header */}
19-
<div className="mb-10">
20-
<h1 className="text-5xl font-bold text-cyan-400">
21-
Security Overview
22-
</h1>
23-
24-
<p className="text-gray-400 mt-3">
25-
Monitor threats, privacy exposure, and browser security.
26-
</p>
27-
</div>
28+
<div className="px-5 py-4 border-b border-white/5">
29+
30+
<div className="flex items-center justify-between">
2831

29-
{/* Dashboard Grid */}
30-
<div className="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-6">
32+
<div>
33+
<h1 className="text-lg font-semibold text-white">
34+
Ubiqui_Shield
35+
</h1>
3136

32-
<GlassCard>
33-
<h2 className="text-xl font-semibold text-cyan-300">
34-
Privacy Score
35-
</h2>
37+
<p className="text-xs text-gray-400 mt-1">
38+
Browser Protection Active
39+
</p>
40+
</div>
3641

37-
<p className="text-5xl font-bold mt-6 text-white">
38-
92%
39-
</p>
40-
</GlassCard>
42+
<div className="
43+
w-3
44+
h-3
45+
rounded-full
46+
bg-green-400
47+
" />
4148

42-
<GlassCard>
43-
<h2 className="text-xl font-semibold text-cyan-300">
44-
Threat Alerts
45-
</h2>
49+
</div>
4650

47-
<p className="text-5xl font-bold mt-6 text-red-400">
48-
0
49-
</p>
50-
</GlassCard>
51+
</div>
52+
53+
{/* Content */}
54+
<div className="p-4 space-y-4">
5155

5256
<WebsiteStatusCard />
5357

5458
<TrackerIntelligenceCard />
5559

56-
</div>
60+
<ProtectionStatusCard />
5761

58-
{/* Action Panel */}
59-
<div className="mt-10">
60-
<GlassCard className="flex items-center justify-between flex-wrap gap-4">
61-
62-
<div>
63-
<h2 className="text-2xl font-bold text-cyan-300">
64-
Real-Time Analysis
65-
</h2>
62+
{/* Action Buttons */}
63+
<div className="grid grid-cols-2 gap-3">
6664

67-
<p className="text-gray-400 mt-2">
68-
Analyze websites, detect phishing, and improve privacy.
69-
</p>
70-
</div>
71-
72-
<NeonButton>
73-
Launch Scan
65+
<NeonButton className="text-sm py-2">
66+
Scan Site
7467
</NeonButton>
7568

76-
</GlassCard>
69+
<button
70+
className="
71+
rounded-xl
72+
border border-white/10
73+
bg-white/5
74+
text-gray-300
75+
text-sm
76+
hover:bg-white/10
77+
transition
78+
"
79+
>
80+
Settings
81+
</button>
82+
83+
</div>
84+
7785
</div>
7886

7987
</div>
8088

81-
</main>
89+
</div>
8290
</>
8391
)
8492
}
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
import GlassCard from "../ui/GlassCard"
2+
import {
3+
ShieldCheck,
4+
Lock,
5+
EyeOff,
6+
Globe,
7+
} from "lucide-react"
8+
9+
function ProtectionStatusCard() {
10+
return (
11+
<GlassCard>
12+
13+
<div className="flex items-center justify-between">
14+
15+
<div>
16+
<h2 className="text-lg font-semibold text-white">
17+
Protection Status
18+
</h2>
19+
20+
<p className="text-sm text-gray-400 mt-1">
21+
Browser defenses active
22+
</p>
23+
</div>
24+
25+
<ShieldCheck
26+
className="text-green-400"
27+
size={24}
28+
/>
29+
30+
</div>
31+
32+
<div className="mt-5 space-y-4">
33+
34+
<ProtectionItem
35+
icon={<Lock size={16} />}
36+
label="HTTPS Protection"
37+
status="Enabled"
38+
/>
39+
40+
<ProtectionItem
41+
icon={<EyeOff size={16} />}
42+
label="Tracker Blocking"
43+
status="Active"
44+
/>
45+
46+
<ProtectionItem
47+
icon={<Globe size={16} />}
48+
label="Safe Browsing"
49+
status="Protected"
50+
/>
51+
52+
</div>
53+
54+
</GlassCard>
55+
)
56+
}
57+
58+
function ProtectionItem({ icon, label, status }) {
59+
return (
60+
<div className="flex items-center justify-between">
61+
62+
<div className="flex items-center gap-2 text-gray-300 text-sm">
63+
{icon}
64+
<span>{label}</span>
65+
</div>
66+
67+
<span className="text-green-400 text-sm">
68+
{status}
69+
</span>
70+
71+
</div>
72+
)
73+
}
74+
75+
export default ProtectionStatusCard

0 commit comments

Comments
 (0)