Updated management/profile pages
This commit is contained in:
8
ui/package-lock.json
generated
8
ui/package-lock.json
generated
@@ -37,7 +37,7 @@
|
|||||||
"eslint-plugin-prettier": "^5.0.0",
|
"eslint-plugin-prettier": "^5.0.0",
|
||||||
"postcss": "^8.4.31",
|
"postcss": "^8.4.31",
|
||||||
"postcss-import": "^15.1.0",
|
"postcss-import": "^15.1.0",
|
||||||
"postcss-preset-mantine": "^1.8.0",
|
"postcss-preset-mantine": "^1.9.0",
|
||||||
"prettier": "^3.0.3",
|
"prettier": "^3.0.3",
|
||||||
"typescript": "5.2.2"
|
"typescript": "5.2.2"
|
||||||
}
|
}
|
||||||
@@ -4059,9 +4059,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-preset-mantine": {
|
"node_modules/postcss-preset-mantine": {
|
||||||
"version": "1.8.0",
|
"version": "1.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-preset-mantine/-/postcss-preset-mantine-1.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-preset-mantine/-/postcss-preset-mantine-1.9.0.tgz",
|
||||||
"integrity": "sha512-aLc+EoDXsvnXM2lWWF1MI+lgGqbd5xatVJ3KyTmsheNoXBYN0OFAkRFqyy3tfdveH64Fno2SLNEr4w/njPSInw==",
|
"integrity": "sha512-ZurmjL+5UK9FZq4GGKOoksC7UMVFZVXxRMO0WwQAiMeElZ8jPXIXIALnwdQhslyoVDzpezkRuHYtXGo65DwvqA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-mixins": "^9.0.4",
|
"postcss-mixins": "^9.0.4",
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
"eslint-plugin-prettier": "^5.0.0",
|
"eslint-plugin-prettier": "^5.0.0",
|
||||||
"postcss": "^8.4.31",
|
"postcss": "^8.4.31",
|
||||||
"postcss-import": "^15.1.0",
|
"postcss-import": "^15.1.0",
|
||||||
"postcss-preset-mantine": "^1.8.0",
|
"postcss-preset-mantine": "^1.9.0",
|
||||||
"prettier": "^3.0.3",
|
"prettier": "^3.0.3",
|
||||||
"typescript": "5.2.2"
|
"typescript": "5.2.2"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,27 @@
|
|||||||
import React from 'react';
|
'use client';
|
||||||
|
|
||||||
|
import { me } from '@/api/auth';
|
||||||
|
import { User } from '@/api/auth.types';
|
||||||
|
import React, { useEffect, useState } from 'react';
|
||||||
|
import { useRouter } from 'next/navigation';
|
||||||
|
|
||||||
export default function Page() {
|
export default function Page() {
|
||||||
return <></>;
|
const [user, setUser] = useState<User | undefined>(undefined);
|
||||||
|
const router = useRouter();
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
me().then((response) => {
|
||||||
|
if (response) {
|
||||||
|
setUser(response.user);
|
||||||
|
} else {
|
||||||
|
router.push('/');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
if (user) {
|
||||||
|
return <div>Logged in as {user.email}</div>;
|
||||||
|
} else {
|
||||||
|
return <div>Not logged in</div>;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,10 +32,5 @@ export const headerItems: HeaderItem[] = [
|
|||||||
{
|
{
|
||||||
name: 'Spells',
|
name: 'Spells',
|
||||||
link: '/spells'
|
link: '/spells'
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Management',
|
|
||||||
link: '/management',
|
|
||||||
role: 'admin'
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -112,6 +112,15 @@ export default function Header() {
|
|||||||
Logout
|
Logout
|
||||||
</Button>
|
</Button>
|
||||||
</Grid.Col>
|
</Grid.Col>
|
||||||
|
{user.role == 'admin' && (
|
||||||
|
<Grid.Col span={12}>
|
||||||
|
<Link href='/management'>
|
||||||
|
<Button fullWidth radius='md' size='xs' variant='default'>
|
||||||
|
Management
|
||||||
|
</Button>
|
||||||
|
</Link>
|
||||||
|
</Grid.Col>
|
||||||
|
)}
|
||||||
</Grid>
|
</Grid>
|
||||||
</Card>
|
</Card>
|
||||||
</Menu.Dropdown>
|
</Menu.Dropdown>
|
||||||
|
|||||||
Reference in New Issue
Block a user