/ app / profile / page.tsx
page.tsx
 1  "use client";
 2  
 3  import { Sidebar } from '@/components/Sidebar'
 4  import { ProfileHeader } from '@/components/ProfileHeader'
 5  import { Post } from '@/components/Post'
 6  import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"
 7  import { useAccount } from 'wagmi'
 8  
 9  
10  export default function ProfilePage() {
11    const { address } = useAccount()
12    return (
13      <>
14        <aside className="md:col-span-1">
15          <Sidebar />
16        </aside>
17        <main className="md:col-span-2 border-x">
18          <ProfileHeader
19            username={address ? address : "Loading..."}
20            handle={address ? address : "Loading..."}
21            bio="Software developer | Coffee enthusiast | Dog lover"
22            location="San Francisco, CA"
23            website="https://janedoe.com"
24            joinDate="September 2021"
25            followersCount={1234}
26            followingCount={567}
27          />
28          <Tabs defaultValue="tweets" className="w-full">
29            <TabsList className="w-full justify-start h-auto p-0 bg-transparent border-b rounded-none">
30              <TabsTrigger value="tweets" className="flex-1 rounded-none border-b-2 border-transparent data-[state=active]:border-blue-500">Tweets</TabsTrigger>
31              <TabsTrigger value="replies" className="flex-1 rounded-none border-b-2 border-transparent data-[state=active]:border-blue-500">Replies</TabsTrigger>
32              <TabsTrigger value="media" className="flex-1 rounded-none border-b-2 border-transparent data-[state=active]:border-blue-500">Media</TabsTrigger>
33              <TabsTrigger value="likes" className="flex-1 rounded-none border-b-2 border-transparent data-[state=active]:border-blue-500">Likes</TabsTrigger>
34            </TabsList>
35            <TabsContent value="tweets">
36              <div className="divide-y">
37                <Post
38                  username="Jane Doe"
39                  handle="janedoe"
40                  content="Just finished a new project! #coding #webdev"
41                  timestamp="2h"
42                />
43                <Post
44                  username="Jane Doe"
45                  handle="janedoe"
46                  content="Morning coffee and code review. Perfect start to the day!"
47                  timestamp="1d"
48                />
49                <Post
50                  username="Jane Doe"
51                  handle="janedoe"
52                  content="Excited to attend the tech conference next week! Anyone else going?"
53                  timestamp="3d"
54                />
55              </div>
56            </TabsContent>
57            <TabsContent value="replies">
58              <div className="p-4 text-center text-gray-500">No replies yet.</div>
59            </TabsContent>
60            <TabsContent value="media">
61              <div className="p-4 text-center text-gray-500">No media tweets yet.</div>
62            </TabsContent>
63            <TabsContent value="likes">
64              <div className="p-4 text-center text-gray-500">No liked tweets yet.</div>
65            </TabsContent>
66          </Tabs>
67        </main>
68        <aside className="hidden md:block md:col-span-1">
69          {/* You can add a "Who to follow" section or trending topics here */}
70        </aside>
71      </>
72    )
73  }
74