Frontend: Master Config szerkesztő és Rendszerparaméterek oldalak #336

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

Mérföldkő: Epic 8 Gamification 2.0, Verseny és Önvéde
Cél: GAMIFICATION_MASTER_CONFIG JSON szerkesztő és gamification rendszerparaméterek admin oldala

🔗 Függőségek (Dependencies)

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

📝 Elemzés

Két új oldal létrehozása:

  1. frontend_admin/pages/gamification/config.vue:

    • JSON Editor: GAMIFICATION_MASTER_CONFIG szerkesztése validált JSON mezőkkel
    • Szekciók: xp_logic (base_xp, exponent), penalty_logic (recovery_rate, thresholds, multipliers), conversion_logic (social_to_credit_rate), level_rewards (credits_per_10_levels)
    • Hatás kalkulátor: sliderek a paraméterek teszteléséhez
    • MENTÉS gomb: PUT /admin/gamification/master-config
  2. frontend_admin/pages/gamification/parameters.vue:

    • DataTable: Gamification kategóriájú SystemParameter-ek
    • Inline szerkesztés: paraméter érték módosítás
    • API: GET/PUT /admin/gamification/system-params
**Mérföldkő:** Epic 8 Gamification 2.0, Verseny és Önvéde **Cél:** GAMIFICATION_MASTER_CONFIG JSON szerkesztő és gamification rendszerparaméterek admin oldala ### 🔗 Függőségek (Dependencies) - **Bemenet (Mikre támaszkodik):** #329 (Frontend menüpont) - **Kimenet (Mik támaszkodnak rá):** Nincs ### 📝 Elemzés Két új oldal létrehozása: 1. frontend_admin/pages/gamification/config.vue: - JSON Editor: GAMIFICATION_MASTER_CONFIG szerkesztése validált JSON mezőkkel - Szekciók: xp_logic (base_xp, exponent), penalty_logic (recovery_rate, thresholds, multipliers), conversion_logic (social_to_credit_rate), level_rewards (credits_per_10_levels) - Hatás kalkulátor: sliderek a paraméterek teszteléséhez - MENTÉS gomb: PUT /admin/gamification/master-config 2. frontend_admin/pages/gamification/parameters.vue: - DataTable: Gamification kategóriájú SystemParameter-ek - Inline szerkesztés: paraméter érték módosítás - API: GET/PUT /admin/gamification/system-params
kincses added this to the Epic 8 Gamification 2.0, Verseny és Önvéde milestone 2026-06-29 16:07:37 +02:00
kincses added the Status: To DoScope: FrontendType: Feature labels 2026-06-29 16:07:38 +02:00
kincses added Status: In Progress and removed Status: To Do labels 2026-06-29 23:27:07 +02:00
kincses started working 2026-06-29 23:27:07 +02:00
Author
Owner

▶️ Munka megkezdve: 2026-06-29 23:27:07

▶️ **Munka megkezdve:** 2026-06-29 23:27:07
kincses added Status: Done and removed Status: In Progress labels 2026-06-29 23:38:50 +02:00
kincses worked for 11 minutes 2026-06-29 23:38:50 +02:00
Author
Owner

Munka befejezve: 2026-06-29 23:38:50

Technikai Összefoglaló:
Implementáltam a #336 kártya két frontend oldalát: (1) config.vue — GAMIFICATION_MASTER_CONFIG szerkesztő 4 konfigurációs szekcióval (XP Logic, Penalty Logic, Conversion Logic, Level Rewards) és Impact Calculatorral (szint/aktivitás/szociális pont csúszkák, valós idejű számított értékek), Raw JSON editorral. (2) parameters.vue — Gamification SystemParameter-ek DataTable inline szerkesztéssel, smart value parsing-gal (JSON/Number/String). Backend API-k auditálva (GET/PUT /admin/gamification/master-config, GET/PUT /admin/gamification/system-params). Mindkét oldal Nuxt HMR-rel betöltődött hibátlanul a sf_admin_frontend konténerben (port 8502).

⏱️ Az idő rögzítve.

