Added admin page only show when admin is logged in.
This commit is contained in:
Binary file not shown.
@@ -41,6 +41,7 @@ export type User = {
|
||||
email: string;
|
||||
customerId: number;
|
||||
session: string;
|
||||
isAdmin: boolean;
|
||||
// weitere Felder nach Bedarf
|
||||
};
|
||||
|
||||
|
||||
@@ -70,6 +70,7 @@ const LoginDialog: React.FC<LoginDialogProps> = ({ open, onClose, loginData, set
|
||||
password: customerData.password,
|
||||
customerId: customerData.customer.id, // Setze die customerId aus den Account-Daten
|
||||
session: session, // Setze die Session aus der Login-Antwort
|
||||
isAdmin: customerData.admin
|
||||
};
|
||||
login(user);
|
||||
setShowRegister(false); // Zurück zum Login wechseln
|
||||
|
||||
@@ -46,7 +46,17 @@ export default function NavBar() {
|
||||
|
||||
const pageKeys = ['components', 'checkout', 'contact', 'admin'];
|
||||
|
||||
const pages = pageKeys.map(key => ({ key, label: t(key) }));
|
||||
const filteredPages = pageKeys
|
||||
.filter(key => {
|
||||
if (key === "admin") {
|
||||
return user?.isAdmin === true; // nur Admins sehen Admin-Seite
|
||||
}
|
||||
return true; // alle anderen Seiten immer anzeigen
|
||||
})
|
||||
.map(key => ({ key, label: t(key) }));
|
||||
|
||||
|
||||
|
||||
const settings = user
|
||||
? [
|
||||
{
|
||||
@@ -111,7 +121,6 @@ export default function NavBar() {
|
||||
React.useEffect(() => {
|
||||
// Setze den Avatar-Namen, wenn der Benutzer angemeldet ist
|
||||
if (user !== undefined && user !== null) {
|
||||
console.log("User:", user);
|
||||
setAvatarName(user.email.toUpperCase());
|
||||
}
|
||||
}, [user]);
|
||||
@@ -198,7 +207,7 @@ export default function NavBar() {
|
||||
|
||||
<Box sx={{ display: "flex", alignItems: "center", gap: 2, marginLeft: 'auto' }}>
|
||||
<Box sx={{ display: { xs: "none", md: "flex" }, gap: 2 }}>
|
||||
{pages.map(({ key, label }) => {
|
||||
{filteredPages.map(({ key, label }) => {
|
||||
if (key === 'checkout') {
|
||||
return (
|
||||
<Button
|
||||
@@ -246,7 +255,7 @@ export default function NavBar() {
|
||||
open={Boolean(anchorElNav)}
|
||||
onClose={() => setAnchorElNav(null)}
|
||||
>
|
||||
{pages.map(({ key, label }) => (
|
||||
{filteredPages.map(({ key, label }) => (
|
||||
<MenuItem key={key} onClick={() => handleCloseNavMenu(key)}>
|
||||
<Typography>{label}</Typography>
|
||||
</MenuItem>
|
||||
|
||||
Reference in New Issue
Block a user