# Admin-Rolle in Appwrite einrichten Die Admin-Erkennung verwendet jetzt die **Labels** aus Appwrite. Ein Benutzer ist Admin, wenn er das Label `admin` hat. ## Schritt 1: Admin-Label in Appwrite hinzufügen ### Option A: Über das Appwrite Dashboard 1. Gehe zu `https://appwrite.webklar.com` 2. Öffne dein Projekt **woms** 3. Gehe zu **Auth** → **Users** 4. Wähle den Benutzer aus, der Admin werden soll 5. Klicke auf **Edit** oder öffne die Benutzer-Details 6. Scrolle zu **Labels** (oder **Custom Attributes**) 7. Klicke auf **Add Label** oder **+** 8. Gib `admin` ein 9. Klicke auf **Save** oder **Update** ### Option B: Über die Appwrite API (für mehrere Benutzer) Du kannst auch Labels programmatisch hinzufügen, aber das ist normalerweise nicht nötig. ## Schritt 2: Überprüfen Nach dem Hinzufügen des Labels: 1. **Logge dich aus** und wieder **ein** (damit die Session aktualisiert wird) 2. Oder lade die Seite neu (F5) 3. Der **Admin**-Link sollte jetzt in der Navigation erscheinen 4. Du solltest Zugriff auf das Admin-Panel haben ## Schritt 3: Mehrere Admins hinzufügen Um weitere Admins hinzuzufügen: 1. Wiederhole Schritt 1 für jeden Benutzer 2. Füge das Label `admin` hinzu 3. Die Benutzer müssen sich neu einloggen ## Wie es funktioniert - **AuthContext**: Prüft ob `user.labels` das Label `admin` enthält - **Navbar**: Zeigt den Admin-Link nur an, wenn `isAdmin === true` - **AdminPage**: Blockiert den Zugriff, wenn der Benutzer kein Admin ist ## Debugging Falls der Admin-Link nicht erscheint: 1. **Browser-Konsole öffnen** (F12) 2. Prüfe das User-Objekt: ```javascript // In der Browser-Konsole: console.log(user) // Prüfe ob user.labels das Array ['admin'] enthält ``` 3. **Überprüfe in Appwrite:** - Gehe zu **Auth** → **Users** - Öffne deinen Benutzer - Stelle sicher, dass das Label `admin` vorhanden ist 4. **Session aktualisieren:** - Logge dich aus und wieder ein - Oder lade die Seite neu ## Wichtig - Das Label muss genau `admin` heißen (kleingeschrieben) - Der Benutzer muss sich nach dem Hinzufügen des Labels neu einloggen - Labels sind case-sensitive Viel Erfolg! 🚀