- Updated `state.errorMessage` to safely use non-null assertion (`!!`) in `Text()` to prevent potential nullability issues and runtime crashes.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Deleted obsolete `meldestelle-portal` module, including all associated screens, configurations, tests, and assets.
- Includes removal of Compose multiplatform dependencies in `build.gradle.kts`.
- Cleaned up redundant files such as `AppPreview`, `AuthStatusScreen`, `DashboardScreen`, and associated core implementations.
- Streamlined module references in `settings.gradle.kts`.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Added `meldestelle-desktop` module using JVM/Compose Desktop, registered in `settings.gradle.kts`.
- Integrated new screens and desktop navigation into core: `Veranstaltungen`, `TurnierDetail`, etc.
- Expanded backend with `ExposedFunktionaerRepository` in `officials-infrastructure`.
- Completed ADRs for bounded context mapping (`ADR-0014`) and context map (`ADR-0015`).
- Updated and extended project documentation with session logs and architecture decisions.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Introduced `AuthStatusScreen` to display user authentication status and navigation options.
- Added `OrganizerProfileScreen` with detailed profile editing features (contacts, address, and social links).
- Created `DashboardScreen` for admins and organizers with responsive layouts.
- Developed reusable `TournamentCard` component for displaying tournament details.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Introduced `onKeycloakLogin` callback in LoginScreen for Keycloak-based authentication.
- Updated Login UI with "Login with Keycloak" button and loading indicator for OIDC flow.
- Implemented dividers and spacing for improved visual structure.
- Refactored LandingScreen into a separate file for better modularity and maintenance.
- Reintroduced LandingScreen features, hero section, and footer with enhanced composables.
- Added `composeHotReload` plugin and `uiTooling` dependency for development improvements.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Introduced `LandingPagePreview` composable for live UI previews in IntelliJ (Hot-Reload).
- Included fallback `main()` for standalone preview in the Design Preview Sandbox.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Introduced `AppTypography` for standardized text styles across the project.
- Added `AppColors` with centralized color palette for consistent theming.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Replaced hardcoded color values in `LightColorScheme` and `DarkColorScheme` with `AppColors`.
- Updated `AppTypography` references in `AppMaterialTypography`.
- Upgraded Kotlin, Compose Multiplatform, and Ktor to latest versions in `libs.versions.toml`.
- Added `uiToolingPreview` dependency in `meldestelle-portal` build script.
- Refactored config loading to include `RequestInit`.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Implemented new reusable components including Label, Input, InputOTP, HoverCard, Popover, Pagination, NavigationMenu, Menubar, ScrollArea, Resizable, RadioGroup, and Progress under `docs/06_Frontend/FIGMA/src/app/components/ui/`.
- Enhanced structural organization to improve scalability and maintainability.
- Updated `settings.gradle.kts` to include the new module `frontend:features:nennung-feature`.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Logged details of the session addressing compiler warnings and roles in the dashboard POC under `docs/99_Journal/2026-03-19_Session_Log_POC_Rollen_Keycloak.md`.
- Documented Keycloak realm import challenges and resolution strategy for PostgreSQL volume reset.
- Verified JWT role extraction and dashboard routing logic for ADMIN and ORGANIZER roles.
- Included session outcomes and next steps for further validation and testing of the POC setup.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Added platform detection logic `currentPlatform()` in `PlatformType.js.kt`.
- Introduced platform-based behavior for LandingScreen, Dashboard, and Login flow.
- Replaced Row with FlowRow in PingScreen to improve button layout.
- Updated Meldestelle Dashboard with platform-specific headers and authentication checks.
- Adjusted AppHeader to accept `isAuthenticated` and `username` parameters.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Added competition details for Neumarkt tournaments 26128 and 26129 under `docs/Neumarkt2026/`.
- Logged key outcomes of the Domain Workshop follow-up and Frontend Kick-off session under `docs/99_Journal/2026-03-18_Session_Log_Domain_und_Frontend_Kickoff.md`.
- Updated `frontend/shells/meldestelle-portal` with new routing and UI components for Landing Page, Dashboard, and Tournament creation flow.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Updated `keycloak/meldestelle-realm.json` to replace dynamic secrets with static values for local testing.
- Incremented service worker cache version to `v4` and added bypass rules for API requests and app bundles to prevent outdated data.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Added detailed agenda for the domain workshop kickoff under `docs/03_Domain/03_Analysis/Domain_Workshop_Agenda.md`.
- Logged session details for resolving the SQLite worker 404 issue under `docs/99_Journal/2026-03-16_Session_Log_Fix_SQLite_Worker.md`.
- Enhanced `sqlite-config.js` to include a new fallback strategy for better resilience.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Fixed minor typos in comments for `LoginViewModel`, `OidcCallback`, and `AuthApiClient`.
- Added `@Suppress("REDUNDANT_CALL_OF_CONVERSION_METHOD")` in `Sha256.kt`.
- Improved phrasing and readability of function documentation across files.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Simplified `DeepLinkHandler` logic by removing redundant return values and enhancing route parsing with `ifBlank()`.
- Refactored `sqlite.worker.js` for better modularity and error handling.
- Added helper methods for script imports and initialization error management.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Streamlined `resolveApiBaseUrl` and `resolveKeycloakUrl` by introducing `globalScope` as a reusable property.
- Improved readability and maintainability by reducing redundant code and enhancing structure.
- Removed outdated comments and polished behavior for fallback mechanisms.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Deleted `sqlite.worker.js` and `wasi-dummy.js` to clean up outdated resources.
- Updated `Config.kt` to use a shared `Json` instance for deserialization.
- Revised service worker for cache versioning and to bypass caching of `web-app.js` and `.map` files.
- Enhanced debug logging and improved handling of uncaught errors in new `sqlite.worker.js`.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
- Uploaded browser console logs and related error screenshots to document debugging efforts for Ping Service issues.
- Captured CORS-related errors, database initialization logs, and WebGL warnings for local environment analysis.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
Updated `MASTER_ROADMAP_2026_Q1.md` and session logs to reflect completion of the Ping Service tracer bullet. Verified the end-to-end stack, including frontend, backend, and Gateway integration. Fixed query parameter mismatch in `PingApiKoinClient.syncPings()` (`lastSyncTimestamp` → `since`) for proper Delta-Sync functionality. Marked related roadmap tasks as completed.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
Completed OIDC Authorization Code Flow with PKCE (S256) for JS and JVM platforms.
- Added `launchOidcFlow`, `consumePendingOidcCallback`, and `getOidcRedirectUri` with platform-specific implementations.
- Integrated SHA-256 and Base64URL helpers for PKCE.
- Updated `LoginViewModel` with OIDC logic (key handling, token exchange, state validation).
- Enhanced `LoginScreen` with an OIDC login button and loading spinner.
- Verified implementation with system hardening roadmap tasks.
Includes browser redirects for JS, localhost HTTP callback for JVM, and built-in Keycloak URL construction.
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
Streamlined `.gitea/workflows/docker-publish.yaml` by reordering Keycloak service, upgrading actions to latest versions, and improving build argument handling. Enhanced frontend build configurations by optimizing Webpack and disabling JS minification for SQLite to prevent Terser issues.