11'use client' ;
2+ import { PriceDisplay } from '@/components/PriceDisplay' ;
3+ import EmptyState from '@/components/EmptyState' ;
24import { BoundlessButton } from '@/components/buttons' ;
5+ import { Coins , History , Plus } from 'lucide-react' ;
6+ import Card from '@/components/card' ;
7+ import RecentProjects from '@/components/overview/RecentProjects' ;
8+ import RecentContributions from '@/components/overview/ReecntContributions' ;
9+ import GrantHistory from '@/components/overview/GrantHistory' ;
310import { AuthNav } from '@/components/auth/AuthNav' ;
11+ import CommentModal from '@/components/comment/modal' ;
412import { motion } from 'framer-motion' ;
513import {
14+ fadeInUp ,
615 staggerContainer ,
716 slideInFromLeft ,
817 slideInFromRight ,
918} from '@/lib/motion' ;
1019import PageTransition from '@/components/PageTransition' ;
11- import Link from 'next/link' ;
1220
1321export default function Home ( ) {
1422 return (
@@ -27,12 +35,101 @@ export default function Home() {
2735 < AuthNav />
2836 </ motion . header >
2937 < motion . main
30- className = 'w-full max-w-6xl flex flex-col items-center justify-center '
31- variants = { slideInFromRight }
38+ className = 'flex flex-col gap-[32px] items-center sm:items-start '
39+ variants = { staggerContainer }
3240 >
33- < Link href = '/user' >
34- < BoundlessButton > Go to Dashboard</ BoundlessButton >
35- </ Link >
41+ < motion . div
42+ className = 'bg-[#1C1C1C] rounded-lg p-4 w-full max-w-[550px]'
43+ variants = { fadeInUp }
44+ >
45+ < PriceDisplay price = { 100 } className = 'text-2xl font-bold' />
46+ < EmptyState
47+ title = 'No comments yet'
48+ description = 'Start by sharing your first project idea with the Boundless community. Once submitted, your projects will appear here for easy tracking.'
49+ type = 'default'
50+ action = {
51+ < CommentModal
52+ onCommentSubmit = { comment =>
53+ console . log ( 'Comment submitted:' , comment )
54+ }
55+ >
56+ < BoundlessButton
57+ variant = 'default'
58+ size = 'lg'
59+ icon = { < Plus className = 'w-5 h-5' /> }
60+ iconPosition = 'right'
61+ >
62+ Add comment
63+ </ BoundlessButton >
64+ </ CommentModal >
65+ }
66+ />
67+ </ motion . div >
68+ < motion . div className = 'flex gap-4' variants = { staggerContainer } >
69+ < motion . div variants = { fadeInUp } >
70+ < Card
71+ title = 'Active Campaigns'
72+ value = '10'
73+ bottomText = {
74+ < div className = 'flex items-center gap-2' >
75+ < Coins className = 'w-4 h-4 text-white/60' />
76+ < PriceDisplay
77+ price = { 0 }
78+ className = '!text-xs !tracking-[-0.06px]'
79+ />
80+ </ div >
81+ }
82+ />
83+ </ motion . div >
84+ < motion . div variants = { fadeInUp } >
85+ < Card
86+ title = 'Pending Submissions'
87+ value = '0'
88+ bottomText = {
89+ < div className = 'flex items-center gap-2' >
90+ < History className = 'w-4 h-4 text-white/60' />
91+ < span className = 'text-white/60' > No recent submissions</ span >
92+ </ div >
93+ }
94+ />
95+ </ motion . div >
96+ < motion . div variants = { fadeInUp } >
97+ < Card
98+ title = 'Active Projects'
99+ value = '0'
100+ bottomText = {
101+ < div className = 'flex items-center gap-2' >
102+ < span className = 'text-white/90' > 0</ span >
103+ Approved Submissions
104+ </ div >
105+ }
106+ />
107+ </ motion . div >
108+ < motion . div variants = { fadeInUp } >
109+ < Card
110+ title = 'Available Grants'
111+ value = {
112+ < PriceDisplay price = { 0 } className = '!tracking-[-0.06px]' />
113+ }
114+ bottomText = {
115+ < div className = 'flex items-center gap-2 text-white/90' >
116+ 6 grants available
117+ </ div >
118+ }
119+ />
120+ </ motion . div >
121+ </ motion . div >
122+ < motion . div variants = { fadeInUp } >
123+ < RecentProjects projects = { [ ] } />
124+ </ motion . div >
125+ < motion . div className = 'flex gap-4' variants = { staggerContainer } >
126+ < motion . div variants = { slideInFromLeft } >
127+ < RecentContributions projects = { [ ] } />
128+ </ motion . div >
129+ < motion . div variants = { slideInFromRight } >
130+ < GrantHistory projects = { [ ] } />
131+ </ motion . div >
132+ </ motion . div >
36133 </ motion . main >
37134 </ motion . div >
38135 </ PageTransition >
0 commit comments