Frontend: Kitüntetések (Badge) kezelő oldal #332

Closed
opened 2026-06-29 16:07:05 +02:00 by kincses · 3 comments
Owner

Mérföldkő: Epic 8 Gamification 2.0, Verseny és Önvéde
Cél: Badge-ek admin CRUD oldal létrehozása grid nézettel és felhasználói kiosztással

🔗 Függőségek (Dependencies)

  • Bemenet (Mikre támaszkodik): #329 (Frontend menüpont)
  • Kimenet (Mik támaszkodnak rá): Nincs

📝 Elemzés

frontend_admin/pages/gamification/badges.vue létrehozása:

  1. Grid nézet: Badge kártyák (ikon, név, leírás, tulajdonosok száma)
  2. CRUD: Badge létrehozás/szerkesztés űrlap (name, description, icon_url)
  3. Badge kiosztása: Felhasználó kiválasztása + badge hozzárendelés
  4. API: GET/POST/PUT/DELETE /admin/gamification/badges
  5. Támogatja: loading state, empty state (nincs badge), error handling
**Mérföldkő:** Epic 8 Gamification 2.0, Verseny és Önvéde **Cél:** Badge-ek admin CRUD oldal létrehozása grid nézettel és felhasználói kiosztással ### 🔗 Függőségek (Dependencies) - **Bemenet (Mikre támaszkodik):** #329 (Frontend menüpont) - **Kimenet (Mik támaszkodnak rá):** Nincs ### 📝 Elemzés frontend_admin/pages/gamification/badges.vue létrehozása: 1. Grid nézet: Badge kártyák (ikon, név, leírás, tulajdonosok száma) 2. CRUD: Badge létrehozás/szerkesztés űrlap (name, description, icon_url) 3. Badge kiosztása: Felhasználó kiválasztása + badge hozzárendelés 4. API: GET/POST/PUT/DELETE /admin/gamification/badges 5. Támogatja: loading state, empty state (nincs badge), error handling
kincses added this to the Epic 8 Gamification 2.0, Verseny és Önvéde milestone 2026-06-29 16:07:05 +02:00
kincses added the Status: To DoScope: FrontendType: Feature labels 2026-06-29 16:07:06 +02:00
kincses added Status: In Progress and removed Status: To Do labels 2026-06-29 22:40:21 +02:00
kincses started working 2026-06-29 22:40:21 +02:00
Author
Owner

▶️ Munka megkezdve: 2026-06-29 22:40:20

▶️ **Munka megkezdve:** 2026-06-29 22:40:20
kincses added Status: Done and removed Status: In Progress labels 2026-06-29 22:44:23 +02:00
kincses worked for 4 minutes 2026-06-29 22:44:23 +02:00
Author
Owner

Munka befejezve: 2026-06-29 22:44:23

Technikai Összefoglaló:
Frontend: Kitüntetések (Badge) kezelő oldal elkészítve. Teljes CRUD implementáció a badges.vue-ben: listázás, létrehozás, szerkesztés, törlés. Adattábla ID/Név/Leírás/Ikon oszlopokkal, create/edit modal validációval, delete confirmation modal, 409 Conflict kezelés, toast értesítések, loading/error/empty állapotok. Backend API végpontok (GET/POST/PUT/DELETE /admin/gamification/badges) már léteztek és működtek. E2E tesztek: mind a 4 CRUD művelet sikeres.

⏱️ Az idő rögzítve.

✅ **Munka befejezve:** 2026-06-29 22:44:23 **Technikai Összefoglaló:** Frontend: Kitüntetések (Badge) kezelő oldal elkészítve. Teljes CRUD implementáció a badges.vue-ben: listázás, létrehozás, szerkesztés, törlés. Adattábla ID/Név/Leírás/Ikon oszlopokkal, create/edit modal validációval, delete confirmation modal, 409 Conflict kezelés, toast értesítések, loading/error/empty állapotok. Backend API végpontok (GET/POST/PUT/DELETE /admin/gamification/badges) már léteztek és működtek. E2E tesztek: mind a 4 CRUD művelet sikeres. ⏱️ *Az idő rögzítve.*
Author
Owner

Gitea #332 - Frontend: Kitüntetések (Badge) kezelő oldal - Kész

Elvégzett feladatok:

  1. Gitea kártya kezelés: #332 kártya elindítva (start), majd sikeresen lezárva (finish)

  2. Badge CRUD admin oldal implementáció (frontend_admin/pages/gamification/badges.vue):

    • Adattábla: ID, Név, Leírás, Ikon (kép előnézettel), Műveletek oszlopok
    • Create/Edit modal: name (kötelező, max 100), description (kötelező, max 500), icon_url (opcionális URL élő előnézettel)
    • Delete confirmation modal: badge név és leírás megjelenítése törlés előtt
    • Toast értesítések: sikeres/hiba műveletekhez auto-clear-el
    • Állapotkezelés: loading spinner, error message, empty state ("Nincs még kitüntetés")
    • 409 Conflict kezelés: duplikált név esetén felhasználóbarát hibaüzenet
    • Auth middleware: useAuth() hívás a védelemhez
  3. Backend API ellenőrzés (admin_gamification.py):

    • GET /admin/gamification/badges 200 OK
    • POST /admin/gamification/badges 201 Created
    • PUT /admin/gamification/badges/{id} 200 Updated
    • DELETE /admin/gamification/badges/{id} 204 No Content
  4. Dokumentáció: history.md frissítve a #332 bejegyzéssel

## ✅ Gitea #332 - Frontend: Kitüntetések (Badge) kezelő oldal - Kész ### Elvégzett feladatok: 1. **Gitea kártya kezelés:** #332 kártya elindítva (`start`), majd sikeresen lezárva (`finish`) 2. **Badge CRUD admin oldal implementáció** ([`frontend_admin/pages/gamification/badges.vue`](frontend_admin/pages/gamification/badges.vue)): - **Adattábla:** ID, Név, Leírás, Ikon (kép előnézettel), Műveletek oszlopok - **Create/Edit modal:** name (kötelező, max 100), description (kötelező, max 500), icon_url (opcionális URL élő előnézettel) - **Delete confirmation modal:** badge név és leírás megjelenítése törlés előtt - **Toast értesítések:** sikeres/hiba műveletekhez auto-clear-el - **Állapotkezelés:** loading spinner, error message, empty state ("Nincs még kitüntetés") - **409 Conflict kezelés:** duplikált név esetén felhasználóbarát hibaüzenet - **Auth middleware:** `useAuth()` hívás a védelemhez 3. **Backend API ellenőrzés** ([`admin_gamification.py`](backend/app/api/v1/endpoints/admin_gamification.py)): - `GET /admin/gamification/badges` → ✅ 200 OK - `POST /admin/gamification/badges` → ✅ 201 Created - `PUT /admin/gamification/badges/{id}` → ✅ 200 Updated - `DELETE /admin/gamification/badges/{id}` → ✅ 204 No Content 4. **Dokumentáció:** [`history.md`](.roo/history.md) frissítve a #332 bejegyzéssel
Sign in to join this conversation.