Skip to content

Social Worker Dashboard & Beneficiary Management #1

@udiedrichsen

Description

@udiedrichsen

Ziel

Social Worker brauchen ein eigenes Dashboard um ihre Beneficiaries zu verwalten.

Was gebaut werden soll

1. Store erweitern (src/lib/stores/mock-data.ts)

  • getMyBeneficiaries(socialWorkerId) — nur eigene Beneficiaries
  • addBeneficiary(data) — neuen Beneficiary anlegen mit generiertem Codeword
  • updateBeneficiary(id, data) — Story, Needs, Status ändern
  • removeBeneficiary(id) — Soft-Delete (archivieren)

2. Social Worker Dashboard (/[locale]/social-worker/page.tsx)

  • Übersicht: Anzahl aktive Beneficiaries, Gesamtspenden, offene Needs
  • Statistik-Cards (wie Donor Dashboard, aber aus SW-Perspektive)
  • Quick-Actions: "Neuen Beneficiary anlegen", "Codewords verwalten"
  • Redirect zu Login wenn nicht eingeloggt oder Rolle != socialWorker

3. Beneficiary Management (/[locale]/social-worker/beneficiaries/page.tsx)

  • Tabelle/Liste aller eigenen Beneficiaries
  • Filter: Location, Verified-Status, Needs
  • Inline-Status (Codeword, aktuelle Spenden, Ziel)
  • Link zu Edit-Seite

4. Add/Edit Beneficiary (/[locale]/social-worker/beneficiaries/[id]/page.tsx)

  • Formular: Name, Story, Needs (Multi-Select), Location, Zielsbetrag
  • Codeword wird automatisch generiert (bei Add) oder angezeigt (bei Edit)
  • Validierung (Name required, Zielbetrag > 0)
  • Speichern → zurück zur Liste

5. Navbar erweitern

  • Social Worker sieht andere Navigation als Donor
  • Links zu SW-Dashboard, Beneficiary-Management

i18n

  • Neue Keys in messages/de.json und messages/en.json unter socialWorker

Tests

  • Store: addBeneficiary, updateBeneficiary, getMyBeneficiaries
  • Components: Dashboard rendert, Beneficiary-Liste filtert
  • Mindestens 10 neue Tests

Patterns

  • Bestehende Patterns nutzen: shadcn/ui, next-intl, Zustand Store
  • Siehe CLAUDE.md für Routing (@/i18n/routing) und Component-Konventionen
  • Dark/Light Theme muss funktionieren

Acceptance Criteria

  • Social Worker kann sich einloggen und sieht eigenes Dashboard
  • Beneficiary-Liste zeigt nur eigene Beneficiaries
  • Neuen Beneficiary anlegen mit automatischem Codeword
  • Beneficiary Story/Needs editieren
  • DE + EN Translations vollständig
  • Alle bestehenden Tests laufen noch
  • Mindestens 10 neue Tests
  • Dark/Light Theme funktioniert auf allen neuen Seiten

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions