feat(Profile): uid param
This commit is contained in:
parent
6fcd54ed34
commit
5d668b2078
@ -49,7 +49,9 @@ const route = createBrowserRouter([
|
|||||||
{
|
{
|
||||||
path: 'profile/:uid',
|
path: 'profile/:uid',
|
||||||
loader: async ({ params }) => {
|
loader: async ({ params }) => {
|
||||||
return fetch(`/api/user/${params.uid}`);
|
const { uid } = params;
|
||||||
|
const profile = await (await fetch(`/api/user/${uid}`)).json();
|
||||||
|
return { profile, uid };
|
||||||
},
|
},
|
||||||
Component: ProfilePage,
|
Component: ProfilePage,
|
||||||
HydrateFallback: () => <HydrateFallback />
|
HydrateFallback: () => <HydrateFallback />
|
||||||
|
|||||||
@ -82,7 +82,7 @@ function PlayerList(props: { title: string; names?: string[]; uids?: string[] })
|
|||||||
}
|
}
|
||||||
|
|
||||||
export default function ProfilePage() {
|
export default function ProfilePage() {
|
||||||
const profile = useLoaderData<XCXProfile | null>();
|
const { profile, uid } = useLoaderData<{ profile: XCXProfile; uid: string }>();
|
||||||
console.debug('profile', profile);
|
console.debug('profile', profile);
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
useTitle(`${profile?.username}${profile?.realname ? ` (${profile?.realname})` : ''} 个人详情`, { restoreOnUnmount: true });
|
useTitle(`${profile?.username}${profile?.realname ? ` (${profile?.realname})` : ''} 个人详情`, { restoreOnUnmount: true });
|
||||||
@ -106,7 +106,7 @@ export default function ProfilePage() {
|
|||||||
<Typography.Paragraph>
|
<Typography.Paragraph>
|
||||||
{profile?.description}
|
{profile?.description}
|
||||||
</Typography.Paragraph>
|
</Typography.Paragraph>
|
||||||
<UserTags uid={profile?.uid} />
|
<UserTags uid={uid} />
|
||||||
<Raket profile={profile} />
|
<Raket profile={profile} />
|
||||||
<Flex wrap gap={24} justify="center">
|
<Flex wrap gap={24} justify="center">
|
||||||
<Flex vertical align="center">
|
<Flex vertical align="center">
|
||||||
@ -131,7 +131,7 @@ export default function ProfilePage() {
|
|||||||
</Flex>
|
</Flex>
|
||||||
</Flex>
|
</Flex>
|
||||||
<Honor honors={profile?.honors} />
|
<Honor honors={profile?.honors} />
|
||||||
<GameTable uid={profile?.uid} data={profile?.games?.data} />
|
<GameTable uid={uid} data={profile?.games?.data} />
|
||||||
</Flex>
|
</Flex>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user