33import React , { useEffect , useState , useRef } from "react" ;
44import { useRouter } from "next/navigation" ;
55import Link from "next/link" ;
6- import { GlassCard } from "@/components/ui/glass-card" ;
7- import { GlassButton } from "@/components/ui/glass-button" ;
8- import { motion } from "framer-motion" ;
9- import { fadeUpVariants , staggerContainer , slideUpVariants } from "@/lib/animations" ;
10- import { Lightning , LightningSlash , ArrowRight } from "@phosphor-icons/react" ;
6+ import { FieldCard } from "@/components/ui/glass-card" ;
7+ import { FieldButton } from "@/components/ui/glass-button" ;
8+ import { Lightning , LightningSlash , ArrowRight , ChatsCircle , FileDoc , ClipboardText } from "@phosphor-icons/react" ;
119
1210interface User {
1311 id : string ;
@@ -21,12 +19,10 @@ export default function DashboardPage() {
2119 const [ loading , setLoading ] = useState ( true ) ;
2220 const initializedRef = useRef ( false ) ;
2321
24- // eslint-disable-next-line react-hooks/set-state-in-effect
2522 useEffect ( ( ) => {
2623 if ( initializedRef . current ) return ;
2724 initializedRef . current = true ;
2825
29- // Check if user is logged in
3026 const checkAuth = ( ) => {
3127 try {
3228 const stored = localStorage . getItem ( "interviewlab_user" ) ;
@@ -49,15 +45,12 @@ export default function DashboardPage() {
4945
5046 if ( loading ) {
5147 return (
52- < div className = "min-h-[100dvh] flex items-center justify-center bg-pa-navy relative overflow-hidden" >
53- < div className = "absolute inset-0 pointer-events-none" >
54- < div className = "absolute top-[-20%] left-[-10%] w-[60vw] h-[60vw] bg-accent-violet/8 rounded-full blur-[120px]" />
55- </ div >
56- < div className = "text-center z-10 animate-fade-up" >
57- < div className = "w-14 h-14 rounded-full bg-accent-violet/20 flex items-center justify-center mx-auto mb-4 animate-glow-pulse" >
58- < Lightning className = "w-7 h-7 text-accent-indigo" weight = "light" />
48+ < div className = "min-h-[100dvh] flex items-center justify-center bg-background" >
49+ < div className = "text-center" >
50+ < div className = "w-12 h-12 rounded-lg bg-[#FFE5D9] flex items-center justify-center mx-auto mb-4" >
51+ < Lightning className = "w-6 h-6 text-[#FF6B35]" />
5952 </ div >
60- < p className = "text-text-muted font-heading text-sm" > Loading...</ p >
53+ < p className = "text-[#737373] font-heading text-sm" > Loading...</ p >
6154 </ div >
6255 </ div >
6356 ) ;
@@ -68,93 +61,76 @@ export default function DashboardPage() {
6861 }
6962
7063 return (
71- < div className = "min-h-[100dvh] bg-pa-navy relative overflow-hidden" >
72- { /* Background orbs */ }
73- < div className = "absolute inset-0 pointer-events-none" >
74- < div className = "absolute top-[-20%] left-[-10%] w-[60vw] h-[60vw] bg-accent-violet/8 rounded-full blur-[120px]" />
75- < div className = "absolute bottom-[-10%] right-[-15%] w-[50vw] h-[50vw] bg-accent-indigo/5 rounded-full blur-[100px]" />
76- </ div >
77-
78- < div className = "relative z-10 px-6 py-12 max-w-6xl mx-auto" >
64+ < div className = "min-h-[100dvh] bg-background" >
65+ < div className = "px-6 py-12 max-w-6xl mx-auto" >
7966 { /* Header */ }
80- < motion . div
81- variants = { staggerContainer }
82- initial = "hidden"
83- animate = "visible"
84- className = "mb-12"
85- >
86- < motion . div variants = { fadeUpVariants } className = "flex items-center gap-3 mb-4" >
87- < div className = "w-10 h-10 rounded-full bg-accent-violet/20 flex items-center justify-center" >
88- < Lightning className = "w-5 h-5 text-accent-indigo" weight = "light" />
67+ < div className = "mb-12" >
68+ < div className = "flex items-center gap-3 mb-4" >
69+ < div className = "w-9 h-9 rounded-md bg-[#FFE5D9] flex items-center justify-center" >
70+ < Lightning className = "w-5 h-5 text-[#FF6B35]" />
8971 </ div >
90- < span className = "font-heading text-lg text-text-muted " > Interview Lab</ span >
91- </ motion . div >
72+ < span className = "font-heading text-sm text-[#737373] " > Interview Lab</ span >
73+ </ div >
9274
93- < motion . h1 variants = { fadeUpVariants } className = "text-4xl font-heading font-bold text-text-primary mb-2" >
75+ < h1 className = "text-4xl font-heading font-bold text-[#171717] mb-2" >
9476 Welcome back, { user . name ?. split ( " " ) [ 0 ] || "Learner" } !
95- </ motion . h1 >
96- < motion . p variants = { fadeUpVariants } className = "text-text-muted text-lg" >
77+ </ h1 >
78+ < p className = "text-[#737373] text-lg" >
9779 Continue your journey to becoming an Amazon VA
98- </ motion . p >
99- </ motion . div >
80+ </ p >
81+ </ div >
10082
10183 { /* Coming Soon Card */ }
102- < motion . div
103- variants = { staggerContainer }
104- initial = "hidden"
105- animate = "visible"
106- >
107- < motion . div variants = { slideUpVariants } className = "mb-8" >
108- < GlassCard variant = "elevated" className = "p-12 text-center" >
109- < div className = "w-20 h-20 rounded-full bg-accent-violet/10 flex items-center justify-center mx-auto mb-6" >
110- < LightningSlash className = "w-10 h-10 text-accent-indigo" weight = "light" />
111- </ div >
112- < h2 className = "text-2xl font-heading font-bold text-text-primary mb-4" >
113- Full Dashboard Coming Soon
114- </ h2 >
115- < p className = "text-text-muted text-lg mb-8 max-w-md mx-auto" >
116- We are building a comprehensive dashboard with progress tracking,
117- interview history, and personalized recommendations.
118- </ p >
119-
120- < div className = "flex flex-col sm:flex-row gap-4 justify-center" >
121- < Link href = "/" >
122- < GlassButton className = "gap-2" >
123- Go to Home
124- < ArrowRight className = "w-4 h-4" weight = "light" />
125- </ GlassButton >
126- </ Link >
127- </ div >
128- </ GlassCard >
129- </ motion . div >
84+ < div className = "mb-8" >
85+ < FieldCard variant = "default" className = "p-12 text-center" >
86+ < div className = "w-16 h-16 rounded-lg bg-[#FFE5D9] flex items-center justify-center mx-auto mb-6" >
87+ < LightningSlash className = "w-8 h-8 text-[#FF6B35]" />
88+ </ div >
89+ < h2 className = "text-2xl font-heading font-bold text-[#171717] mb-4" >
90+ Full Dashboard Coming Soon
91+ </ h2 >
92+ < p className = "text-[#737373] text-lg mb-8 max-w-md mx-auto" >
93+ We are building a comprehensive dashboard with progress tracking,
94+ interview history, and personalized recommendations.
95+ </ p >
96+
97+ < div className = "flex flex-col sm:flex-row gap-4 justify-center" >
98+ < Link href = "/" >
99+ < FieldButton className = "gap-2" >
100+ Go to Home
101+ < ArrowRight className = "w-4 h-4" />
102+ </ FieldButton >
103+ </ Link >
104+ </ div >
105+ </ FieldCard >
106+ </ div >
130107
131- { /* Feature Preview Cards */ }
132- < motion . div variants = { slideUpVariants } className = "grid md:grid-cols-3 gap-6 " >
133- < GlassCard className = "p-6" >
134- < div className = "w-10 h-10 rounded-lg bg-accent-violet/10 flex items-center justify-center mb-4" >
135- < Lightning className = "w-5 h-5 text-accent-indigo" weight = "light " />
136- </ div >
137- < h3 className = "font-heading font-semibold text-text-primary mb-2" > Mock Interviews</ h3 >
138- < p className = "text-text-muted text-sm" > AI-powered practice sessions for Amazon VA roles</ p >
139- </ GlassCard >
108+ { /* Feature Preview Cards */ }
109+ < div className = "grid md:grid-cols-3 gap-5 " >
110+ < FieldCard className = "p-6" >
111+ < div className = "w-10 h-10 rounded-md bg-[#FFE5D9] flex items-center justify-center mb-4" >
112+ < ChatsCircle className = "w-5 h-5 text-[#FF6B35] " />
113+ </ div >
114+ < h3 className = "font-heading font-semibold text-[#171717] mb-2" > Mock Interviews</ h3 >
115+ < p className = "text-[#737373] text-sm" > AI-powered practice sessions for Amazon VA roles</ p >
116+ </ FieldCard >
140117
141- < GlassCard className = "p-6" >
142- < div className = "w-10 h-10 rounded-lg bg-accent-emerald/10 flex items-center justify-center mb-4" >
143- < Lightning className = "w-5 h-5 text-accent-emerald" weight = "light " />
144- </ div >
145- < h3 className = "font-heading font-semibold text-text-primary mb-2" > Resume Lab</ h3 >
146- < p className = "text-text-muted text-sm" > Build and optimize your VA resume for Amazon roles</ p >
147- </ GlassCard >
118+ < FieldCard className = "p-6" >
119+ < div className = "w-10 h-10 rounded-md bg-[#D1FAE5] flex items-center justify-center mb-4" >
120+ < FileDoc className = "w-5 h-5 text-[#0E7C3A] " />
121+ </ div >
122+ < h3 className = "font-heading font-semibold text-[#171717] mb-2" > Resume Lab</ h3 >
123+ < p className = "text-[#737373] text-sm" > Build and optimize your VA resume for Amazon roles</ p >
124+ </ FieldCard >
148125
149- < GlassCard className = "p-6" >
150- < div className = "w-10 h-10 rounded-lg bg-accent-amber/10 flex items-center justify-center mb-4" >
151- < Lightning className = "w-5 h-5 text-accent-amber" weight = "light" />
152- </ div >
153- < h3 className = "font-heading font-semibold text-text-primary mb-2" > Practice Tests</ h3 >
154- < p className = "text-text-muted text-sm" > Test your knowledge with role-specific assessments</ p >
155- </ GlassCard >
156- </ motion . div >
157- </ motion . div >
126+ < FieldCard className = "p-6" >
127+ < div className = "w-10 h-10 rounded-md bg-[#FEF3C7] flex items-center justify-center mb-4" >
128+ < ClipboardText className = "w-5 h-5 text-[#B45309]" />
129+ </ div >
130+ < h3 className = "font-heading font-semibold text-[#171717] mb-2" > Practice Tests</ h3 >
131+ < p className = "text-[#737373] text-sm" > Test your knowledge with role-specific assessments</ p >
132+ </ FieldCard >
133+ </ div >
158134 </ div >
159135 </ div >
160136 ) ;
0 commit comments