Commit Graph

289 Commits

Author SHA1 Message Date
beo3000 61bd41576a show name of selected club 2025-12-25 17:34:58 +01:00
beo3000 bb00aa8a11 fix AuthState 2025-12-25 17:18:00 +01:00
beo3000 08b4edd1a5 Complete phase F3: Navigation finalisieren
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 16:43:36 +01:00
beo3000 245940b40e Add finalized navigation menu (F3)
- Dashboard link (all authenticated users)
- Spieltage, Personen (club-specific, require selected club)
- Stammdaten with Kostenvorlagen (ClubEditor+)
- Administration section with Vereine/Benutzer (SuperAdmin)
- Profile link for authenticated users

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 16:43:12 +01:00
beo3000 579db4640b mod claude permissions 2025-12-25 16:34:59 +01:00
beo3000 f71ff46d13 Complete phase F2: Evaluation Components
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 16:33:22 +01:00
beo3000 bc99bc25db Add evaluation components (F2)
- DayEvaluationComponent: shows day expense summary per person
- PersonEvaluationComponent: shows person expense summary + details

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 16:32:49 +01:00
beo3000 1cbd4c17e7 Complete phase F1: Dashboard Page
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 15:27:24 +01:00
beo3000 7c9f3c36d9 Add Dashboard page (F1)
- DashboardDto, IDashboardService, DashboardService
- Summary cards: members, guests, days, open expenses
- Recent days list with navigation
- Top penalty recipients list
- Home redirects to /dashboard
- Updated HomePageTests

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 15:26:35 +01:00
beo3000 005bfebe6d Complete phase E4: PersonExpense Management
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 15:15:01 +01:00
beo3000 343ad931d1 Add PersonExpense management to DayDetails (E4)
- Extend DayState with SelectedDayExpenses, AvailableExpenses
- Add Fluxor actions for load/create/update/delete expenses
- Add reducers + effects for PersonExpense operations
- Create AddPersonExpenseDialog with inverse expense support
- Update DayDetails with expense table, summary, status toggle

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 15:14:34 +01:00
beo3000 27be43fe53 merge day detils 2025-12-25 15:04:24 +01:00
beo3000 705f8a0da8 Complete phase E3: Day Details Page
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 13:55:32 +01:00
beo3000 26378afdbd Add Day Details Page (E3)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 13:54:39 +01:00
beo3000 616543eaee Complete phase E2: Days List Page
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 09:42:23 +01:00
beo3000 642c4d11bf Add Days List Page (E2)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 09:41:54 +01:00
beo3000 e1a0969d6e Complete phase E1: DayState Fluxor
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 09:31:23 +01:00
beo3000 9a8d435f09 Add DayState Fluxor (E1)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 09:30:55 +01:00
beo3000 01f1145698 update implementationplan 2025-12-24 17:24:49 +01:00
beo3000 51600596c2 Add Expense Pages (D4) 2025-12-24 17:23:31 +01:00
beo3000 69f0f404a6 Complete phase D3: ExpenseState Fluxor 2025-12-24 15:53:59 +01:00
beo3000 479bfe4ba5 Add ExpenseState Fluxor (D3)
- ExpenseState.cs: state record with Expenses, SelectedExpense, IsLoading, Error
- ExpenseActions.cs: Load/Create/Update/Delete actions + Select/ClearError
- ExpenseReducers.cs: pure state transformations
- ExpenseEffects.cs: async service calls with logging

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 15:53:39 +01:00
beo3000 c3839d2363 fix permissions;
Summary of all fixes

  3 files changed:

  1. src/Koogle.Application/Services/UserService.cs:140-171
    - GetByIdentityUserIdAsync now includes .Include(p => p.Clubs) and maps ClubMemberships
  2. src/Koogle.Web/Store/AuthState/AuthEffects.cs:53-73
    - Merges club-specific roles from ClubMemberships into AuthState roles
  3. src/Koogle.Infrastructure/Security/ClubRoleRequirement.cs:17-114
    - Changed ClubRoleHandler to extend AuthorizationHandler<ClubRoleRequirement> (no resource)
    - Reads current_club_id from claims to determine club context
    - Added ClubRoleResourceHandler for resource-based auth (explicit clubId)
  4. src/Koogle.Infrastructure/DependencyInjection.cs:72
    - Registered ClubRoleResourceHandler

  The [Authorize(Policy = "ClubViewer")] attribute now uses current_club_id claim set during login to check club roles.
2025-12-24 15:44:52 +01:00
beo3000 d74cdb678d mod AuthTest 2025-12-24 15:15:33 +01:00
beo3000 1186764cba Complete phase D2: Person Pages
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 15:07:02 +01:00
beo3000 2d6a49309f Add Person Pages (D2)
- Persons.razor: MudTable with search/filter, CRUD dialogs
- PersonEditDialog.razor: Create/Edit form for persons

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 15:06:37 +01:00
beo3000 5441bbed3f mod claude permissions 2025-12-24 15:00:51 +01:00
beo3000 86029648b6 Complete phase D1: PersonState Fluxor
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 15:00:08 +01:00
beo3000 d8ca8ed0a9 Add PersonState Fluxor state management (Phase D1)
- PersonState.cs: State record with Persons, SelectedPerson, IsLoading, Error
- PersonActions.cs: Load/Create/Update/Delete actions with success/failure variants
- PersonReducers.cs: Pure reducers for all person actions
- PersonEffects.cs: Async effects calling IPersonService

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 14:59:44 +01:00
beo3000 660d143333 chg claude permissions 2025-12-24 14:50:23 +01:00
beo3000 d9c9211758 Complete phase C2: Club Pages
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 14:47:32 +01:00
beo3000 93b55a11e6 Add Club admin page with CRUD (Phase C2)
- Clubs.razor: MudTable with search, create/edit/delete
- ClubEditDialog.razor: Form for club name + expense calculation
- ConfirmDialog.razor: Reusable confirmation dialog

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 14:46:37 +01:00
beo3000 3642ebb9bf fix command 2025-12-24 14:25:59 +01:00
beo3000 305ecbfb8d fix implement command 2025-12-24 14:19:10 +01:00
beo3000 44aa4eea15 mod command permission 2025-12-24 14:16:56 +01:00
beo3000 716ae6a604 added test-framework 2025-12-24 14:11:31 +01:00
beo3000 8edb769196 update Claude MDs 2025-12-24 10:50:01 +01:00
beo3000 33fc3323e2 add fluxor club states 2025-12-23 18:26:01 +01:00
beo3000 0bc0de2215 edit users 2025-12-23 17:57:16 +01:00
beo3000 d26a2cb1c5 add profile page 2025-12-23 17:28:14 +01:00
beo3000 ad3ac3185c add password reset 2025-12-23 17:09:24 +01:00
beo3000 0131a10b09 upd prompts 2025-12-23 16:58:56 +01:00
beo3000 fa7f1300d8 add registration
planning extend registration and club memberships
2025-12-23 16:58:32 +01:00
beo3000 b4818efc1a added club relations to datamodel
mod UserService
2025-12-23 15:05:22 +01:00
beo3000 f958355275 mod planning 2025-12-23 12:39:27 +01:00
beo3000 5c6860a4ad mod DI Containers 2025-12-23 11:20:18 +01:00
beo3000 be0fa19371 add Mapping-Profiles 2025-12-23 11:13:48 +01:00
beo3000 76c5d302ac added app Services 2025-12-23 11:04:16 +01:00
beo3000 f05ee0a662 add Application.Interfaces 2025-12-22 22:00:49 +01:00
beo3000 57146a382a add comments 2025-12-22 21:42:25 +01:00