Profile
Seto Elkahfi committed
Aug 1, 2024 at 16:13 UTC
699ae37a0cb219fa616ddbfefdfc8db3fec5923d
2 files changed
+30
-27
frontend/splitfire-desktop/app/profile/layout.tsx
-7
@@ -1,12 +1,5 @@
1
-import { Metadata } from 'next';
1
import React from 'react';
2
4
-export const metadata: Metadata = {
5
- title: "Play",
6
- description: "an intelligent exression engine.",
7
-};
8
-
9
-
3
export default async function Layout({
4
children,
5
}: {
frontend/splitfire-desktop/app/profile/page.tsx
+30
-20
@@ -1,28 +1,38 @@
1
-import { SkeletonCard } from '../_ui/skeleton-card';
1
+"use client";
2
3
-export async function generateStaticParams() {
4
- const posts = [
5
- { slug: "post-1" },
6
- { slug: "post-2" },
7
- { slug: "post-3" },
8
- ];
9
-
10
- return posts.map((post) => ({
11
- slug: post.slug,
12
- }))
13
-}
3
+import { useContext } from "react";
4
+import { UserContext } from "../_src/lib/CurrentUserContext";
5
+import { useLogger } from "../_src/lib/logger";
6
+import { SkeletonCard } from "../_ui/skeleton-card";
7
+import { usernameOrId } from "../_src/models/user";
8
9
export default function Page() {
10
+ const log = useLogger("Profile/Page");
11
+ const currentUser = useContext(UserContext);
12
+ log.debug("currentUser");
13
+
14
+ const user = currentUser?.user?.user;
15
+ // Sanity check
16
+ if (!user) {
17
+ log.error("No user context");
18
+ return <div>No user context</div>;
19
+ }
20
+
21
return (
22
<div className="prose prose-sm prose-invert max-w-none">
18
- <div className="max-w-none">
19
- Your profile
20
- </div>
21
- <div className="grid grid-cols-1 gap-6 lg:grid-cols-3">
22
- <h2 className="text-2xl font-bold">Your plays</h2>
23
- {Array.from({ length: 6 }).map((_, i) => (
24
- <SkeletonCard key={i} />
25
- ))}
23
+ <div className="grid grid-rows-2 grid-flow-row auto-rows-max">
24
+ <div className="max-h-1">
25
+ <h2>@{usernameOrId(user)}</h2>
26
+ <p>{user.name}</p>
27
+ </div>
28
+ <div className="max-w-none">
29
+ <div className="grid grid-cols-1 gap-6 lg:grid-cols-3">
30
+ <h2 className="text-2xl font-bold">Your plays</h2>
31
+ {Array.from({ length: 6 }).map((_, i) => (
32
+ <SkeletonCard key={i} />
33
+ ))}
34
+ </div>
35
+ </div>
36
</div>
37
</div>
38
);