Files
blitzkit/packages/website/src/components/WargamingAccountName.tsx
T

27 lines
861 B
TypeScript
Raw Normal View History

2024-09-08 10:17:40 -05:00
import { getAccountInfo, idToRegion } from '@blitzkit/core';
2024-09-14 19:43:14 -05:00
import { useStore } from '@nanostores/react';
import { Text } from '@radix-ui/themes';
2024-09-14 19:43:14 -05:00
import { useMemo } from 'react';
import usePromise from 'react-promise-suspense';
2024-09-15 14:51:01 -05:00
import { $wargamingLogin } from '../stores/wargamingLogin';
export function WargamingAccountName() {
2024-09-14 19:43:14 -05:00
const wargamingLogin = useStore($wargamingLogin);
const promise = useMemo(async () => {
if (!wargamingLogin.token) return null;
const data = await getAccountInfo(
idToRegion(Number(wargamingLogin.id)),
Number(wargamingLogin.id),
[],
{
access_token: wargamingLogin.token,
},
);
return data?.nickname as string | undefined;
}, [wargamingLogin.token]);
const nickname = usePromise(() => promise, []);
return nickname ?? <Text color="gray">Unknown Account</Text>;
}