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 );