resolved merge conflict

This commit is contained in:
Laura Dolibois
2025-06-15 20:29:20 +02:00
3 changed files with 15 additions and 4 deletions

View File

@@ -41,6 +41,7 @@ export type User = {
email: string;
customerId: number;
session: string;
isAdmin: boolean;
// weitere Felder nach Bedarf
};

View File

@@ -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

View File

@@ -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>