✅ **Munka befejezve:** 2026-06-29 23:38:50 **Technikai Összefoglaló:** Implementáltam a #336 kártya két frontend oldalát: (1) config.vue — GAMIFICATION_MASTER_CONFIG szerkesztő 4 konfigurációs szekcióval (XP Logic, Penalty Logic, Conversion Logic, Level Rewards) és Impact Calculatorral (szint/aktivitás/szociális pont csúszkák, valós idejű számított értékek), Raw JSON editorral. (2) parameters.vue — Gamification SystemParameter-ek DataTable inline szerkesztéssel, smart value parsing-gal (JSON/Number/String). Backend API-k auditálva (GET/PUT /admin/gamification/master-config, GET/PUT /admin/gamification/system-params). Mindkét oldal Nuxt HMR-rel betöltődött hibátlanul a sf_admin_frontend konténerben (port 8502). ⏱️ *Az idő rögzítve.*
Author
Owner

Gitea #336 — Elkészült és lezárva

Implementált fájlok

  1. frontend_admin/pages/gamification/config.vue (~540 sor)

    • Master Config szerkesztő 4 konfigurációs szekcióval:
      • XP Logic: base_xp (csúszka 0-10000), exponent (csúszka 0.1-5.0)
      • Penalty Logic: recovery_rate (csúszka 0-1), thresholds (L1/L2/L3 inputok), multipliers (L0-L4 inputok)
      • Conversion Logic: social_to_credit_rate (csúszka 0-10000)
      • Level Rewards: credits_per_10_levels (csúszka 0-10000)
    • Impact Calculator: szint (1-100), aktivitások (1-20), szociális pontok (0-500) csúszkák
    • Valós idejű számítás: napi XP, szintlépés XP, szociális kredit, napok a szintlépésig
    • Raw JSON editor (becsukható) validációval
    • Mentés: PUT /api/v1/admin/gamification/master-config
  2. frontend_admin/pages/gamification/parameters.vue (~280 sor)

    • DataTable: key (monospace amber), value (truncated), category (badge), scope_level (színkódolt badge-ek), scope_id, actions
    • Inline szerkesztő modal textarea-val
    • Smart value parsing: JSON auto-detection, number conversion, string fallback
    • Mentés: PUT /api/v1/admin/gamification/system-params/{key}

Ellenőrzés

  • Backend API-k auditálva: GET/PUT /admin/gamification/master-config és GET/PUT /admin/gamification/system-params — mindkettő teljesen implementálva
  • Mindkét oldal Nuxt HMR-rel betöltődött és fordítási hiba nélkül fut a sf_admin_frontend konténerben (port 8502)
  • Auth: useCookie('access_token') + Authorization: Bearer header
  • Dark theme: slate-800/emerald/amber/rose/violet/cyan színséma
  • Gitea #336: Lezárva (Done)
## ✅ Gitea #336 — Elkészült és lezárva ### Implementált fájlok 1. **`frontend_admin/pages/gamification/config.vue`** (~540 sor) - **Master Config szerkesztő** 4 konfigurációs szekcióval: - **XP Logic**: `base_xp` (csúszka 0-10000), `exponent` (csúszka 0.1-5.0) - **Penalty Logic**: `recovery_rate` (csúszka 0-1), `thresholds` (L1/L2/L3 inputok), `multipliers` (L0-L4 inputok) - **Conversion Logic**: `social_to_credit_rate` (csúszka 0-10000) - **Level Rewards**: `credits_per_10_levels` (csúszka 0-10000) - **Impact Calculator**: szint (1-100), aktivitások (1-20), szociális pontok (0-500) csúszkák - **Valós idejű számítás**: napi XP, szintlépés XP, szociális kredit, napok a szintlépésig - **Raw JSON editor** (becsukható) validációval - Mentés: `PUT /api/v1/admin/gamification/master-config` 2. **`frontend_admin/pages/gamification/parameters.vue`** (~280 sor) - **DataTable**: key (monospace amber), value (truncated), category (badge), scope_level (színkódolt badge-ek), scope_id, actions - **Inline szerkesztő modal** textarea-val - **Smart value parsing**: JSON auto-detection, number conversion, string fallback - Mentés: `PUT /api/v1/admin/gamification/system-params/{key}` ### Ellenőrzés - Backend API-k auditálva: GET/PUT `/admin/gamification/master-config` és GET/PUT `/admin/gamification/system-params` — mindkettő teljesen implementálva - Mindkét oldal Nuxt HMR-rel betöltődött és fordítási hiba nélkül fut a `sf_admin_frontend` konténerben (port 8502) - Auth: `useCookie('access_token')` + `Authorization: Bearer` header - Dark theme: slate-800/emerald/amber/rose/violet/cyan színséma - Gitea #336: ✅ Lezárva (Done)
Sign in to join this conversation.