diff --git a/mobile-app/DEVELOPMENT.md b/mobile-app/DEVELOPMENT.md index 49ce48b9..19761c97 100644 --- a/mobile-app/DEVELOPMENT.md +++ b/mobile-app/DEVELOPMENT.md @@ -63,7 +63,7 @@ Testest du mit der **LAN-IP deines PCs** (echtes Gerät), musst du diese IP dort 2. **Alte Installation / Build-Cache:** Emulator-App deinstallieren, Clean, neu installieren: ```bash cd mobile-app - adb uninstall de.tt_tagebuch.app + adb uninstall de.tsschulz.tt_tagebuch ./gradlew :composeApp:clean :composeApp:installDebug --no-configuration-cache ``` Oder das Skript: `./scripts/install-debug-emulator.sh` diff --git a/mobile-app/TODO.md b/mobile-app/TODO.md index 3177b0a2..53a5d062 100644 --- a/mobile-app/TODO.md +++ b/mobile-app/TODO.md @@ -165,49 +165,19 @@ Web: `DiaryView.vue` (sehr groß). API-Cluster (Auszug – in Web nach `apiClien - [x] **Ausstehende Freigaben** – `ClubApprovalsApi`, `PendingApprovalsManager`, Screen unter „Mehr“ → Club-Verwaltung (`ClubAdminScreens.kt`) - [x] **Team-Management (Mannschaften + Editor)** – `TeamManagementScreen` + `TeamEditorScreen`: Saison, Suche, CRUD Mannschaften; Tabs Stammdaten, Spielerstatistik (Liga), **Aufstellung/Meldung**, Dokumente, Scheduler-Jobs, MyTT (`ClubTeamsApi`, `MatchesApi`, `TeamDocumentsApi`, `ApiLogsApi`, `MyTischtennisApi`, Rechte `canReadTeams`/`canWriteTeams`) -- [ ] **Mannschafts-Planung (Android)** – siehe Unterabschnitt **Phase 8a** (Web hat das Planungsboard bereits; mobil bewusst **offen**) +- [x] **Mannschafts-Planung (Android)** – `TeamManagementScreen` **Mannschaften | Planung**; `TeamPlanningScreen` / `TeamPlanningLogic`; `MembersApi` Play-Interest (`TeamEditorModels`) – Details **Phase 8a** - [x] **Berechtigungen** – erweiterte `PermissionsApi`, `PermissionsAdminManager`, UI Rolle/Status/Anpassen mit `RolePermissionMatrix` (`ClubAdminScreens.kt`) - [x] **Logs** – `ApiLogsApi`, `ApiLogsManager`, Liste + Pagination + Detail (`ClubAdminScreens.kt`); `AppDependencies` / Logout / 401 räumen Manager auf -### Phase 8a – Mannschafts-Planung auf Android (Backlog / Plan) +### Phase 8a – Mannschafts-Planung auf Android (umgesetzt, Stand 2026-05) -**Ziel:** Gleiche **fachliche** Funktion wie Web **Team-Verwaltung → Planung**: Pool „möchte spielen“, mehrere Mannschaften der Saison parallel, Spieler nur **eligibility-konform** zuordnen, lokale Stammdaten (Name, geplante Liga, AK/GK) pro Team, **Meldung (Lineup)** je Team und gewählter **Halbserie** lesen/schreiben, optional **Debounced Autosave** wie Web. +- [x] `GET/POST` **`/api/clubmembers/play-interest/:clubId`** – `MembersApi` + DTOs `MemberPlayInterestRowDto` / `MemberPlayInterestSetBody` +- [x] **UI:** `TeamPlanningScreen.kt` – Halbserie, Pool, Interesse markieren, Mannschaft hinzufügen, pro Team Stammdaten + Meldung, QTTR-Abstand, „Im Editor öffnen“ +- [x] **Einstieg:** `TeamManagementScreen` – Segment **Mannschaften | Planung** +- [x] **Logik:** `TeamPlanningLogic.kt` – Normalisierung Zuordnungen, Eligibility über `TeamEditorLineupLogic`, Default-Halbserie +- [ ] **Optional später:** Drag-and-Drop statt Menüs; Debounced Autosave wie Web; dedizierte Tests Serialisierung -**Web-Referenz (1:1 zum Durchlesen der Logik):** - -| Bereich | Datei / Abschnitt | -|--------|-------------------| -| Umschalter „Mannschaften“ / „Planung“, Board einbinden | `frontend/src/views/TeamManagementView.vue` (`activeMainSection`, `TeamPlanningBoard`) | -| UI Pool, Teams, Suche, Interesse markieren | `frontend/src/components/team/TeamPlanningBoard.vue` | -| Lanes / Drag-Drop | `frontend/src/components/team/TeamPlanningLane.vue` | - -**Backend-APIs (aus Web `apiClient`; im `shared` ergänzen, falls noch fehlend):** - -- [ ] `GET /api/clubmembers/play-interest/:clubId` mit Query `seasonId`, `lineupHalf` – geladene **Interessen** für Pool (`loadPlanningInterestedMemberIds`) -- [ ] `POST /api/clubmembers/play-interest/:clubId` – Body `memberId`, `seasonId`, `lineupHalf`, `interested` – Mitglied als „interessiert“ markieren (`onPlanningMarkMemberInterested`) -- [x] `GET /api/clubmembers/get/:clubId/:showAll` – bereits `MembersApi.listMembers` -- [x] `GET /api/club-teams/...` Mannschaften Saison, `GET …/lineup?half=`, `PUT …/lineup` – `ClubTeamsApi` (Planung lädt Lineups **aller** Teams der Saison parallel wie Web `loadPlanningAssignments`) -- [x] `PUT /api/club-teams/:id` – Stammdaten Planungsteam (`updateClubTeam`) -- [x] `POST /api/club-teams/club/:clubId` – neue Planungs-Mannschaft (`createClubTeam` o. ä.) -- [x] `DELETE /api/club-teams/:id` – Planungs-Mannschaft löschen - -**Shared / Domäne:** - -- [ ] DTOs für Play-Interest (Response-Zeilen: `memberId`, `interested`, …) + `MembersApi` Erweiterung -- [ ] Optional: **PlanningState**-Use-Case (normalisierte Zuordnungen `teamId`/`memberId`/`position`, Halbserie, Recompute bei AK/GK-Wechsel) – Web: `normalizePlanningAssignments`, `removeAllIneligiblePlanningAssignments`, `isEligibleForPlanningTeam` (analog `TeamEditorLineupLogic.isEligibleForTeam` + Team-spezifische AK/GK aus `planningLocalTeams`) - -**Android UI (Vorschlag für Umsetzungsschritte):** - -1. [ ] **Einstieg:** In `TeamManagementScreen` (oder `AppRoot`) zweiter Modus **„Planung“** neben **„Mannschaften“** (wie Web-Workspace-Buttons), gleiche Saison-Auswahl wie Liste -2. [ ] **Screen** `TeamPlanningScreen.kt` (oder modular `TeamPlanningPool.kt` / `TeamPlanningTeamCard.kt`): Pool + Liste der Teams; kein 1:1-Spiegel der Web-Grid-Optik nötig, aber **alle Aktionen** abdeckbar -3. [ ] **Drag-and-Drop:** Entweder Compose **Drag-and-Drop** (Plattform-API) oder **Fallback** ohne DnD: „Mitglied auswählen → Ziel-Mannschaft“ / „Aus Mannschaft entfernen“ / Reihenfolge **↑↓** in der Lane (wie Aufstellungs-Tab) -4. [ ] **Halbserie** (VR/RR) gemeinsam mit Web-Parameter `lineupHalf` an Play-Interest und Lineup-Requests -5. [ ] **„In Workspace öffnen“** / Team-Editor: Web `convertPlanningTeamToRegular` prüfen – ggf. nur Navigation zum bestehenden `TeamEditorScreen` statt Konvertierungs-API -6. [ ] **Autosave:** Web nutzt Debounce (`schedulePlanningTeamAutosave`) – mobil entweder gleichziehen oder explizit **„Speichern“** pro Team + Konflikt-Hinweis (Produktentscheidung) -7. [ ] **i18n:** Keys aus `teamManagement.planning*` / `markAsInterested` usw. in `MobileStrings` oder Fallback-Kette wie andere Admin-Screens -8. [ ] **Tests:** Serialisierung Play-Interest; optional Snapshot der Normalisierung `planningAssignments` - -**Hinweis im Code:** Solange 8a offen ist, kann im Tab Aufstellung ein kurzer Verweis auf die **zukünftige** in-App-Planung stehen (nach Umsetzung Text anpassen oder entfernen). +**Hinweis im Code:** Tab Aufstellung (`TeamEditorScreen`) verweist auf den Reiter **Planung** in derselben Team-Verwaltung. --- diff --git a/mobile-app/composeApp/build.gradle.kts b/mobile-app/composeApp/build.gradle.kts index b5eb7b4c..93dd2aba 100644 --- a/mobile-app/composeApp/build.gradle.kts +++ b/mobile-app/composeApp/build.gradle.kts @@ -51,11 +51,11 @@ kotlin { } android { - namespace = "de.tt_tagebuch.app" + namespace = "de.tsschulz.tt_tagebuch" compileSdk = libs.versions.android.compileSdk.get().toInt() defaultConfig { - applicationId = "de.tt_tagebuch.app" + applicationId = "de.tsschulz.tt_tagebuch" minSdk = libs.versions.android.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() versionCode = 1 diff --git a/mobile-app/composeApp/release/composeApp-release.aab b/mobile-app/composeApp/release/composeApp-release.aab new file mode 100644 index 00000000..9c53f8a3 Binary files /dev/null and b/mobile-app/composeApp/release/composeApp-release.aab differ diff --git a/mobile-app/composeApp/src/androidMain/AndroidManifest.xml b/mobile-app/composeApp/src/androidMain/AndroidManifest.xml index 9ae3a259..ba6a58d1 100644 --- a/mobile-app/composeApp/src/androidMain/AndroidManifest.xml +++ b/mobile-app/composeApp/src/androidMain/AndroidManifest.xml @@ -4,16 +4,16 @@ diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/AppDependencies.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/AppDependencies.kt similarity index 55% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/AppDependencies.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/AppDependencies.kt index aa298831..5b653790 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/AppDependencies.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/AppDependencies.kt @@ -1,59 +1,60 @@ -package de.tt_tagebuch.app +package de.tsschulz.tt_tagebuch.app import android.content.Context -import de.tt_tagebuch.shared.api.BillingApi -import de.tt_tagebuch.shared.api.CalendarHolidayApi -import de.tt_tagebuch.shared.api.AccidentApi -import de.tt_tagebuch.shared.api.ApiLogsApi -import de.tt_tagebuch.shared.api.ClubApprovalsApi -import de.tt_tagebuch.shared.api.ClickTtAccountApi -import de.tt_tagebuch.shared.api.ApiConfig -import de.tt_tagebuch.shared.api.AuthApi -import de.tt_tagebuch.shared.api.PublicAuthApi -import de.tt_tagebuch.shared.api.ClubTeamsApi -import de.tt_tagebuch.shared.api.ClubsApi -import de.tt_tagebuch.shared.api.DiaryApi -import de.tt_tagebuch.shared.api.DiaryMemberActivitiesApi -import de.tt_tagebuch.shared.api.DiaryMemberApi -import de.tt_tagebuch.shared.api.GroupApi -import de.tt_tagebuch.shared.api.ParticipantsApi -import de.tt_tagebuch.shared.api.PredefinedActivitiesApi -import de.tt_tagebuch.shared.api.MatchesApi -import de.tt_tagebuch.shared.api.MemberActivitiesApi -import de.tt_tagebuch.shared.api.MemberGroupPhotosApi -import de.tt_tagebuch.shared.api.MemberTransferConfigApi -import de.tt_tagebuch.shared.api.MemberOrdersApi -import de.tt_tagebuch.shared.api.TrainingCancellationApi -import de.tt_tagebuch.shared.api.MembersApi -import de.tt_tagebuch.shared.api.MyTischtennisApi -import de.tt_tagebuch.shared.api.OfficialTournamentsApi -import de.tt_tagebuch.shared.api.PermissionsApi -import de.tt_tagebuch.shared.api.SeasonsApi -import de.tt_tagebuch.shared.api.SessionApi -import de.tt_tagebuch.shared.api.TeamDocumentsApi -import de.tt_tagebuch.shared.api.TrainingGroupsApi -import de.tt_tagebuch.shared.api.TrainingStatsApi -import de.tt_tagebuch.shared.api.TrainingTimesApi -import de.tt_tagebuch.shared.api.TournamentsApi -import de.tt_tagebuch.shared.api.http.AndroidHttpClientEngineFactory -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.http.PublicHttpClient -import de.tt_tagebuch.shared.state.AndroidClubStorage -import de.tt_tagebuch.shared.state.AndroidLanguageStorage -import de.tt_tagebuch.shared.state.AndroidTokenStorage -import de.tt_tagebuch.shared.state.ApiLogsManager -import de.tt_tagebuch.shared.state.AuthManager -import de.tt_tagebuch.shared.state.ClubInternalTournamentsManager -import de.tt_tagebuch.shared.state.ClubManager -import de.tt_tagebuch.shared.state.DiaryManager -import de.tt_tagebuch.shared.state.LanguageManager -import de.tt_tagebuch.shared.state.MembersManager -import de.tt_tagebuch.shared.state.MutableTokenProvider -import de.tt_tagebuch.shared.state.OfficialTournamentsReadManager -import de.tt_tagebuch.shared.state.PendingApprovalsManager -import de.tt_tagebuch.shared.state.PermissionsAdminManager -import de.tt_tagebuch.shared.state.ScheduleManager -import de.tt_tagebuch.shared.state.TrainingStatsManager +import de.tsschulz.tt_tagebuch.BuildConfig +import de.tsschulz.tt_tagebuch.shared.api.BillingApi +import de.tsschulz.tt_tagebuch.shared.api.CalendarHolidayApi +import de.tsschulz.tt_tagebuch.shared.api.AccidentApi +import de.tsschulz.tt_tagebuch.shared.api.ApiLogsApi +import de.tsschulz.tt_tagebuch.shared.api.ClubApprovalsApi +import de.tsschulz.tt_tagebuch.shared.api.ClickTtAccountApi +import de.tsschulz.tt_tagebuch.shared.api.ApiConfig +import de.tsschulz.tt_tagebuch.shared.api.AuthApi +import de.tsschulz.tt_tagebuch.shared.api.PublicAuthApi +import de.tsschulz.tt_tagebuch.shared.api.ClubTeamsApi +import de.tsschulz.tt_tagebuch.shared.api.ClubsApi +import de.tsschulz.tt_tagebuch.shared.api.DiaryApi +import de.tsschulz.tt_tagebuch.shared.api.DiaryMemberActivitiesApi +import de.tsschulz.tt_tagebuch.shared.api.DiaryMemberApi +import de.tsschulz.tt_tagebuch.shared.api.GroupApi +import de.tsschulz.tt_tagebuch.shared.api.ParticipantsApi +import de.tsschulz.tt_tagebuch.shared.api.PredefinedActivitiesApi +import de.tsschulz.tt_tagebuch.shared.api.MatchesApi +import de.tsschulz.tt_tagebuch.shared.api.MemberActivitiesApi +import de.tsschulz.tt_tagebuch.shared.api.MemberGroupPhotosApi +import de.tsschulz.tt_tagebuch.shared.api.MemberTransferConfigApi +import de.tsschulz.tt_tagebuch.shared.api.MemberOrdersApi +import de.tsschulz.tt_tagebuch.shared.api.TrainingCancellationApi +import de.tsschulz.tt_tagebuch.shared.api.MembersApi +import de.tsschulz.tt_tagebuch.shared.api.MyTischtennisApi +import de.tsschulz.tt_tagebuch.shared.api.OfficialTournamentsApi +import de.tsschulz.tt_tagebuch.shared.api.PermissionsApi +import de.tsschulz.tt_tagebuch.shared.api.SeasonsApi +import de.tsschulz.tt_tagebuch.shared.api.SessionApi +import de.tsschulz.tt_tagebuch.shared.api.TeamDocumentsApi +import de.tsschulz.tt_tagebuch.shared.api.TrainingGroupsApi +import de.tsschulz.tt_tagebuch.shared.api.TrainingStatsApi +import de.tsschulz.tt_tagebuch.shared.api.TrainingTimesApi +import de.tsschulz.tt_tagebuch.shared.api.TournamentsApi +import de.tsschulz.tt_tagebuch.shared.api.http.AndroidHttpClientEngineFactory +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.http.PublicHttpClient +import de.tsschulz.tt_tagebuch.shared.state.AndroidClubStorage +import de.tsschulz.tt_tagebuch.shared.state.AndroidLanguageStorage +import de.tsschulz.tt_tagebuch.shared.state.AndroidTokenStorage +import de.tsschulz.tt_tagebuch.shared.state.ApiLogsManager +import de.tsschulz.tt_tagebuch.shared.state.AuthManager +import de.tsschulz.tt_tagebuch.shared.state.ClubInternalTournamentsManager +import de.tsschulz.tt_tagebuch.shared.state.ClubManager +import de.tsschulz.tt_tagebuch.shared.state.DiaryManager +import de.tsschulz.tt_tagebuch.shared.state.LanguageManager +import de.tsschulz.tt_tagebuch.shared.state.MembersManager +import de.tsschulz.tt_tagebuch.shared.state.MutableTokenProvider +import de.tsschulz.tt_tagebuch.shared.state.OfficialTournamentsReadManager +import de.tsschulz.tt_tagebuch.shared.state.PendingApprovalsManager +import de.tsschulz.tt_tagebuch.shared.state.PermissionsAdminManager +import de.tsschulz.tt_tagebuch.shared.state.ScheduleManager +import de.tsschulz.tt_tagebuch.shared.state.TrainingStatsManager import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/MainActivity.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/MainActivity.kt similarity index 89% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/MainActivity.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/MainActivity.kt index d441d54e..a898623c 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/MainActivity.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/MainActivity.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app +package de.tsschulz.tt_tagebuch.app import android.os.Bundle import androidx.activity.ComponentActivity @@ -9,8 +9,8 @@ import androidx.compose.material.Surface import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext -import de.tt_tagebuch.app.ui.AppRoot -import de.tt_tagebuch.app.ui.TtTagebuchTheme +import de.tsschulz.tt_tagebuch.app.ui.AppRoot +import de.tsschulz.tt_tagebuch.app.ui.TtTagebuchTheme class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/MainApplication.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/MainApplication.kt similarity index 66% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/MainApplication.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/MainApplication.kt index f6eacc37..e7e252ec 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/MainApplication.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/MainApplication.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app +package de.tsschulz.tt_tagebuch.app import android.app.Application diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/calendar/CalendarAggregator.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/calendar/CalendarAggregator.kt similarity index 95% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/calendar/CalendarAggregator.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/calendar/CalendarAggregator.kt index b0f89ff4..aae9d10d 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/calendar/CalendarAggregator.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/calendar/CalendarAggregator.kt @@ -1,14 +1,14 @@ -package de.tt_tagebuch.app.calendar +package de.tsschulz.tt_tagebuch.app.calendar -import de.tt_tagebuch.shared.api.models.CalendarHolidayRowDto -import de.tt_tagebuch.shared.api.models.ClubCalendarHolidaysEnvelope -import de.tt_tagebuch.shared.api.models.DiaryDate -import de.tt_tagebuch.shared.api.models.InternalTournamentSummaryDto -import de.tt_tagebuch.shared.api.models.OfficialParticipationBucketDto -import de.tt_tagebuch.shared.api.models.ScheduleMatchDto -import de.tt_tagebuch.shared.api.models.TrainingCancellationDto -import de.tt_tagebuch.shared.api.models.TrainingGroupDto -import de.tt_tagebuch.shared.api.models.TrainingTimeDto +import de.tsschulz.tt_tagebuch.shared.api.models.CalendarHolidayRowDto +import de.tsschulz.tt_tagebuch.shared.api.models.ClubCalendarHolidaysEnvelope +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryDate +import de.tsschulz.tt_tagebuch.shared.api.models.InternalTournamentSummaryDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParticipationBucketDto +import de.tsschulz.tt_tagebuch.shared.api.models.ScheduleMatchDto +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingCancellationDto +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingGroupDto +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingTimeDto import java.time.DayOfWeek import java.time.LocalDate import java.time.LocalTime diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/pdf/DiaryPdfExporter.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/pdf/DiaryPdfExporter.kt similarity index 93% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/pdf/DiaryPdfExporter.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/pdf/DiaryPdfExporter.kt index e60a7631..3f2fe1cd 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/pdf/DiaryPdfExporter.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/pdf/DiaryPdfExporter.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.pdf +package de.tsschulz.tt_tagebuch.app.pdf import android.graphics.Canvas import android.graphics.Color @@ -8,12 +8,12 @@ import android.graphics.pdf.PdfDocument import android.text.Layout import android.text.StaticLayout import android.text.TextPaint -import de.tt_tagebuch.shared.api.models.DiaryDateActivityItem -import de.tt_tagebuch.shared.api.models.DiaryFreeformActivity -import de.tt_tagebuch.shared.api.models.DiaryTrainingParticipant -import de.tt_tagebuch.shared.api.models.Member -import de.tt_tagebuch.shared.api.models.displayTitle -import de.tt_tagebuch.shared.api.models.isPresentParticipant +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryDateActivityItem +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryFreeformActivity +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryTrainingParticipant +import de.tsschulz.tt_tagebuch.shared.api.models.Member +import de.tsschulz.tt_tagebuch.shared.api.models.displayTitle +import de.tsschulz.tt_tagebuch.shared.api.models.isPresentParticipant import java.io.File import java.io.FileOutputStream import java.util.Locale diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/pdf/DiaryPdfShare.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/pdf/DiaryPdfShare.kt similarity index 90% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/pdf/DiaryPdfShare.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/pdf/DiaryPdfShare.kt index b508f0ca..4f0b7694 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/pdf/DiaryPdfShare.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/pdf/DiaryPdfShare.kt @@ -1,9 +1,9 @@ -package de.tt_tagebuch.app.pdf +package de.tsschulz.tt_tagebuch.app.pdf import android.content.Context import android.content.Intent import androidx.core.content.FileProvider -import de.tt_tagebuch.app.BuildConfig +import de.tsschulz.tt_tagebuch.BuildConfig import java.io.File fun shareFileWithMime(context: Context, file: File, mimeType: String, chooserTitle: String) { diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/pdf/MembersPhoneListPdf.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/pdf/MembersPhoneListPdf.kt similarity index 96% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/pdf/MembersPhoneListPdf.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/pdf/MembersPhoneListPdf.kt index 949e3f5c..eaebc6ed 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/pdf/MembersPhoneListPdf.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/pdf/MembersPhoneListPdf.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.pdf +package de.tsschulz.tt_tagebuch.app.pdf import android.graphics.Canvas import android.graphics.Color @@ -8,8 +8,8 @@ import android.graphics.pdf.PdfDocument import android.text.Layout import android.text.StaticLayout import android.text.TextPaint -import de.tt_tagebuch.shared.api.models.Member -import de.tt_tagebuch.shared.api.models.MemberContactDto +import de.tsschulz.tt_tagebuch.shared.api.models.Member +import de.tsschulz.tt_tagebuch.shared.api.models.MemberContactDto import java.io.File import java.io.FileOutputStream import java.time.LocalDate diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/stats/TrainingStatsDerived.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/stats/TrainingStatsDerived.kt similarity index 96% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/stats/TrainingStatsDerived.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/stats/TrainingStatsDerived.kt index c6e26db1..115919d7 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/stats/TrainingStatsDerived.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/stats/TrainingStatsDerived.kt @@ -1,10 +1,10 @@ -package de.tt_tagebuch.app.stats +package de.tsschulz.tt_tagebuch.app.stats -import de.tt_tagebuch.shared.api.models.TrainingStatsDay -import de.tt_tagebuch.shared.api.models.TrainingStatsMember -import de.tt_tagebuch.shared.api.models.TrainingStatsMemberDistribution -import de.tt_tagebuch.shared.api.models.TrainingStatsMonthlyTrend -import de.tt_tagebuch.shared.api.models.TrainingStatsWeekdayBucket +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingStatsDay +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingStatsMember +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingStatsMemberDistribution +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingStatsMonthlyTrend +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingStatsWeekdayBucket import java.time.DayOfWeek import java.time.LocalDate import java.util.Locale diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/AppRoot.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/AppRoot.kt similarity index 98% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/AppRoot.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/AppRoot.kt index f962f314..433f1fa4 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/AppRoot.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/AppRoot.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import android.content.Intent import android.net.Uri @@ -89,61 +89,61 @@ import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import kotlin.math.max -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.app.pdf.sharePdfFile -import de.tt_tagebuch.app.pdf.writeMembersPhoneListPdf -import de.tt_tagebuch.app.pdf.writeTrainingDaySummaryPdf -import de.tt_tagebuch.app.pdf.writeTrainingPlanPdf -import de.tt_tagebuch.shared.api.memberProfileImagePath -import de.tt_tagebuch.shared.api.toAbsoluteUrl -import de.tt_tagebuch.shared.api.models.MemberGroupPhotoDto -import de.tt_tagebuch.shared.api.models.canReadApprovals -import de.tt_tagebuch.shared.api.models.canReadClubPermissions -import de.tt_tagebuch.shared.api.models.canReadClubSettings -import de.tt_tagebuch.shared.api.models.canReadPredefinedActivities -import de.tt_tagebuch.shared.api.models.canReadDiary -import de.tt_tagebuch.shared.api.models.canReadTeams -import de.tt_tagebuch.shared.api.models.canReadMembers -import de.tt_tagebuch.shared.api.models.canReadSchedule -import de.tt_tagebuch.shared.api.models.canReadStatistics -import de.tt_tagebuch.shared.api.models.canReadTournaments -import de.tt_tagebuch.shared.api.models.canWriteDiary -import de.tt_tagebuch.shared.api.models.canWriteMembers -import de.tt_tagebuch.shared.api.models.canWriteMyTischtennis -import de.tt_tagebuch.shared.api.models.mainActivityImagePath -import de.tt_tagebuch.shared.api.models.nestedActivityImagePath -import de.tt_tagebuch.shared.api.models.AccidentReportDto -import de.tt_tagebuch.shared.api.models.Club -import de.tt_tagebuch.shared.api.models.DiaryDate -import de.tt_tagebuch.shared.api.models.DiaryFreeformActivity -import de.tt_tagebuch.shared.api.models.AddDiaryPlanGroupActivityRequest -import de.tt_tagebuch.shared.api.models.CreateDiaryPlanActivityRequest -import de.tt_tagebuch.shared.api.models.DiaryDateActivityItem -import de.tt_tagebuch.shared.api.models.DiaryPlanGroup -import de.tt_tagebuch.shared.api.models.UpdateDiaryPlanActivityRequest -import de.tt_tagebuch.shared.api.models.DiaryMemberNoteDto -import de.tt_tagebuch.shared.api.models.DiaryMemberTagLinkDto -import de.tt_tagebuch.shared.api.models.DiaryTag -import de.tt_tagebuch.shared.api.models.PredefinedActivityDto -import de.tt_tagebuch.shared.api.models.displayLabel as predefinedDtoDisplayLabel -import de.tt_tagebuch.shared.api.models.tagDefinitionId -import de.tt_tagebuch.shared.api.models.tagDisplayName -import de.tt_tagebuch.shared.api.models.DiaryTrainingParticipant -import de.tt_tagebuch.shared.api.models.isPresentParticipant -import de.tt_tagebuch.shared.api.models.displayLabel -import de.tt_tagebuch.shared.api.models.displayTitle -import de.tt_tagebuch.shared.api.models.memberLabel -import de.tt_tagebuch.shared.api.models.MemberActivityStatDto -import de.tt_tagebuch.shared.api.models.MemberContactDto -import de.tt_tagebuch.shared.api.models.MemberContactSetBody -import de.tt_tagebuch.shared.api.models.MemberDataQualityRequirements -import de.tt_tagebuch.shared.api.models.MemberLastParticipationDto -import de.tt_tagebuch.shared.api.models.TrainingGroupDto -import de.tt_tagebuch.shared.api.models.TrainingTimeDto -import de.tt_tagebuch.shared.api.models.toSetBody -import de.tt_tagebuch.shared.api.models.Member -import de.tt_tagebuch.shared.api.models.UserClubPermissions -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.app.pdf.sharePdfFile +import de.tsschulz.tt_tagebuch.app.pdf.writeMembersPhoneListPdf +import de.tsschulz.tt_tagebuch.app.pdf.writeTrainingDaySummaryPdf +import de.tsschulz.tt_tagebuch.app.pdf.writeTrainingPlanPdf +import de.tsschulz.tt_tagebuch.shared.api.memberProfileImagePath +import de.tsschulz.tt_tagebuch.shared.api.toAbsoluteUrl +import de.tsschulz.tt_tagebuch.shared.api.models.MemberGroupPhotoDto +import de.tsschulz.tt_tagebuch.shared.api.models.canReadApprovals +import de.tsschulz.tt_tagebuch.shared.api.models.canReadClubPermissions +import de.tsschulz.tt_tagebuch.shared.api.models.canReadClubSettings +import de.tsschulz.tt_tagebuch.shared.api.models.canReadPredefinedActivities +import de.tsschulz.tt_tagebuch.shared.api.models.canReadDiary +import de.tsschulz.tt_tagebuch.shared.api.models.canReadTeams +import de.tsschulz.tt_tagebuch.shared.api.models.canReadMembers +import de.tsschulz.tt_tagebuch.shared.api.models.canReadSchedule +import de.tsschulz.tt_tagebuch.shared.api.models.canReadStatistics +import de.tsschulz.tt_tagebuch.shared.api.models.canReadTournaments +import de.tsschulz.tt_tagebuch.shared.api.models.canWriteDiary +import de.tsschulz.tt_tagebuch.shared.api.models.canWriteMembers +import de.tsschulz.tt_tagebuch.shared.api.models.canWriteMyTischtennis +import de.tsschulz.tt_tagebuch.shared.api.models.mainActivityImagePath +import de.tsschulz.tt_tagebuch.shared.api.models.nestedActivityImagePath +import de.tsschulz.tt_tagebuch.shared.api.models.AccidentReportDto +import de.tsschulz.tt_tagebuch.shared.api.models.Club +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryDate +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryFreeformActivity +import de.tsschulz.tt_tagebuch.shared.api.models.AddDiaryPlanGroupActivityRequest +import de.tsschulz.tt_tagebuch.shared.api.models.CreateDiaryPlanActivityRequest +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryDateActivityItem +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryPlanGroup +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateDiaryPlanActivityRequest +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryMemberNoteDto +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryMemberTagLinkDto +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryTag +import de.tsschulz.tt_tagebuch.shared.api.models.PredefinedActivityDto +import de.tsschulz.tt_tagebuch.shared.api.models.displayLabel as predefinedDtoDisplayLabel +import de.tsschulz.tt_tagebuch.shared.api.models.tagDefinitionId +import de.tsschulz.tt_tagebuch.shared.api.models.tagDisplayName +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryTrainingParticipant +import de.tsschulz.tt_tagebuch.shared.api.models.isPresentParticipant +import de.tsschulz.tt_tagebuch.shared.api.models.displayLabel +import de.tsschulz.tt_tagebuch.shared.api.models.displayTitle +import de.tsschulz.tt_tagebuch.shared.api.models.memberLabel +import de.tsschulz.tt_tagebuch.shared.api.models.MemberActivityStatDto +import de.tsschulz.tt_tagebuch.shared.api.models.MemberContactDto +import de.tsschulz.tt_tagebuch.shared.api.models.MemberContactSetBody +import de.tsschulz.tt_tagebuch.shared.api.models.MemberDataQualityRequirements +import de.tsschulz.tt_tagebuch.shared.api.models.MemberLastParticipationDto +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingGroupDto +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingTimeDto +import de.tsschulz.tt_tagebuch.shared.api.models.toSetBody +import de.tsschulz.tt_tagebuch.shared.api.models.Member +import de.tsschulz.tt_tagebuch.shared.api.models.UserClubPermissions +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings import kotlinx.coroutines.async import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.delay diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/AuthenticatedAsyncImage.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/AuthenticatedAsyncImage.kt similarity index 96% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/AuthenticatedAsyncImage.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/AuthenticatedAsyncImage.kt index ab4e13c7..e9931631 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/AuthenticatedAsyncImage.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/AuthenticatedAsyncImage.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.runtime.Composable import androidx.compose.runtime.remember diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/BillingOrdersScreens.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/BillingOrdersScreens.kt similarity index 98% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/BillingOrdersScreens.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/BillingOrdersScreens.kt index 7654aca1..77897401 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/BillingOrdersScreens.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/BillingOrdersScreens.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import android.content.Context import androidx.activity.compose.rememberLauncherForActivityResult @@ -46,16 +46,16 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.app.pdf.sharePdfFile -import de.tt_tagebuch.shared.api.models.BillingCreateRunBody -import de.tt_tagebuch.shared.api.models.BillingRunDto -import de.tt_tagebuch.shared.api.models.BillingTemplateDto -import de.tt_tagebuch.shared.api.models.MemberOrderDto -import de.tt_tagebuch.shared.api.models.MemberOrderPatchBody -import de.tt_tagebuch.shared.api.models.canReadMembers -import de.tt_tagebuch.shared.api.models.canWriteMembers -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.app.pdf.sharePdfFile +import de.tsschulz.tt_tagebuch.shared.api.models.BillingCreateRunBody +import de.tsschulz.tt_tagebuch.shared.api.models.BillingRunDto +import de.tsschulz.tt_tagebuch.shared.api.models.BillingTemplateDto +import de.tsschulz.tt_tagebuch.shared.api.models.MemberOrderDto +import de.tsschulz.tt_tagebuch.shared.api.models.MemberOrderPatchBody +import de.tsschulz.tt_tagebuch.shared.api.models.canReadMembers +import de.tsschulz.tt_tagebuch.shared.api.models.canWriteMembers +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/CalendarScreen.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/CalendarScreen.kt similarity index 97% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/CalendarScreen.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/CalendarScreen.kt index ff496b0a..2c2bb7aa 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/CalendarScreen.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/CalendarScreen.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.foundation.background import androidx.compose.foundation.border @@ -37,16 +37,16 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.app.calendar.CalendarAggregator -import de.tt_tagebuch.app.calendar.CalendarEventAction -import de.tt_tagebuch.app.calendar.CalendarEventType -import de.tt_tagebuch.app.calendar.CalendarUiEvent +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.app.calendar.CalendarAggregator +import de.tsschulz.tt_tagebuch.app.calendar.CalendarEventAction +import de.tsschulz.tt_tagebuch.app.calendar.CalendarEventType +import de.tsschulz.tt_tagebuch.app.calendar.CalendarUiEvent import android.util.Log -import de.tt_tagebuch.shared.api.http.ApiException -import de.tt_tagebuch.shared.api.models.ClubCalendarHolidaysEnvelope -import de.tt_tagebuch.shared.api.models.TrainingCancellationUpsertBody -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.shared.api.http.ApiException +import de.tsschulz.tt_tagebuch.shared.api.models.ClubCalendarHolidaysEnvelope +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingCancellationUpsertBody +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings import kotlinx.coroutines.async import kotlinx.coroutines.launch import kotlinx.coroutines.supervisorScope diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/ClubAdminScreens.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/ClubAdminScreens.kt similarity index 97% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/ClubAdminScreens.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/ClubAdminScreens.kt index 8b212bc9..8df1d330 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/ClubAdminScreens.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/ClubAdminScreens.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.activity.compose.BackHandler import androidx.compose.foundation.layout.Arrangement @@ -45,16 +45,16 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.shared.api.RolePermissionMatrix -import de.tt_tagebuch.shared.api.models.ApiLogDetailDto -import de.tt_tagebuch.shared.api.models.ClubPermissionMemberDto -import de.tt_tagebuch.shared.api.models.PermissionResourceDto -import de.tt_tagebuch.shared.api.models.canReadApprovals -import de.tt_tagebuch.shared.api.models.canReadClubPermissions -import de.tt_tagebuch.shared.api.models.canWriteApprovals -import de.tt_tagebuch.shared.api.models.canWriteClubPermissions -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.shared.api.RolePermissionMatrix +import de.tsschulz.tt_tagebuch.shared.api.models.ApiLogDetailDto +import de.tsschulz.tt_tagebuch.shared.api.models.ClubPermissionMemberDto +import de.tsschulz.tt_tagebuch.shared.api.models.PermissionResourceDto +import de.tsschulz.tt_tagebuch.shared.api.models.canReadApprovals +import de.tsschulz.tt_tagebuch.shared.api.models.canReadClubPermissions +import de.tsschulz.tt_tagebuch.shared.api.models.canWriteApprovals +import de.tsschulz.tt_tagebuch.shared.api.models.canWriteClubPermissions +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings import kotlinx.coroutines.launch import kotlinx.serialization.json.JsonNull import kotlinx.serialization.json.JsonObject diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/ClubSettingsScreens.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/ClubSettingsScreens.kt similarity index 98% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/ClubSettingsScreens.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/ClubSettingsScreens.kt index f5f7bb9a..5c843b40 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/ClubSettingsScreens.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/ClubSettingsScreens.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -45,20 +45,20 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.shared.api.models.Club -import de.tt_tagebuch.shared.api.models.CreateTrainingTimeBody -import de.tt_tagebuch.shared.api.models.Member -import de.tt_tagebuch.shared.api.models.MemberDataQualityRequirements -import de.tt_tagebuch.shared.api.models.TrainingGroupDto -import de.tt_tagebuch.shared.api.models.TrainingGroupMemberBrief -import de.tt_tagebuch.shared.api.models.TrainingTimeDto -import de.tt_tagebuch.shared.api.models.UpdateClubSettingsBody -import de.tt_tagebuch.shared.api.models.UpdateTrainingTimeBody -import de.tt_tagebuch.shared.api.models.canReadClubSettings -import de.tt_tagebuch.shared.api.models.canReadMembers -import de.tt_tagebuch.shared.api.models.canWriteClubSettings -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.shared.api.models.Club +import de.tsschulz.tt_tagebuch.shared.api.models.CreateTrainingTimeBody +import de.tsschulz.tt_tagebuch.shared.api.models.Member +import de.tsschulz.tt_tagebuch.shared.api.models.MemberDataQualityRequirements +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingGroupDto +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingGroupMemberBrief +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingTimeDto +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateClubSettingsBody +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateTrainingTimeBody +import de.tsschulz.tt_tagebuch.shared.api.models.canReadClubSettings +import de.tsschulz.tt_tagebuch.shared.api.models.canReadMembers +import de.tsschulz.tt_tagebuch.shared.api.models.canWriteClubSettings +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings import kotlinx.coroutines.launch private val ClubSettingsPad = 20.dp diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/ClubStammdatenScreens.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/ClubStammdatenScreens.kt similarity index 94% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/ClubStammdatenScreens.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/ClubStammdatenScreens.kt index f3dcf4e7..85698a90 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/ClubStammdatenScreens.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/ClubStammdatenScreens.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.activity.compose.BackHandler import androidx.compose.foundation.layout.Arrangement @@ -44,23 +44,23 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.shared.api.PredefinedActivitiesApi -import de.tt_tagebuch.shared.api.models.MemberTransferConfigEnvelope -import de.tt_tagebuch.shared.api.models.MemberTransferConfigSaveBody -import de.tt_tagebuch.shared.api.models.PredefinedActivityDto -import de.tt_tagebuch.shared.api.models.PredefinedActivityUpsertBody -import de.tt_tagebuch.shared.api.models.TrainingGroupDto -import de.tt_tagebuch.shared.api.models.TrainingTimeDto -import de.tt_tagebuch.shared.api.models.UpdateClubSettingsBody -import de.tt_tagebuch.shared.api.models.UpdateTrainingTimeBody -import de.tt_tagebuch.shared.api.models.canReadClubSettings -import de.tt_tagebuch.shared.api.models.canReadMembers -import de.tt_tagebuch.shared.api.models.canReadPredefinedActivities -import de.tt_tagebuch.shared.api.models.canWriteMembers -import de.tt_tagebuch.shared.api.models.canWritePredefinedActivities -import de.tt_tagebuch.shared.api.models.displayLabel -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.shared.api.PredefinedActivitiesApi +import de.tsschulz.tt_tagebuch.shared.api.models.MemberTransferConfigEnvelope +import de.tsschulz.tt_tagebuch.shared.api.models.MemberTransferConfigSaveBody +import de.tsschulz.tt_tagebuch.shared.api.models.PredefinedActivityDto +import de.tsschulz.tt_tagebuch.shared.api.models.PredefinedActivityUpsertBody +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingGroupDto +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingTimeDto +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateClubSettingsBody +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateTrainingTimeBody +import de.tsschulz.tt_tagebuch.shared.api.models.canReadClubSettings +import de.tsschulz.tt_tagebuch.shared.api.models.canReadMembers +import de.tsschulz.tt_tagebuch.shared.api.models.canReadPredefinedActivities +import de.tsschulz.tt_tagebuch.shared.api.models.canWriteMembers +import de.tsschulz.tt_tagebuch.shared.api.models.canWritePredefinedActivities +import de.tsschulz.tt_tagebuch.shared.api.models.displayLabel +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings import kotlinx.coroutines.launch import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.buildJsonObject diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/InternalTournamentEditorDetailTabs.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/InternalTournamentEditorDetailTabs.kt similarity index 95% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/InternalTournamentEditorDetailTabs.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/InternalTournamentEditorDetailTabs.kt index a394e9f9..b2746eff 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/InternalTournamentEditorDetailTabs.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/InternalTournamentEditorDetailTabs.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -31,23 +31,23 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.shared.api.TournamentsApi -import de.tt_tagebuch.shared.api.models.AddTournamentClassBody -import de.tt_tagebuch.shared.api.models.CreateTournamentPairingBody -import de.tt_tagebuch.shared.api.models.TournamentAddInternalParticipantBody -import de.tt_tagebuch.shared.api.models.TournamentAddMatchResultBody -import de.tt_tagebuch.shared.api.models.TournamentClassDto -import de.tt_tagebuch.shared.api.models.TournamentDeleteKnockoutBody -import de.tt_tagebuch.shared.api.models.TournamentExternalParticipantRowDto -import de.tt_tagebuch.shared.api.models.TournamentFinishMatchBody -import de.tt_tagebuch.shared.api.models.TournamentMatchDto -import de.tt_tagebuch.shared.api.models.TournamentParticipantRowDto -import de.tt_tagebuch.shared.api.models.TournamentRemoveInternalParticipantBody -import de.tt_tagebuch.shared.api.models.UpdateParticipantClassBody -import de.tt_tagebuch.shared.api.models.UpdateTournamentClassBody -import de.tt_tagebuch.shared.api.models.AddExternalTournamentParticipantBody -import de.tt_tagebuch.shared.api.models.RemoveExternalTournamentParticipantBody +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.shared.api.TournamentsApi +import de.tsschulz.tt_tagebuch.shared.api.models.AddTournamentClassBody +import de.tsschulz.tt_tagebuch.shared.api.models.CreateTournamentPairingBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentAddInternalParticipantBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentAddMatchResultBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentClassDto +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentDeleteKnockoutBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentExternalParticipantRowDto +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentFinishMatchBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentMatchDto +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentParticipantRowDto +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentRemoveInternalParticipantBody +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateParticipantClassBody +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateTournamentClassBody +import de.tsschulz.tt_tagebuch.shared.api.models.AddExternalTournamentParticipantBody +import de.tsschulz.tt_tagebuch.shared.api.models.RemoveExternalTournamentParticipantBody import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/InternalTournamentEditorScreen.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/InternalTournamentEditorScreen.kt similarity index 94% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/InternalTournamentEditorScreen.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/InternalTournamentEditorScreen.kt index ce1abb40..49296ae5 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/InternalTournamentEditorScreen.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/InternalTournamentEditorScreen.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -38,20 +38,20 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.shared.api.models.InternalTournamentDetailDto -import de.tt_tagebuch.shared.api.models.SetTournamentModusBody -import de.tt_tagebuch.shared.api.models.TournamentClassDto -import de.tt_tagebuch.shared.api.models.TournamentClubTournamentBody -import de.tt_tagebuch.shared.api.models.TournamentCreateGroupMatchesBody -import de.tt_tagebuch.shared.api.models.TournamentCreateGroupsBody -import de.tt_tagebuch.shared.api.models.TournamentExternalParticipantRowDto -import de.tt_tagebuch.shared.api.models.TournamentGetExternalParticipantsBody -import de.tt_tagebuch.shared.api.models.TournamentGetParticipantsBody -import de.tt_tagebuch.shared.api.models.TournamentMatchDto -import de.tt_tagebuch.shared.api.models.TournamentParticipantRowDto -import de.tt_tagebuch.shared.api.models.UpdateTournamentMetaBody -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.shared.api.models.InternalTournamentDetailDto +import de.tsschulz.tt_tagebuch.shared.api.models.SetTournamentModusBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentClassDto +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentClubTournamentBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentCreateGroupMatchesBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentCreateGroupsBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentExternalParticipantRowDto +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentGetExternalParticipantsBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentGetParticipantsBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentMatchDto +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentParticipantRowDto +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateTournamentMetaBody +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext @@ -59,7 +59,7 @@ import kotlinx.serialization.json.JsonElement /** * Vollständiger Turnier-Workspace (analog Web [TournamentTab]): Stammdaten, Ablauf/Gruppen, - * Klassen, Teilnehmer, Spiele, Doppel-Paarungen. Lädt und speichert über [de.tt_tagebuch.shared.api.TournamentsApi]. + * Klassen, Teilnehmer, Spiele, Doppel-Paarungen. Lädt und speichert über [de.tsschulz.tt_tagebuch.shared.api.TournamentsApi]. */ @Composable internal fun InternalTournamentEditorScreen( @@ -347,7 +347,7 @@ private fun TournamentEditorFlowTab( detail: InternalTournamentDetailDto, groupsJson: JsonElement?, tr: (String, String) -> String, - api: de.tt_tagebuch.shared.api.TournamentsApi, + api: de.tsschulz.tt_tagebuch.shared.api.TournamentsApi, scope: kotlinx.coroutines.CoroutineScope, onReload: () -> Unit, onError: (String?) -> Unit, @@ -500,7 +500,7 @@ private fun TournamentEditorFlowTab( runCatching { kotlinx.coroutines.withContext(Dispatchers.IO) { api.startKnockout( - de.tt_tagebuch.shared.api.models.TournamentStartKnockoutBody(clubId, tournamentId), + de.tsschulz.tt_tagebuch.shared.api.models.TournamentStartKnockoutBody(clubId, tournamentId), ) } }.onFailure { onError(it.message) } diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/InternalTournamentStatsDialog.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/InternalTournamentStatsDialog.kt similarity index 97% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/InternalTournamentStatsDialog.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/InternalTournamentStatsDialog.kt index a8b50116..2b9e32b9 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/InternalTournamentStatsDialog.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/InternalTournamentStatsDialog.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -28,10 +28,10 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.shared.api.models.InternalTournamentStatsAgeOption -import de.tt_tagebuch.shared.api.models.InternalTournamentStatsDto -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.shared.api.models.InternalTournamentStatsAgeOption +import de.tsschulz.tt_tagebuch.shared.api.models.InternalTournamentStatsDto +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings private fun allBandKeysFromOptions(options: List): Set { val seen = mutableSetOf() diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/LanguageLocals.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/LanguageLocals.kt similarity index 59% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/LanguageLocals.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/LanguageLocals.kt index ca33f9c9..071aa790 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/LanguageLocals.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/LanguageLocals.kt @@ -1,6 +1,6 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.runtime.compositionLocalOf -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings internal val LocalLanguageCode = compositionLocalOf { MobileStrings.DEFAULT_LANGUAGE } diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/MemberGroupPortraitCropRoute.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MemberGroupPortraitCropRoute.kt similarity index 99% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/MemberGroupPortraitCropRoute.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MemberGroupPortraitCropRoute.kt index 5b6364d6..8e62ffc2 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/MemberGroupPortraitCropRoute.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MemberGroupPortraitCropRoute.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import android.graphics.Bitmap import android.graphics.BitmapFactory @@ -60,9 +60,9 @@ import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.IntSize import androidx.compose.ui.unit.dp -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.shared.api.models.Member -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.shared.api.models.Member +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/MemberPortraitCrop.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MemberPortraitCrop.kt similarity index 98% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/MemberPortraitCrop.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MemberPortraitCrop.kt index 609af2d4..c718017f 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/MemberPortraitCrop.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MemberPortraitCrop.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import android.app.Activity import android.content.Context diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/MembersExtraScreens.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MembersExtraScreens.kt similarity index 97% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/MembersExtraScreens.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MembersExtraScreens.kt index 0ac9e84b..750112af 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/MembersExtraScreens.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MembersExtraScreens.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.activity.compose.BackHandler import androidx.activity.compose.rememberLauncherForActivityResult @@ -37,12 +37,12 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.unit.dp -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.shared.api.models.MemberGroupPhotoDto -import de.tt_tagebuch.shared.api.models.MemberTransferConfigEnvelope -import de.tt_tagebuch.shared.api.models.MemberTransferRunBody -import de.tt_tagebuch.shared.api.toAbsoluteUrl -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.shared.api.models.MemberGroupPhotoDto +import de.tsschulz.tt_tagebuch.shared.api.models.MemberTransferConfigEnvelope +import de.tsschulz.tt_tagebuch.shared.api.models.MemberTransferRunBody +import de.tsschulz.tt_tagebuch.shared.api.toAbsoluteUrl +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings import kotlinx.coroutines.launch import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.booleanOrNull diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/MembersTtAge.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MembersTtAge.kt similarity index 95% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/MembersTtAge.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MembersTtAge.kt index f74691fd..bb4e877c 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/MembersTtAge.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MembersTtAge.kt @@ -1,6 +1,6 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui -import de.tt_tagebuch.shared.api.models.Member +import de.tsschulz.tt_tagebuch.shared.api.models.Member import java.time.LocalDate import java.time.Period import java.time.ZoneId diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/OfficialTournamentsWorkspaceLogic.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/OfficialTournamentsWorkspaceLogic.kt similarity index 97% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/OfficialTournamentsWorkspaceLogic.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/OfficialTournamentsWorkspaceLogic.kt index 98002465..8370f3b1 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/OfficialTournamentsWorkspaceLogic.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/OfficialTournamentsWorkspaceLogic.kt @@ -1,14 +1,14 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui -import de.tt_tagebuch.app.util.OfficialTournamentEligibility -import de.tt_tagebuch.shared.api.models.Member -import de.tt_tagebuch.shared.api.models.OfficialCompetitionMemberStateDto -import de.tt_tagebuch.shared.api.models.OfficialParsedCompetitionDto -import de.tt_tagebuch.shared.api.models.OfficialParsedDataDto -import de.tt_tagebuch.shared.api.models.OfficialParsedTournamentEnvelopeDto -import de.tt_tagebuch.shared.api.models.OfficialParticipationBucketDto -import de.tt_tagebuch.shared.api.models.OfficialParticipationEntryDto -import de.tt_tagebuch.shared.api.models.OfficialTournamentListRowDto +import de.tsschulz.tt_tagebuch.app.util.OfficialTournamentEligibility +import de.tsschulz.tt_tagebuch.shared.api.models.Member +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialCompetitionMemberStateDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParsedCompetitionDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParsedDataDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParsedTournamentEnvelopeDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParticipationBucketDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParticipationEntryDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialTournamentListRowDto import kotlinx.serialization.json.JsonArray import kotlinx.serialization.json.JsonElement import kotlinx.serialization.json.JsonNull diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/OfficialTournamentsWorkspaceScreen.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/OfficialTournamentsWorkspaceScreen.kt similarity index 98% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/OfficialTournamentsWorkspaceScreen.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/OfficialTournamentsWorkspaceScreen.kt index 2975dc53..2e67da88 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/OfficialTournamentsWorkspaceScreen.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/OfficialTournamentsWorkspaceScreen.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts @@ -55,18 +55,18 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.window.Dialog -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.app.util.OfficialTournamentEligibility -import de.tt_tagebuch.shared.api.models.OfficialParsedCompetitionDto -import de.tt_tagebuch.shared.api.models.OfficialParsedTournamentEnvelopeDto -import de.tt_tagebuch.shared.api.models.OfficialPatchTournamentBody -import de.tt_tagebuch.shared.api.models.OfficialParticipantStatusBody -import de.tt_tagebuch.shared.api.models.OfficialTournamentListRowDto -import de.tt_tagebuch.shared.api.models.OfficialUpsertParticipationBody -import de.tt_tagebuch.shared.api.models.Member -import de.tt_tagebuch.shared.api.models.canReadTournaments -import de.tt_tagebuch.shared.api.models.canWriteTournaments -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.app.util.OfficialTournamentEligibility +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParsedCompetitionDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParsedTournamentEnvelopeDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialPatchTournamentBody +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParticipantStatusBody +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialTournamentListRowDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialUpsertParticipationBody +import de.tsschulz.tt_tagebuch.shared.api.models.Member +import de.tsschulz.tt_tagebuch.shared.api.models.canReadTournaments +import de.tsschulz.tt_tagebuch.shared.api.models.canWriteTournaments +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/PersonalHubScreens.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/PersonalHubScreens.kt similarity index 98% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/PersonalHubScreens.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/PersonalHubScreens.kt index aae53c99..6d29eea6 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/PersonalHubScreens.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/PersonalHubScreens.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import android.annotation.SuppressLint import android.view.ViewGroup @@ -49,15 +49,15 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.unit.dp import androidx.compose.ui.viewinterop.AndroidView -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.shared.api.http.ApiException -import de.tt_tagebuch.shared.api.models.ClickTtAccountDto -import de.tt_tagebuch.shared.api.models.ClickTtAccountStatusDto -import de.tt_tagebuch.shared.api.models.ClickTtAccountUpsertBody -import de.tt_tagebuch.shared.api.models.MyTischtennisAccountDto -import de.tt_tagebuch.shared.api.models.MyTischtennisAccountUpsertBody -import de.tt_tagebuch.shared.api.models.MyTischtennisStatusDto -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.shared.api.http.ApiException +import de.tsschulz.tt_tagebuch.shared.api.models.ClickTtAccountDto +import de.tsschulz.tt_tagebuch.shared.api.models.ClickTtAccountStatusDto +import de.tsschulz.tt_tagebuch.shared.api.models.ClickTtAccountUpsertBody +import de.tsschulz.tt_tagebuch.shared.api.models.MyTischtennisAccountDto +import de.tsschulz.tt_tagebuch.shared.api.models.MyTischtennisAccountUpsertBody +import de.tsschulz.tt_tagebuch.shared.api.models.MyTischtennisStatusDto +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings import kotlinx.coroutines.launch import java.net.URLEncoder import java.nio.charset.StandardCharsets @@ -349,7 +349,7 @@ private fun MyTischtennisEditorDialog( onSaved: () -> Unit, onLoggedIn: () -> Unit, scope: kotlinx.coroutines.CoroutineScope, - api: de.tt_tagebuch.shared.api.MyTischtennisApi, + api: de.tsschulz.tt_tagebuch.shared.api.MyTischtennisApi, ) { var email by remember(account?.id, loginMode) { mutableStateOf(account?.email.orEmpty()) } var password by remember(account?.id, loginMode) { mutableStateOf("") } @@ -614,7 +614,7 @@ private fun ClickTtEditorDialog( onSaved: () -> Unit, onLoggedIn: () -> Unit, scope: kotlinx.coroutines.CoroutineScope, - api: de.tt_tagebuch.shared.api.ClickTtAccountApi, + api: de.tsschulz.tt_tagebuch.shared.api.ClickTtAccountApi, ) { var username by remember(account?.id, loginMode) { mutableStateOf(account?.username.orEmpty()) } var password by remember(account?.id, loginMode) { mutableStateOf("") } diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/ScheduleScreen.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/ScheduleScreen.kt similarity index 97% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/ScheduleScreen.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/ScheduleScreen.kt index bccd12b9..f2c70167 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/ScheduleScreen.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/ScheduleScreen.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import android.content.Intent import android.net.Uri @@ -46,14 +46,14 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.app.stats.TrainingStatsDerived -import de.tt_tagebuch.shared.api.models.ScheduleMatchDto -import de.tt_tagebuch.shared.api.models.ScheduleMatchScope -import de.tt_tagebuch.shared.api.models.ScheduleViewMode -import de.tt_tagebuch.shared.api.models.canReadSchedule -import de.tt_tagebuch.shared.api.models.canWriteSchedule -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.app.stats.TrainingStatsDerived +import de.tsschulz.tt_tagebuch.shared.api.models.ScheduleMatchDto +import de.tsschulz.tt_tagebuch.shared.api.models.ScheduleMatchScope +import de.tsschulz.tt_tagebuch.shared.api.models.ScheduleViewMode +import de.tsschulz.tt_tagebuch.shared.api.models.canReadSchedule +import de.tsschulz.tt_tagebuch.shared.api.models.canWriteSchedule +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings import kotlinx.coroutines.launch private val SchedulePad = 20.dp diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TeamEditorLineupLogic.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TeamEditorLineupLogic.kt similarity index 98% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TeamEditorLineupLogic.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TeamEditorLineupLogic.kt index 37c571f8..96962831 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TeamEditorLineupLogic.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TeamEditorLineupLogic.kt @@ -1,6 +1,6 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui -import de.tt_tagebuch.shared.api.models.Member +import de.tsschulz.tt_tagebuch.shared.api.models.Member import java.util.Calendar import java.util.GregorianCalendar diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TeamEditorScreen.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TeamEditorScreen.kt similarity index 96% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TeamEditorScreen.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TeamEditorScreen.kt index 7fa17c2a..dc0d22ca 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TeamEditorScreen.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TeamEditorScreen.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import android.content.Context import androidx.activity.compose.rememberLauncherForActivityResult @@ -49,19 +49,19 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.app.pdf.shareFileWithMime -import de.tt_tagebuch.shared.api.models.ClubLeagueOptionDto -import de.tt_tagebuch.shared.api.models.ClubTeamCreateBody -import de.tt_tagebuch.shared.api.models.ClubTeamDto -import de.tt_tagebuch.shared.api.models.ClubTeamLineupRowDto -import de.tt_tagebuch.shared.api.models.ClubTeamUpdateBody -import de.tt_tagebuch.shared.api.models.LeaguePlayerStatDto -import de.tt_tagebuch.shared.api.models.Member -import de.tt_tagebuch.shared.api.models.TeamLineupAssignmentItem -import de.tt_tagebuch.shared.api.models.TeamLineupUpdateBody -import de.tt_tagebuch.shared.api.models.canWriteTeams -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.app.pdf.shareFileWithMime +import de.tsschulz.tt_tagebuch.shared.api.models.ClubLeagueOptionDto +import de.tsschulz.tt_tagebuch.shared.api.models.ClubTeamCreateBody +import de.tsschulz.tt_tagebuch.shared.api.models.ClubTeamDto +import de.tsschulz.tt_tagebuch.shared.api.models.ClubTeamLineupRowDto +import de.tsschulz.tt_tagebuch.shared.api.models.ClubTeamUpdateBody +import de.tsschulz.tt_tagebuch.shared.api.models.LeaguePlayerStatDto +import de.tsschulz.tt_tagebuch.shared.api.models.Member +import de.tsschulz.tt_tagebuch.shared.api.models.TeamLineupAssignmentItem +import de.tsschulz.tt_tagebuch.shared.api.models.TeamLineupUpdateBody +import de.tsschulz.tt_tagebuch.shared.api.models.canWriteTeams +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings import kotlinx.coroutines.CancellationException import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay @@ -196,13 +196,13 @@ internal fun TeamEditorScreen( var loadingLineup by remember { mutableStateOf(false) } var savingLineup by remember { mutableStateOf(false) } - var documents by remember { mutableStateOf>(emptyList()) } + var documents by remember { mutableStateOf>(emptyList()) } var loadingDocs by remember { mutableStateOf(false) } var parsingDocId by remember { mutableStateOf(null) } var schedulerLoaded by remember { mutableStateOf(false) } var schedulerBlock by remember { - mutableStateOf( + mutableStateOf( null, ) } @@ -617,7 +617,7 @@ internal fun TeamEditorScreen( runCatching { withContext(Dispatchers.IO) { dependencies.myTischtennisApi.configureTeam( - de.tt_tagebuch.shared.api.models.MyTtConfigureTeamBody( + de.tsschulz.tt_tagebuch.shared.api.models.MyTtConfigureTeamBody( url = myTtUrl.trim(), clubTeamId = team!!.id, createLeague = createLeague, @@ -640,7 +640,7 @@ internal fun TeamEditorScreen( runCatching { withContext(Dispatchers.IO) { dependencies.myTischtennisApi.configureLeague( - de.tt_tagebuch.shared.api.models.MyTtConfigureLeagueBody( + de.tsschulz.tt_tagebuch.shared.api.models.MyTtConfigureLeagueBody( url = myTtLeagueUrl.trim(), createSeason = createSeasonLeague, ), @@ -1091,13 +1091,13 @@ private fun LineupTab( Card(elevation = 0.dp, modifier = Modifier.fillMaxWidth(), backgroundColor = MaterialTheme.colors.surface) { Column(Modifier.padding(12.dp), verticalArrangement = Arrangement.spacedBy(6.dp)) { Text( - t("mobile.teamPlanningTitle", "Mannschafts-Planung (Web)"), + t("mobile.teamPlanningTitle", "Mannschafts-Planung"), fontWeight = FontWeight.Medium, ) Text( t( "mobile.teamPlanningBody", - "Die Planungs-Ansicht mit Pool, mehreren Mannschaften und Drag-and-Drop gibt es in der Web-App unter Team-Verwaltung → Planung. In dieser App bearbeitest du die Meldung je Mannschaft hier im Tab Aufstellung.", + "Die übergreifende Planung (Pool „Möchte spielen“, mehrere Mannschaften) findest du in der Team-Verwaltung unter dem Reiter „Planung“. Hier pflegst du die Meldung nur für diese eine Mannschaft.", ), style = MaterialTheme.typography.caption, color = MaterialTheme.colors.onSurface.copy(alpha = 0.82f), @@ -1118,12 +1118,12 @@ private fun DocumentsTab( t: (String, String) -> String, canWrite: Boolean, team: ClubTeamDto, - documents: List, + documents: List, loading: Boolean, parsingId: Int?, onPickUpload: (String) -> Unit, - onParse: (de.tt_tagebuch.shared.api.models.TeamDocumentDto) -> Unit, - onOpen: (de.tt_tagebuch.shared.api.models.TeamDocumentDto) -> Unit, + onParse: (de.tsschulz.tt_tagebuch.shared.api.models.TeamDocumentDto) -> Unit, + onOpen: (de.tsschulz.tt_tagebuch.shared.api.models.TeamDocumentDto) -> Unit, ) { fun latest(type: String) = documents.filter { it.documentType == type }.maxByOrNull { it.id } Column(Modifier.verticalScroll(rememberScrollState()), verticalArrangement = Arrangement.spacedBy(12.dp)) { @@ -1154,12 +1154,12 @@ private fun DocumentsTab( @Composable private fun DocCard( title: String, - latest: de.tt_tagebuch.shared.api.models.TeamDocumentDto?, + latest: de.tsschulz.tt_tagebuch.shared.api.models.TeamDocumentDto?, canWrite: Boolean, parsingId: Int?, onUpload: () -> Unit, - onParse: (de.tt_tagebuch.shared.api.models.TeamDocumentDto) -> Unit, - onOpen: (de.tt_tagebuch.shared.api.models.TeamDocumentDto) -> Unit, + onParse: (de.tsschulz.tt_tagebuch.shared.api.models.TeamDocumentDto) -> Unit, + onOpen: (de.tsschulz.tt_tagebuch.shared.api.models.TeamDocumentDto) -> Unit, t: (String, String) -> String, ) { Card(elevation = 1.dp, modifier = Modifier.fillMaxWidth()) { @@ -1192,7 +1192,7 @@ private fun DocCard( @Composable private fun JobsTab( t: (String, String) -> String, - block: de.tt_tagebuch.shared.api.models.SchedulerJobBlockDto?, + block: de.tsschulz.tt_tagebuch.shared.api.models.SchedulerJobBlockDto?, teamId: Int, ) { val detail = block?.teamDetails?.find { it.clubTeamId == teamId } diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TeamManagementScreen.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TeamManagementScreen.kt similarity index 59% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TeamManagementScreen.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TeamManagementScreen.kt index 314601c6..fc15c39e 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TeamManagementScreen.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TeamManagementScreen.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -38,14 +38,14 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.shared.api.ScheduleLogic -import de.tt_tagebuch.shared.api.models.ClubLeagueOptionDto -import de.tt_tagebuch.shared.api.models.ClubTeamDto -import de.tt_tagebuch.shared.api.models.SeasonDto -import de.tt_tagebuch.shared.api.models.canReadTeams -import de.tt_tagebuch.shared.api.models.canWriteTeams -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.shared.api.ScheduleLogic +import de.tsschulz.tt_tagebuch.shared.api.models.ClubLeagueOptionDto +import de.tsschulz.tt_tagebuch.shared.api.models.ClubTeamDto +import de.tsschulz.tt_tagebuch.shared.api.models.SeasonDto +import de.tsschulz.tt_tagebuch.shared.api.models.canReadTeams +import de.tsschulz.tt_tagebuch.shared.api.models.canWriteTeams +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings import kotlinx.coroutines.CancellationException import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -53,6 +53,11 @@ import kotlinx.coroutines.withContext private val TeamPad = 20.dp +private enum class TeamWorkspaceSection { + Teams, + Planning, +} + @Composable internal fun TeamManagementScreen( dependencies: AppDependencies, @@ -81,6 +86,8 @@ internal fun TeamManagementScreen( var editorOpen by remember { mutableStateOf(false) } var editorTeamId by remember { mutableStateOf(null) } + var workspace by remember { mutableStateOf(TeamWorkspaceSection.Teams) } + var seasonMenu by remember { mutableStateOf(false) } var deleteTarget by remember { mutableStateOf(null) } @@ -172,7 +179,7 @@ internal fun TeamManagementScreen( fontWeight = FontWeight.SemiBold, modifier = Modifier.weight(1f), ) - if (canWrite) { + if (canWrite && workspace == TeamWorkspaceSection.Teams) { Button( onClick = { openNewTeamEditor() }, enabled = !loading && selectedSeasonId != null, @@ -187,11 +194,19 @@ internal fun TeamManagementScreen( return@Column } - Text( - getMobileString("mobile.teamsIntro", "Mannschaften pro Saison verwalten (Name, Liga, geplante Liga, Geschlechtsklasse, Altersklasse)."), - style = MaterialTheme.typography.caption, - color = MaterialTheme.colors.onSurface.copy(alpha = 0.72f), - ) + if (workspace == TeamWorkspaceSection.Teams) { + Text( + getMobileString("mobile.teamsIntro", "Mannschaften pro Saison verwalten (Name, Liga, geplante Liga, Geschlechtsklasse, Altersklasse)."), + style = MaterialTheme.typography.caption, + color = MaterialTheme.colors.onSurface.copy(alpha = 0.72f), + ) + } else { + Text( + getMobileString("teamManagement.planningSubtitle", "Spieler dem Pool „Möchte spielen“ zuordnen und auf Mannschaften verteilen."), + style = MaterialTheme.typography.caption, + color = MaterialTheme.colors.onSurface.copy(alpha = 0.72f), + ) + } Spacer(Modifier.height(8.dp)) Row(Modifier.fillMaxWidth(), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.spacedBy(8.dp)) { @@ -217,78 +232,131 @@ internal fun TeamManagementScreen( } Spacer(Modifier.height(8.dp)) - OutlinedTextField( - value = search, - onValueChange = { search = it }, - modifier = Modifier.fillMaxWidth(), - singleLine = true, - label = { Text(getMobileString("mobile.teamSearch", "Mannschaft suchen")) }, - ) - - error?.let { - Spacer(Modifier.height(8.dp)) - Text(it, color = MaterialTheme.colors.error) - } - - if (loading && teams.isEmpty()) { - Box(Modifier.fillMaxWidth().padding(top = 24.dp), contentAlignment = Alignment.Center) { - CircularProgressIndicator() + Row(Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.spacedBy(8.dp)) { + if (workspace == TeamWorkspaceSection.Teams) { + Button(onClick = { }, enabled = false, modifier = Modifier.weight(1f)) { + Text(getMobileString("mobile.teamWorkspaceTeams", "Mannschaften")) + } + } else { + OutlinedButton(onClick = { workspace = TeamWorkspaceSection.Teams }, modifier = Modifier.weight(1f)) { + Text(getMobileString("mobile.teamWorkspaceTeams", "Mannschaften")) + } + } + if (workspace == TeamWorkspaceSection.Planning) { + Button(onClick = { }, enabled = false, modifier = Modifier.weight(1f)) { + Text(getMobileString("mobile.teamWorkspacePlanning", "Planung")) + } + } else { + OutlinedButton( + onClick = { workspace = TeamWorkspaceSection.Planning }, + enabled = selectedSeasonId != null, + modifier = Modifier.weight(1f), + ) { + Text(getMobileString("mobile.teamWorkspacePlanning", "Planung")) + } } - return@Column } - if (!loading && teams.isEmpty()) { - Spacer(Modifier.height(16.dp)) - Text(getMobileString("mobile.noTeams", "Keine Mannschaften für diese Saison.")) - return@Column - } + Spacer(Modifier.height(8.dp)) - LazyColumn( - modifier = Modifier - .weight(1f) - .fillMaxWidth(), - verticalArrangement = Arrangement.spacedBy(8.dp), - ) { - items(filtered, key = { it.id }) { team -> - Card(elevation = 1.dp, modifier = Modifier.fillMaxWidth()) { - Column(Modifier.padding(12.dp)) { - Text(team.name.ifBlank { "#${team.id}" }, fontWeight = FontWeight.SemiBold) - val lg = team.league?.name?.takeIf { it.isNotBlank() } - ?: getMobileString("mobile.noLeague", "Keine Liga") - Text(lg, style = MaterialTheme.typography.caption) - team.season?.season?.takeIf { it.isNotBlank() }?.let { - Text(it, style = MaterialTheme.typography.caption) - } - team.plannedLeagueName?.takeIf { it.isNotBlank() }?.let { pl -> - Text( - getMobileString("mobile.plannedLeagueShort", "Geplant: ") + pl, - style = MaterialTheme.typography.caption, - ) - } - val g = team.teamGender ?: "open" - val a = team.teamAgeGroup ?: "adult" - val genShort = getMobileString("mobile.teamGenderShort", "Geschlecht") - val ageShort = getMobileString("mobile.teamAgeShort", "AK") - Text( - "$genShort: ${labelGender(getMobileString, g)} · $ageShort: ${labelAge(getMobileString, a)}", - style = MaterialTheme.typography.caption, - ) - team.myTischtennisTeamId?.takeIf { it.isNotBlank() }?.let { mid -> - Text("myTischtennis: $mid", style = MaterialTheme.typography.caption) - } - if (canWrite) { - Row(Modifier.padding(top = 8.dp), horizontalArrangement = Arrangement.spacedBy(8.dp)) { - TextButton(onClick = { openEditor(team) }) { - Text(getMobileString("common.edit", "Bearbeiten")) + when (workspace) { + TeamWorkspaceSection.Teams -> { + OutlinedTextField( + value = search, + onValueChange = { search = it }, + modifier = Modifier.fillMaxWidth(), + singleLine = true, + label = { Text(getMobileString("mobile.teamSearch", "Mannschaft suchen")) }, + ) + + error?.let { + Spacer(Modifier.height(8.dp)) + Text(it, color = MaterialTheme.colors.error) + } + + if (loading && teams.isEmpty()) { + Box(Modifier.fillMaxWidth().padding(top = 24.dp), contentAlignment = Alignment.Center) { + CircularProgressIndicator() + } + return@Column + } + + if (!loading && teams.isEmpty()) { + Spacer(Modifier.height(16.dp)) + Text(getMobileString("mobile.noTeams", "Keine Mannschaften für diese Saison.")) + return@Column + } + + LazyColumn( + modifier = Modifier + .weight(1f) + .fillMaxWidth(), + verticalArrangement = Arrangement.spacedBy(8.dp), + ) { + items(filtered, key = { it.id }) { team -> + Card(elevation = 1.dp, modifier = Modifier.fillMaxWidth()) { + Column(Modifier.padding(12.dp)) { + Text(team.name.ifBlank { "#${team.id}" }, fontWeight = FontWeight.SemiBold) + val lg = team.league?.name?.takeIf { it.isNotBlank() } + ?: getMobileString("mobile.noLeague", "Keine Liga") + Text(lg, style = MaterialTheme.typography.caption) + team.season?.season?.takeIf { it.isNotBlank() }?.let { + Text(it, style = MaterialTheme.typography.caption) } - TextButton(onClick = { deleteTarget = team }) { - Text(getMobileString("common.delete", "Löschen"), color = MaterialTheme.colors.error) + team.plannedLeagueName?.takeIf { it.isNotBlank() }?.let { pl -> + Text( + getMobileString("mobile.plannedLeagueShort", "Geplant: ") + pl, + style = MaterialTheme.typography.caption, + ) + } + val g = team.teamGender ?: "open" + val a = team.teamAgeGroup ?: "adult" + val genShort = getMobileString("mobile.teamGenderShort", "Geschlecht") + val ageShort = getMobileString("mobile.teamAgeShort", "AK") + Text( + "$genShort: ${labelGender(getMobileString, g)} · $ageShort: ${labelAge(getMobileString, a)}", + style = MaterialTheme.typography.caption, + ) + team.myTischtennisTeamId?.takeIf { it.isNotBlank() }?.let { mid -> + Text("myTischtennis: $mid", style = MaterialTheme.typography.caption) + } + if (canWrite) { + Row(Modifier.padding(top = 8.dp), horizontalArrangement = Arrangement.spacedBy(8.dp)) { + TextButton(onClick = { openEditor(team) }) { + Text(getMobileString("common.edit", "Bearbeiten")) + } + TextButton(onClick = { deleteTarget = team }) { + Text(getMobileString("common.delete", "Löschen"), color = MaterialTheme.colors.error) + } + } } } } } } } + TeamWorkspaceSection.Planning -> { + val sid = selectedSeasonId + if (sid == null) { + Text(getMobileString("mobile.seasonPick", "Saison wählen")) + } else { + TeamPlanningScreen( + dependencies = dependencies, + clubId = clubId, + seasonId = sid, + seasonLabel = seasons.find { it.id == sid }?.season.orEmpty(), + teams = teams, + canWrite = canWrite, + onTeamsChanged = { loadTick++ }, + onOpenTeamEditor = { tid -> + editorTeamId = tid + editorOpen = true + }, + t = getMobileString, + modifier = Modifier.weight(1f).fillMaxWidth(), + ) + } + } } } } diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TeamPlanningLogic.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TeamPlanningLogic.kt new file mode 100644 index 00000000..141e9ed8 --- /dev/null +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TeamPlanningLogic.kt @@ -0,0 +1,101 @@ +package de.tsschulz.tt_tagebuch.app.ui + +import de.tsschulz.tt_tagebuch.shared.api.models.ClubTeamDto +import de.tsschulz.tt_tagebuch.shared.api.models.Member +import java.util.Calendar +import java.util.GregorianCalendar + +/** + * Zuordnungen Spieler ↔ Mannschaft in der Saison-Planung (Halbserie), + * analog `planningAssignments` / `normalizePlanningTeamAssignments` in `TeamManagementView.vue`. + */ +internal data class PlanningAssignment( + val teamId: Int, + val memberId: Int, + val position: Int, +) + +internal object TeamPlanningLogic { + + fun defaultLineupHalf(): String = + if (isSecondHalfSeason()) "second_half" else "first_half" + + private fun isSecondHalfSeason(): Boolean { + val now = GregorianCalendar() + val seasonStart = GregorianCalendar(now.get(Calendar.YEAR), Calendar.JULY, 1, 0, 0, 0) + if (seasonStart.after(now)) { + seasonStart.add(Calendar.YEAR, -1) + } + val secondHalfStart = GregorianCalendar(seasonStart.get(Calendar.YEAR) + 1, Calendar.JANUARY, 1, 0, 0, 0) + return now.timeInMillis >= secondHalfStart.timeInMillis + } + + fun normalizeAssignments(raw: List): List { + val filtered = raw.filter { it.teamId > 0 && it.memberId > 0 } + val byTeam = filtered.groupBy { it.teamId } + val out = ArrayList() + byTeam.entries.sortedBy { it.key }.forEach { (_, entries) -> + entries + .sortedBy { it.position } + .forEachIndexed { idx, e -> + out.add(PlanningAssignment(teamId = e.teamId, memberId = e.memberId, position = idx + 1)) + } + } + return out + } + + fun withoutMember(assignments: List, memberId: Int): List = + assignments.filter { it.memberId != memberId } + + fun assignToTeamEnd( + assignments: List, + teamId: Int, + memberId: Int, + ): List { + val without = withoutMember(assignments, memberId) + val teamCount = without.count { it.teamId == teamId } + return without + PlanningAssignment(teamId = teamId, memberId = memberId, position = teamCount + 1) + } + + fun removeFromTeam(assignments: List, teamId: Int, memberId: Int): List { + val without = assignments.filterNot { it.teamId == teamId && it.memberId == memberId } + return normalizeAssignments(without) + } + + fun moveWithinTeam( + assignments: List, + teamId: Int, + memberId: Int, + direction: Int, + ): List? { + val teamEntries = assignments.filter { it.teamId == teamId }.sortedBy { it.position } + val index = teamEntries.indexOfFirst { it.memberId == memberId } + if (index < 0) return null + val target = index + direction + if (target < 0 || target >= teamEntries.size) return null + val reordered = teamEntries.toMutableList() + val tmp = reordered[index] + reordered[index] = reordered[target] + reordered[target] = tmp + val others = assignments.filter { it.teamId != teamId } + val updated = others + reordered.mapIndexed { idx, e -> + PlanningAssignment(teamId = teamId, memberId = e.memberId, position = idx + 1) + } + return normalizeAssignments(updated) + } + + fun teamLineupMembers(assignments: List, teamId: Int, membersById: Map): List = + assignments + .filter { it.teamId == teamId } + .sortedBy { it.position } + .mapNotNull { membersById[it.memberId] } + + fun isEligible(member: Member, team: ClubTeamDto, seasonLabel: String): Boolean { + val tAge = TeamEditorLineupLogic.configuredTeamAgeGroup(team.teamAgeGroup, team.league?.name) + val tGender = TeamEditorLineupLogic.configuredTeamGender(team.teamGender, team.league?.name) + return TeamEditorLineupLogic.isEligibleForTeam(member, tAge, tGender, seasonLabel) + } + + fun lineupGapOk(membersOrdered: List, template: (String, String) -> String): String? = + TeamEditorLineupLogic.lineupGapViolationMessage(membersOrdered, template) +} diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TeamPlanningScreen.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TeamPlanningScreen.kt new file mode 100644 index 00000000..42613c37 --- /dev/null +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TeamPlanningScreen.kt @@ -0,0 +1,645 @@ +package de.tsschulz.tt_tagebuch.app.ui + +import android.widget.Toast +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.items +import androidx.compose.material.AlertDialog +import androidx.compose.material.Button +import androidx.compose.material.CircularProgressIndicator +import androidx.compose.material.Divider +import androidx.compose.material.DropdownMenu +import androidx.compose.material.DropdownMenuItem +import androidx.compose.material.MaterialTheme +import androidx.compose.material.OutlinedButton +import androidx.compose.material.OutlinedTextField +import androidx.compose.material.Text +import androidx.compose.material.TextButton +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateMapOf +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.unit.dp +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.shared.api.models.ClubTeamCreateBody +import de.tsschulz.tt_tagebuch.shared.api.models.ClubTeamDto +import de.tsschulz.tt_tagebuch.shared.api.models.ClubTeamUpdateBody +import de.tsschulz.tt_tagebuch.shared.api.models.Member +import de.tsschulz.tt_tagebuch.shared.api.models.MemberPlayInterestSetBody +import de.tsschulz.tt_tagebuch.shared.api.models.TeamLineupAssignmentItem +import de.tsschulz.tt_tagebuch.shared.api.models.TeamLineupUpdateBody +import kotlinx.coroutines.CancellationException +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.async +import kotlinx.coroutines.awaitAll +import kotlinx.coroutines.coroutineScope +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext + +private data class TeamDraft( + val name: String, + val plannedLeagueName: String, + val teamGender: String, + val teamAgeGroup: String, +) + +private fun filterAssignmentsForTeamEligibility( + teamId: Int, + src: List, + teams: List, + drafts: Map, + membersById: Map, + seasonLabel: String, +): List { + val team = teams.find { it.id == teamId } ?: return src + val d = drafts[teamId] ?: return src + val pseudo = team.copy( + name = d.name, + plannedLeagueName = d.plannedLeagueName.ifBlank { null }, + teamGender = d.teamGender, + teamAgeGroup = d.teamAgeGroup, + ) + return TeamPlanningLogic.normalizeAssignments( + src.filter { a -> + if (a.teamId != teamId) return@filter true + val m = membersById[a.memberId] ?: return@filter false + TeamPlanningLogic.isEligible(m, pseudo, seasonLabel) + }, + ) +} + +@Composable +internal fun TeamPlanningScreen( + dependencies: AppDependencies, + clubId: Int, + seasonId: Int, + seasonLabel: String, + teams: List, + canWrite: Boolean, + onTeamsChanged: () -> Unit, + onOpenTeamEditor: (Int) -> Unit, + t: (String, String) -> String, + modifier: Modifier = Modifier, +) { + val context = LocalContext.current + val scope = rememberCoroutineScope() + + var lineupHalf by remember { mutableStateOf(TeamPlanningLogic.defaultLineupHalf()) } + var members by remember { mutableStateOf>(emptyList()) } + var interestedIds by remember { mutableStateOf>(emptySet()) } + var assignments by remember { mutableStateOf>(emptyList()) } + val drafts = remember { mutableStateMapOf() } + + var loading by remember { mutableStateOf(true) } + var poolSearch by remember { mutableStateOf("") } + var addInterestMemberId by remember { mutableStateOf(null) } + var addInterestMenu by remember { mutableStateOf(false) } + var markingInterest by remember { mutableStateOf(false) } + var deleteTeamId by remember { mutableStateOf(null) } + var info by remember { mutableStateOf(null) } + + val membersById = remember(members) { members.associateBy { it.id } } + + LaunchedEffect(teams.map { "${it.id}:${it.name}:${it.teamGender}:${it.teamAgeGroup}" }.joinToString("|")) { + teams.forEach { team -> + drafts[team.id] = TeamDraft( + name = team.name, + plannedLeagueName = team.plannedLeagueName.orEmpty(), + teamGender = team.teamGender?.takeIf { it.isNotBlank() } ?: "open", + teamAgeGroup = team.teamAgeGroup?.takeIf { it.isNotBlank() } ?: "adult", + ) + } + val keep = teams.map { it.id }.toSet() + drafts.keys.filter { it !in keep }.forEach { drafts.remove(it) } + } + + suspend fun loadPlanningData() { + loading = true + runCatching { + coroutineScope { + val memJob = async(Dispatchers.IO) { + dependencies.membersApi.listMembers(clubId, showAll = true) + } + val intJob = async(Dispatchers.IO) { + dependencies.membersApi.listPlayInterests(clubId, seasonId, lineupHalf) + } + members = memJob.await() + interestedIds = intJob.await().map { it.memberId }.toSet() + + val lineupJobs = teams.map { team -> + async(Dispatchers.IO) { + runCatching { + team.id to dependencies.clubTeamsApi.getLineup(team.id, lineupHalf) + }.getOrElse { team.id to emptyList() } + } + } + val lineups = lineupJobs.awaitAll() + assignments = TeamPlanningLogic.normalizeAssignments( + lineups.flatMap { (teamId, rows) -> + rows.sortedBy { it.position }.mapIndexed { idx, row -> + PlanningAssignment(teamId = teamId, memberId = row.memberId, position = idx + 1) + } + }, + ) + } + }.onFailure { ex -> + if (ex !is CancellationException) { + info = ex.message ?: t("mobile.teamLoadError", "Laden fehlgeschlagen") + } + } + loading = false + } + + LaunchedEffect(clubId, seasonId, lineupHalf, teams.map { it.id }.sorted().joinToString(",")) { + loadPlanningData() + } + + val poolMembers = remember(members, interestedIds, poolSearch) { + val q = poolSearch.trim().lowercase() + members.filter { it.id in interestedIds && it.active } + .filter { + if (q.isEmpty()) true + else "${it.firstName} ${it.lastName}".lowercase().contains(q) + } + .sortedWith(compareBy({ it.lastName.lowercase() }, { it.firstName.lowercase() })) + } + + val assignedIds = remember(assignments) { assignments.map { it.memberId }.toSet() } + val unassignedPool = remember(poolMembers, assignedIds) { + poolMembers.filter { it.id !in assignedIds } + } + + val selectableForInterest = remember(members, interestedIds, poolSearch) { + val q = poolSearch.trim().lowercase() + members.filter { m -> + m.active && m.testMembership != true && m.id !in interestedIds && + (q.isEmpty() || "${m.firstName} ${m.lastName}".lowercase().contains(q)) + }.sortedWith(compareBy({ it.lastName.lowercase() }, { it.firstName.lowercase() })) + } + + fun persistTeam(teamId: Int, nextAssignments: List, onDone: () -> Unit = {}) { + val team = teams.find { it.id == teamId } ?: return + val draft = drafts[teamId] ?: return + scope.launch { + val byId = members.associateBy { it.id } + runCatching { + val orderedMembers = TeamPlanningLogic.teamLineupMembers(nextAssignments, teamId, byId) + val gap = TeamPlanningLogic.lineupGapOk(orderedMembers) { hi, lo -> + t("mobile.lineupGapWarn", "QTTR-Abstand >30: $hi über $lo") + } + if (gap != null) { + Toast.makeText(context, gap, Toast.LENGTH_LONG).show() + return@launch + } + val items = orderedMembers.mapIndexed { i, m -> TeamLineupAssignmentItem(m.id, i + 1) } + withContext(Dispatchers.IO) { + dependencies.clubTeamsApi.updateClubTeam( + teamId, + ClubTeamUpdateBody( + name = draft.name.trim(), + leagueId = team.leagueId, + seasonId = team.seasonId ?: seasonId, + teamGender = draft.teamGender, + teamAgeGroup = draft.teamAgeGroup, + plannedLeagueName = draft.plannedLeagueName.trim().ifBlank { null }, + ), + ) + dependencies.clubTeamsApi.updateLineup( + teamId, + TeamLineupUpdateBody(assignments = items, lineupHalf = lineupHalf), + ) + } + assignments = TeamPlanningLogic.normalizeAssignments(nextAssignments) + onTeamsChanged() + onDone() + }.onFailure { ex -> + if (ex !is CancellationException) info = ex.message + } + } + } + + Column(modifier.fillMaxSize()) { + Text( + t("teamManagement.planningSubtitle", "Spieler dem Pool „Möchte spielen“ zuordnen und auf Mannschaften verteilen."), + style = MaterialTheme.typography.caption, + color = MaterialTheme.colors.onSurface.copy(alpha = 0.78f), + ) + Spacer(Modifier.height(8.dp)) + Row(Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.spacedBy(8.dp), verticalAlignment = Alignment.CenterVertically) { + Text(t("common.period", "Halbserie"), style = MaterialTheme.typography.body2) + listOf("first_half" to "VR", "second_half" to "RR").forEach { (v, label) -> + OutlinedButton( + onClick = { lineupHalf = v }, + enabled = !loading && lineupHalf != v, + ) { Text(label) } + } + Spacer(Modifier.weight(1f)) + OutlinedButton(onClick = { scope.launch { loadPlanningData() } }, enabled = !loading) { + Text(t("teamManagement.refreshStats", "Aktualisieren")) + } + } + + if (loading) { + CircularProgressIndicator(Modifier.padding(16.dp)) + } else { + LazyColumn( + Modifier + .weight(1f) + .fillMaxWidth(), + verticalArrangement = Arrangement.spacedBy(12.dp), + ) { + item { + Text(t("teamManagement.playersWantToPlay", "Möchte spielen (Pool)"), fontWeight = FontWeight.SemiBold) + OutlinedTextField( + value = poolSearch, + onValueChange = { poolSearch = it }, + modifier = Modifier.fillMaxWidth(), + singleLine = true, + label = { Text(t("teamManagement.searchMembers", "Mitglieder suchen")) }, + ) + Text( + t("mobile.teamPlanningUnassigned", "Noch keiner Mannschaft zugeordnet") + ": ${unassignedPool.size}", + style = MaterialTheme.typography.caption, + ) + } + items(unassignedPool, key = { it.id }) { m -> + Row(Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceBetween, verticalAlignment = Alignment.CenterVertically) { + Column(Modifier.weight(1f)) { + Text("${m.firstName} ${m.lastName}", fontWeight = FontWeight.Medium) + } + if (canWrite) { + var addMenu by remember(key1 = m.id) { mutableStateOf(false) } + Box { + OutlinedButton(onClick = { addMenu = true }) { + Text(t("mobile.teamPlanningAssign", "Zu Mannschaft …")) + } + DropdownMenu(expanded = addMenu, onDismissRequest = { addMenu = false }) { + teams.forEach { team -> + val draft = drafts[team.id] ?: return@forEach + val pseudo = team.copy( + name = draft.name, + plannedLeagueName = draft.plannedLeagueName.ifBlank { null }, + teamGender = draft.teamGender, + teamAgeGroup = draft.teamAgeGroup, + ) + val ok = TeamPlanningLogic.isEligible(m, pseudo, seasonLabel) + DropdownMenuItem( + onClick = { + addMenu = false + if (!ok) { + Toast.makeText( + context, + t( + "mobile.teamPlanningNotEligible", + "Mitglied passt nicht zu Alters-/Geschlechtsklasse dieser Mannschaft.", + ), + Toast.LENGTH_LONG, + ).show() + return@DropdownMenuItem + } + val next = TeamPlanningLogic.assignToTeamEnd(assignments, team.id, m.id) + val gapMembers = TeamPlanningLogic.teamLineupMembers(next, team.id, membersById) + val gap = TeamPlanningLogic.lineupGapOk(gapMembers) { hi, lo -> + t("mobile.lineupGapWarn", "QTTR-Abstand >30: $hi über $lo") + } + if (gap != null) { + Toast.makeText(context, gap, Toast.LENGTH_LONG).show() + return@DropdownMenuItem + } + persistTeam(team.id, next) + }, + enabled = ok, + ) { + Text(team.name.ifBlank { "#${team.id}" }) + } + } + } + } + } + } + } + + item { + Divider() + Text(t("teamManagement.markAsInterested", "Als interessiert markieren"), fontWeight = FontWeight.SemiBold) + Row(Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.spacedBy(8.dp)) { + Box(Modifier.weight(1f)) { + OutlinedButton( + onClick = { addInterestMenu = true }, + enabled = canWrite && !markingInterest, + modifier = Modifier.fillMaxWidth(), + ) { + Text( + addInterestMemberId?.let { id -> + membersById[id]?.let { "${it.firstName} ${it.lastName}" } + } ?: t("teamManagement.selectMember", "Mitglied wählen"), + ) + } + DropdownMenu(expanded = addInterestMenu, onDismissRequest = { addInterestMenu = false }) { + selectableForInterest.take(400).forEach { m -> + DropdownMenuItem( + onClick = { + addInterestMemberId = m.id + addInterestMenu = false + }, + ) { Text("${m.firstName} ${m.lastName}") } + } + } + } + Button( + onClick = { + val mid = addInterestMemberId ?: return@Button + scope.launch { + markingInterest = true + runCatching { + withContext(Dispatchers.IO) { + dependencies.membersApi.setPlayInterest( + clubId, + MemberPlayInterestSetBody( + memberId = mid, + seasonId = seasonId, + lineupHalf = lineupHalf, + interested = true, + ), + ) + } + interestedIds = interestedIds + mid + addInterestMemberId = null + }.onFailure { if (it !is CancellationException) info = it.message } + markingInterest = false + } + }, + enabled = canWrite && addInterestMemberId != null && !markingInterest, + ) { + Text(if (markingInterest) "…" else t("teamManagement.markAsInterested", "Interesse speichern")) + } + } + } + + item { + Divider() + Row(Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceBetween, verticalAlignment = Alignment.CenterVertically) { + Text(t("teamManagement.planningTitle", "Planung"), fontWeight = FontWeight.SemiBold) + if (canWrite) { + Button( + onClick = { + scope.launch { + runCatching { + val nextIndex = teams.size + 1 + withContext(Dispatchers.IO) { + dependencies.clubTeamsApi.createClubTeam( + clubId, + ClubTeamCreateBody( + name = t("teamManagement.teamName", "Mannschaft") + " $nextIndex", + leagueId = null, + seasonId = seasonId, + teamGender = "open", + teamAgeGroup = "adult", + plannedLeagueName = null, + ), + ) + } + onTeamsChanged() + }.onFailure { if (it !is CancellationException) info = it.message } + } + }, + ) { + Text(t("teamManagement.addPlanningTeam", "Mannschaft hinzufügen")) + } + } + } + } + + items(teams, key = { it.id }) { team -> + val teamId = team.id + val draft = drafts[teamId] ?: return@items + CardTeamPlanningBlock( + team = team, + draft = draft, + onDraftChange = { nd -> drafts[teamId] = nd }, + assignments = assignments, + membersById = membersById, + canWrite = canWrite, + t = t, + onPersistLineup = { next -> persistTeam(teamId, next) }, + onSaveTeamMeta = { + val fa = filterAssignmentsForTeamEligibility( + teamId, + assignments, + teams, + drafts, + membersById, + seasonLabel, + ) + persistTeam(teamId, fa) + }, + onMoveInTeam = { memberId, dir -> + val next = TeamPlanningLogic.moveWithinTeam(assignments, teamId, memberId, dir) + if (next != null) persistTeam(teamId, next) + }, + onRemoveMember = { memberId -> + val next = TeamPlanningLogic.removeFromTeam(assignments, teamId, memberId) + persistTeam(teamId, next) + }, + onOpenEditor = { onOpenTeamEditor(teamId) }, + onDeleteRequest = { deleteTeamId = teamId }, + poolAddCandidates = unassignedPool.filter { u -> + val pseudo = team.copy( + name = draft.name, + plannedLeagueName = draft.plannedLeagueName.ifBlank { null }, + teamGender = draft.teamGender, + teamAgeGroup = draft.teamAgeGroup, + ) + TeamPlanningLogic.isEligible(u, pseudo, seasonLabel) + }, + ) + } + } + } + } + + deleteTeamId?.let { tid -> + AlertDialog( + onDismissRequest = { deleteTeamId = null }, + title = { Text(t("mobile.teamDeleteTitle", "Mannschaft löschen?")) }, + text = { Text(teams.find { it.id == tid }?.name.orEmpty()) }, + confirmButton = { + TextButton( + onClick = { + deleteTeamId = null + scope.launch { + runCatching { + withContext(Dispatchers.IO) { dependencies.clubTeamsApi.deleteClubTeam(tid) } + onTeamsChanged() + }.onFailure { if (it !is CancellationException) info = it.message } + } + }, + ) { Text(t("common.delete", "Löschen")) } + }, + dismissButton = { TextButton(onClick = { deleteTeamId = null }) { Text(t("common.cancel", "Abbrechen")) } }, + ) + } + + info?.let { msg -> + AlertDialog( + onDismissRequest = { info = null }, + title = { Text(t("common.error", "Fehler")) }, + text = { Text(msg) }, + confirmButton = { TextButton(onClick = { info = null }) { Text(t("common.ok", "OK")) } }, + ) + } +} + +@Composable +private fun CardTeamPlanningBlock( + team: ClubTeamDto, + draft: TeamDraft, + onDraftChange: (TeamDraft) -> Unit, + assignments: List, + membersById: Map, + canWrite: Boolean, + t: (String, String) -> String, + onPersistLineup: (List) -> Unit, + onSaveTeamMeta: () -> Unit, + onMoveInTeam: (Int, Int) -> Unit, + onRemoveMember: (Int) -> Unit, + onOpenEditor: () -> Unit, + onDeleteRequest: () -> Unit, + poolAddCandidates: List, +) { + val teamId = team.id + val ordered = TeamPlanningLogic.teamLineupMembers(assignments, teamId, membersById) + var metaMenu by remember { mutableStateOf(false) } + var addMemberMenu by remember { mutableStateOf(false) } + val cardContext = LocalContext.current + + Column(Modifier.fillMaxWidth()) { + Text(team.name.ifBlank { "#$teamId" }, fontWeight = FontWeight.Bold, style = MaterialTheme.typography.subtitle1) + Row(Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.spacedBy(8.dp)) { + OutlinedButton(onClick = onOpenEditor) { + Text(t("teamManagement.openInWorkspace", "Im Editor öffnen")) + } + if (canWrite) { + OutlinedButton(onClick = onDeleteRequest) { + Text(t("common.delete", "Löschen")) + } + } + } + Spacer(Modifier.height(6.dp)) + OutlinedTextField( + value = draft.name, + onValueChange = { onDraftChange(draft.copy(name = it)) }, + label = { Text(t("teamManagement.teamName", "Mannschaft")) }, + modifier = Modifier.fillMaxWidth(), + enabled = canWrite, + singleLine = true, + ) + OutlinedTextField( + value = draft.plannedLeagueName, + onValueChange = { onDraftChange(draft.copy(plannedLeagueName = it)) }, + label = { Text(t("teamManagement.plannedLeague", "Geplante Liga")) }, + modifier = Modifier.fillMaxWidth(), + enabled = canWrite, + singleLine = true, + ) + Row(Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.spacedBy(8.dp)) { + Box { + OutlinedButton(onClick = { metaMenu = true }, enabled = canWrite) { + Text(t("mobile.teamAgeShort", "AK") + ": ${draft.teamAgeGroup}") + } + DropdownMenu(expanded = metaMenu, onDismissRequest = { metaMenu = false }) { + listOf("adult", "J19", "J17", "J15", "J13", "J11").forEach { a -> + DropdownMenuItem( + onClick = { + metaMenu = false + onDraftChange(draft.copy(teamAgeGroup = a)) + onSaveTeamMeta() + }, + ) { Text(a) } + } + } + } + Box { + var gMenu by remember { mutableStateOf(false) } + OutlinedButton(onClick = { gMenu = true }, enabled = canWrite) { + Text(t("mobile.teamGenderShort", "GK") + ": ${draft.teamGender}") + } + DropdownMenu(expanded = gMenu, onDismissRequest = { gMenu = false }) { + listOf("open", "female").forEach { g -> + DropdownMenuItem( + onClick = { + gMenu = false + onDraftChange(draft.copy(teamGender = g)) + onSaveTeamMeta() + }, + ) { Text(g) } + } + } + } + } + if (canWrite) { + Button( + onClick = { onSaveTeamMeta() }, + modifier = Modifier.fillMaxWidth(), + ) { + Text(t("mobile.teamPlanningSaveTeam", "Mannschaft speichern")) + } + } + Spacer(Modifier.height(4.dp)) + Text(t("teamManagement.selectedLineup", "Meldung"), fontWeight = FontWeight.Medium) + ordered.forEachIndexed { index, m -> + Row(Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceBetween, verticalAlignment = Alignment.CenterVertically) { + Text("${index + 1}. ${m.firstName} ${m.lastName}") + if (canWrite) { + Row { + TextButton(onClick = { onMoveInTeam(m.id, -1) }, enabled = index > 0) { Text("↑") } + TextButton(onClick = { onMoveInTeam(m.id, 1) }, enabled = index < ordered.lastIndex) { Text("↓") } + TextButton(onClick = { onRemoveMember(m.id) }) { Text("−") } + } + } + } + } + if (canWrite && poolAddCandidates.isNotEmpty()) { + Box { + OutlinedButton(onClick = { addMemberMenu = true }) { + Text(t("mobile.teamLineupAddToLineup", "Hinzufügen")) + } + DropdownMenu(expanded = addMemberMenu, onDismissRequest = { addMemberMenu = false }) { + poolAddCandidates.forEach { m -> + DropdownMenuItem( + onClick = { + addMemberMenu = false + val next = TeamPlanningLogic.assignToTeamEnd(assignments, teamId, m.id) + val gapMembers = TeamPlanningLogic.teamLineupMembers(next, teamId, membersById) + val gap = TeamPlanningLogic.lineupGapOk(gapMembers) { hi, lo -> + t("mobile.lineupGapWarn", "QTTR-Abstand >30: $hi über $lo") + } + if (gap != null) { + Toast.makeText(cardContext, gap, Toast.LENGTH_LONG).show() + } else { + onPersistLineup(next) + } + }, + ) { Text("${m.firstName} ${m.lastName}") } + } + } + } + } + } +} diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TournamentsScreen.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TournamentsScreen.kt similarity index 97% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TournamentsScreen.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TournamentsScreen.kt index 82e5a58d..f367df3f 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TournamentsScreen.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TournamentsScreen.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.foundation.background import androidx.compose.foundation.border @@ -40,15 +40,15 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.shared.api.models.AddMiniChampionshipBody -import de.tt_tagebuch.shared.api.models.AddStandardTournamentBody -import de.tt_tagebuch.shared.api.models.InternalTournamentSummaryDto -import de.tt_tagebuch.shared.api.models.OfficialParticipationEntryDto -import de.tt_tagebuch.shared.api.models.canReadTournaments -import de.tt_tagebuch.shared.api.models.canWriteTournaments -import de.tt_tagebuch.shared.i18n.MobileStrings -import de.tt_tagebuch.shared.state.ClubTournamentDisplayFilter +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.shared.api.models.AddMiniChampionshipBody +import de.tsschulz.tt_tagebuch.shared.api.models.AddStandardTournamentBody +import de.tsschulz.tt_tagebuch.shared.api.models.InternalTournamentSummaryDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParticipationEntryDto +import de.tsschulz.tt_tagebuch.shared.api.models.canReadTournaments +import de.tsschulz.tt_tagebuch.shared.api.models.canWriteTournaments +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.shared.state.ClubTournamentDisplayFilter import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TrainingStatsScreen.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TrainingStatsScreen.kt similarity index 99% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TrainingStatsScreen.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TrainingStatsScreen.kt index 9b508101..48e2d177 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TrainingStatsScreen.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TrainingStatsScreen.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.foundation.horizontalScroll import androidx.compose.foundation.layout.Arrangement @@ -42,11 +42,11 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import de.tt_tagebuch.app.AppDependencies -import de.tt_tagebuch.app.pdf.shareFileWithMime -import de.tt_tagebuch.app.stats.TrainingStatsDerived -import de.tt_tagebuch.shared.api.models.TrainingStatsMember -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.app.AppDependencies +import de.tsschulz.tt_tagebuch.app.pdf.shareFileWithMime +import de.tsschulz.tt_tagebuch.app.stats.TrainingStatsDerived +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingStatsMember +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TtTheme.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TtTheme.kt similarity index 95% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TtTheme.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TtTheme.kt index 921da94b..f8d79b6a 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/ui/TtTheme.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/TtTheme.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.material.MaterialTheme import androidx.compose.material.lightColors diff --git a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/util/OfficialTournamentEligibility.kt b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/util/OfficialTournamentEligibility.kt similarity index 96% rename from mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/util/OfficialTournamentEligibility.kt rename to mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/util/OfficialTournamentEligibility.kt index 7ab27980..73df0d50 100644 --- a/mobile-app/composeApp/src/androidMain/kotlin/de/tt_tagebuch/app/util/OfficialTournamentEligibility.kt +++ b/mobile-app/composeApp/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/app/util/OfficialTournamentEligibility.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.app.util +package de.tsschulz.tt_tagebuch.app.util -import de.tt_tagebuch.shared.api.models.Member -import de.tt_tagebuch.shared.api.models.OfficialParsedCompetitionDto -import de.tt_tagebuch.shared.api.models.OfficialParsedTournamentEnvelopeDto +import de.tsschulz.tt_tagebuch.shared.api.models.Member +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParsedCompetitionDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParsedTournamentEnvelopeDto import java.text.Collator import java.text.SimpleDateFormat import java.util.Calendar diff --git a/mobile-app/composeApp/src/androidMain/res/drawable-hdpi/ic_launcher_foreground.png b/mobile-app/composeApp/src/androidMain/res/drawable-hdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..a9085e87 Binary files /dev/null and b/mobile-app/composeApp/src/androidMain/res/drawable-hdpi/ic_launcher_foreground.png differ diff --git a/mobile-app/composeApp/src/androidMain/res/drawable-mdpi/ic_launcher_foreground.png b/mobile-app/composeApp/src/androidMain/res/drawable-mdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..bda9983e Binary files /dev/null and b/mobile-app/composeApp/src/androidMain/res/drawable-mdpi/ic_launcher_foreground.png differ diff --git a/mobile-app/composeApp/src/androidMain/res/drawable-xhdpi/ic_launcher_foreground.png b/mobile-app/composeApp/src/androidMain/res/drawable-xhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..de1a8be8 Binary files /dev/null and b/mobile-app/composeApp/src/androidMain/res/drawable-xhdpi/ic_launcher_foreground.png differ diff --git a/mobile-app/composeApp/src/androidMain/res/drawable-xxhdpi/ic_launcher_foreground.png b/mobile-app/composeApp/src/androidMain/res/drawable-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..bb16233c Binary files /dev/null and b/mobile-app/composeApp/src/androidMain/res/drawable-xxhdpi/ic_launcher_foreground.png differ diff --git a/mobile-app/composeApp/src/androidMain/res/drawable-xxxhdpi/ic_launcher_foreground.png b/mobile-app/composeApp/src/androidMain/res/drawable-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 00000000..c74c07f8 Binary files /dev/null and b/mobile-app/composeApp/src/androidMain/res/drawable-xxxhdpi/ic_launcher_foreground.png differ diff --git a/mobile-app/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml b/mobile-app/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..a8a8fa55 --- /dev/null +++ b/mobile-app/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-app/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml b/mobile-app/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 00000000..a8a8fa55 --- /dev/null +++ b/mobile-app/composeApp/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/mobile-app/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png b/mobile-app/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 00000000..b83228c3 Binary files /dev/null and b/mobile-app/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher.png differ diff --git a/mobile-app/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png b/mobile-app/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 00000000..b83228c3 Binary files /dev/null and b/mobile-app/composeApp/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png differ diff --git a/mobile-app/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.png b/mobile-app/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 00000000..ca80baf2 Binary files /dev/null and b/mobile-app/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher.png differ diff --git a/mobile-app/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png b/mobile-app/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 00000000..ca80baf2 Binary files /dev/null and b/mobile-app/composeApp/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png differ diff --git a/mobile-app/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.png b/mobile-app/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 00000000..ad066afa Binary files /dev/null and b/mobile-app/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/mobile-app/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png b/mobile-app/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 00000000..ad066afa Binary files /dev/null and b/mobile-app/composeApp/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/mobile-app/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.png b/mobile-app/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 00000000..ab867730 Binary files /dev/null and b/mobile-app/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/mobile-app/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png b/mobile-app/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 00000000..ab867730 Binary files /dev/null and b/mobile-app/composeApp/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/mobile-app/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.png b/mobile-app/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 00000000..e60e7b76 Binary files /dev/null and b/mobile-app/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/mobile-app/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png b/mobile-app/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 00000000..e60e7b76 Binary files /dev/null and b/mobile-app/composeApp/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png differ diff --git a/mobile-app/composeApp/src/androidMain/res/values/ic_launcher_colors.xml b/mobile-app/composeApp/src/androidMain/res/values/ic_launcher_colors.xml new file mode 100644 index 00000000..2b187a4b --- /dev/null +++ b/mobile-app/composeApp/src/androidMain/res/values/ic_launcher_colors.xml @@ -0,0 +1,5 @@ + + + + #FFFFFF + diff --git a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/App.kt b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/App.kt similarity index 72% rename from mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/App.kt rename to mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/App.kt index 27d0ce0e..86a0c26a 100644 --- a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/App.kt +++ b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/App.kt @@ -1,9 +1,9 @@ -package de.tt_tagebuch.app +package de.tsschulz.tt_tagebuch.app import androidx.compose.material.MaterialTheme import androidx.compose.runtime.Composable import cafe.adriel.voyager.navigator.Navigator -import de.tt_tagebuch.app.ui.LoginScreen +import de.tsschulz.tt_tagebuch.app.ui.LoginScreen @Composable fun App() { diff --git a/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/di/KoinModule.kt b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/di/KoinModule.kt new file mode 100644 index 00000000..43c6abc4 --- /dev/null +++ b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/di/KoinModule.kt @@ -0,0 +1,16 @@ +package de.tsschulz.tt_tagebuch.app.di + +import de.tsschulz.tt_tagebuch.app.viewmodel.DiaryScreenModel +import de.tsschulz.tt_tagebuch.app.viewmodel.LoginScreenModel +import de.tsschulz.tt_tagebuch.app.viewmodel.MemberScreenModel +import de.tsschulz.tt_tagebuch.app.viewmodel.ParticipantScreenModel +import de.tsschulz.tt_tagebuch.app.viewmodel.MemberEditScreenModel +import org.koin.dsl.module + +val appModule = module { + factory { LoginScreenModel(get()) } + factory { DiaryScreenModel(get()) } + factory { MemberScreenModel(get()) } // Updated + factory { ParticipantScreenModel(get()) } + factory { MemberEditScreenModel(get()) } +} diff --git a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/DiaryScreen.kt b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/DiaryScreen.kt similarity index 91% rename from mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/DiaryScreen.kt rename to mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/DiaryScreen.kt index 67e51a94..63cd57f3 100644 --- a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/DiaryScreen.kt +++ b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/DiaryScreen.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* @@ -13,8 +13,8 @@ import androidx.compose.ui.unit.dp import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.koin.getScreenModel -import de.tt_tagebuch.app.viewmodel.DiaryScreenModel -import de.tt_tagebuch.app.viewmodel.DiaryState +import de.tsschulz.tt_tagebuch.app.viewmodel.DiaryScreenModel +import de.tsschulz.tt_tagebuch.app.viewmodel.DiaryState class DiaryScreen(private val clubId: Int) : Screen { @Composable @@ -65,7 +65,7 @@ class DiaryScreen(private val clubId: Int) : Screen { } @Composable - fun DiaryDateItem(date: de.tt_tagebuch.shared.models.DiaryDate, onClick: () -> Unit) { + fun DiaryDateItem(date: de.tsschulz.tt_tagebuch.shared.models.DiaryDate, onClick: () -> Unit) { Card( modifier = Modifier.fillMaxWidth().padding(8.dp).clickable { onClick() }, elevation = 4.dp diff --git a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/HomeScreen.kt b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/HomeScreen.kt similarity index 97% rename from mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/HomeScreen.kt rename to mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/HomeScreen.kt index 378f6c65..69da030d 100644 --- a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/HomeScreen.kt +++ b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/HomeScreen.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.padding diff --git a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/LoginScreen.kt b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/LoginScreen.kt similarity index 92% rename from mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/LoginScreen.kt rename to mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/LoginScreen.kt index b9c764f8..d31004ca 100644 --- a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/LoginScreen.kt +++ b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/LoginScreen.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.foundation.layout.* import androidx.compose.material.* @@ -10,9 +10,9 @@ import androidx.compose.ui.unit.dp import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.koin.getScreenModel import cafe.adriel.voyager.navigator.LocalNavigator -import de.tt_tagebuch.app.viewmodel.LoginScreenModel -import de.tt_tagebuch.app.viewmodel.LoginState -import de.tt_tagebuch.app.ui.HomeScreen +import de.tsschulz.tt_tagebuch.app.viewmodel.LoginScreenModel +import de.tsschulz.tt_tagebuch.app.viewmodel.LoginState +import de.tsschulz.tt_tagebuch.app.ui.HomeScreen class LoginScreen : Screen { @Composable diff --git a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/MemberDetailScreen.kt b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MemberDetailScreen.kt similarity index 97% rename from mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/MemberDetailScreen.kt rename to mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MemberDetailScreen.kt index 0cc3d461..0ab5dd38 100644 --- a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/MemberDetailScreen.kt +++ b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MemberDetailScreen.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.foundation.layout.* import androidx.compose.foundation.rememberScrollState @@ -16,7 +16,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator -import de.tt_tagebuch.shared.models.Member +import de.tsschulz.tt_tagebuch.shared.models.Member class MemberDetailScreen(private val member: Member) : Screen { @Composable @@ -121,7 +121,7 @@ class MemberDetailScreen(private val member: Member) : Screen { } @Composable - fun ContactRow(contact: de.tt_tagebuch.shared.models.MemberContact) { + fun ContactRow(contact: de.tsschulz.tt_tagebuch.shared.models.MemberContact) { Row( modifier = Modifier.fillMaxWidth().padding(vertical = 8.dp), verticalAlignment = Alignment.CenterVertically diff --git a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/MemberEditScreen.kt b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MemberEditScreen.kt similarity index 96% rename from mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/MemberEditScreen.kt rename to mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MemberEditScreen.kt index 68b24d3c..ee3215ff 100644 --- a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/MemberEditScreen.kt +++ b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MemberEditScreen.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.foundation.layout.* import androidx.compose.foundation.rememberScrollState @@ -16,10 +16,10 @@ import androidx.compose.ui.unit.dp import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.koin.getScreenModel import cafe.adriel.voyager.navigator.LocalNavigator -import de.tt_tagebuch.app.viewmodel.MemberEditScreenModel -import de.tt_tagebuch.app.viewmodel.MemberEditState -import de.tt_tagebuch.shared.models.Member -import de.tt_tagebuch.shared.models.MemberContact +import de.tsschulz.tt_tagebuch.app.viewmodel.MemberEditScreenModel +import de.tsschulz.tt_tagebuch.app.viewmodel.MemberEditState +import de.tsschulz.tt_tagebuch.shared.models.Member +import de.tsschulz.tt_tagebuch.shared.models.MemberContact class MemberEditScreen(private val clubId: Int, private val member: Member? = null) : Screen { @Composable diff --git a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/MemberScreen.kt b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MemberScreen.kt similarity index 91% rename from mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/MemberScreen.kt rename to mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MemberScreen.kt index 92e60b72..131e6361 100644 --- a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/MemberScreen.kt +++ b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/MemberScreen.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* @@ -13,8 +13,8 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Add import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.koin.getScreenModel -import de.tt_tagebuch.app.viewmodel.MemberScreenModel -import de.tt_tagebuch.app.viewmodel.MemberState +import de.tsschulz.tt_tagebuch.app.viewmodel.MemberScreenModel +import de.tsschulz.tt_tagebuch.app.viewmodel.MemberState import cafe.adriel.voyager.navigator.LocalNavigator @@ -70,7 +70,7 @@ class MemberScreen(private val clubId: Int) : Screen { @OptIn(ExperimentalMaterialApi::class) @Composable - fun MemberItem(member: de.tt_tagebuch.shared.models.Member, onClick: () -> Unit) { + fun MemberItem(member: de.tsschulz.tt_tagebuch.shared.models.Member, onClick: () -> Unit) { ListItem( modifier = Modifier.clickable { onClick() }, text = { Text("${member.firstName} ${member.lastName}") }, diff --git a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/ParticipantScreen.kt b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/ParticipantScreen.kt similarity index 95% rename from mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/ParticipantScreen.kt rename to mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/ParticipantScreen.kt index c5aaea89..be041eb6 100644 --- a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/ui/ParticipantScreen.kt +++ b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/ui/ParticipantScreen.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.app.ui +package de.tsschulz.tt_tagebuch.app.ui import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn @@ -14,8 +14,8 @@ import androidx.compose.ui.unit.dp import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.koin.getScreenModel import cafe.adriel.voyager.navigator.LocalNavigator -import de.tt_tagebuch.app.viewmodel.ParticipantScreenModel -import de.tt_tagebuch.app.viewmodel.ParticipantState +import de.tsschulz.tt_tagebuch.app.viewmodel.ParticipantScreenModel +import de.tsschulz.tt_tagebuch.app.viewmodel.ParticipantState class ParticipantScreen(private val dateId: Int, private val dateStr: String) : Screen { @Composable @@ -69,7 +69,7 @@ class ParticipantScreen(private val dateId: Int, private val dateStr: String) : @Composable fun ParticipantItem( - participant: de.tt_tagebuch.shared.models.Participant, + participant: de.tsschulz.tt_tagebuch.shared.models.Participant, onStatusChange: (String) -> Unit ) { val member = participant.member diff --git a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/viewmodel/DiaryScreenModel.kt b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/viewmodel/DiaryScreenModel.kt similarity index 89% rename from mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/viewmodel/DiaryScreenModel.kt rename to mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/viewmodel/DiaryScreenModel.kt index 31957c81..e9123aa2 100644 --- a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/viewmodel/DiaryScreenModel.kt +++ b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/viewmodel/DiaryScreenModel.kt @@ -1,9 +1,9 @@ -package de.tt_tagebuch.app.viewmodel +package de.tsschulz.tt_tagebuch.app.viewmodel import cafe.adriel.voyager.core.model.ScreenModel import cafe.adriel.voyager.core.model.screenModelScope -import de.tt_tagebuch.shared.models.DiaryDate -import de.tt_tagebuch.shared.repository.DiaryRepository +import de.tsschulz.tt_tagebuch.shared.models.DiaryDate +import de.tsschulz.tt_tagebuch.shared.repository.DiaryRepository import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch diff --git a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/viewmodel/LoginScreenModel.kt b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/viewmodel/LoginScreenModel.kt similarity index 91% rename from mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/viewmodel/LoginScreenModel.kt rename to mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/viewmodel/LoginScreenModel.kt index 5f377106..d459ddb4 100644 --- a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/viewmodel/LoginScreenModel.kt +++ b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/viewmodel/LoginScreenModel.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.app.viewmodel +package de.tsschulz.tt_tagebuch.app.viewmodel import cafe.adriel.voyager.core.model.ScreenModel import cafe.adriel.voyager.core.model.screenModelScope -import de.tt_tagebuch.shared.repository.AuthRepository +import de.tsschulz.tt_tagebuch.shared.repository.AuthRepository import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch diff --git a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/viewmodel/MemberEditScreenModel.kt b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/viewmodel/MemberEditScreenModel.kt similarity index 88% rename from mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/viewmodel/MemberEditScreenModel.kt rename to mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/viewmodel/MemberEditScreenModel.kt index 72fd4e7d..367ff373 100644 --- a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/viewmodel/MemberEditScreenModel.kt +++ b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/viewmodel/MemberEditScreenModel.kt @@ -1,9 +1,9 @@ -package de.tt_tagebuch.app.viewmodel +package de.tsschulz.tt_tagebuch.app.viewmodel import cafe.adriel.voyager.core.model.ScreenModel import cafe.adriel.voyager.core.model.screenModelScope -import de.tt_tagebuch.shared.models.Member -import de.tt_tagebuch.shared.repository.MemberRepository +import de.tsschulz.tt_tagebuch.shared.models.Member +import de.tsschulz.tt_tagebuch.shared.repository.MemberRepository import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch diff --git a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/viewmodel/MemberScreenModel.kt b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/viewmodel/MemberScreenModel.kt similarity index 87% rename from mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/viewmodel/MemberScreenModel.kt rename to mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/viewmodel/MemberScreenModel.kt index 7378e46d..87b8db27 100644 --- a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/viewmodel/MemberScreenModel.kt +++ b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/viewmodel/MemberScreenModel.kt @@ -1,9 +1,9 @@ -package de.tt_tagebuch.app.viewmodel +package de.tsschulz.tt_tagebuch.app.viewmodel import cafe.adriel.voyager.core.model.ScreenModel import cafe.adriel.voyager.core.model.screenModelScope -import de.tt_tagebuch.shared.models.Member -import de.tt_tagebuch.shared.repository.DiaryRepository +import de.tsschulz.tt_tagebuch.shared.models.Member +import de.tsschulz.tt_tagebuch.shared.repository.DiaryRepository import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch diff --git a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/viewmodel/ParticipantScreenModel.kt b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/viewmodel/ParticipantScreenModel.kt similarity index 90% rename from mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/viewmodel/ParticipantScreenModel.kt rename to mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/viewmodel/ParticipantScreenModel.kt index d06b6cfe..80dcb0cf 100644 --- a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/viewmodel/ParticipantScreenModel.kt +++ b/mobile-app/composeApp/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/app/viewmodel/ParticipantScreenModel.kt @@ -1,9 +1,9 @@ -package de.tt_tagebuch.app.viewmodel +package de.tsschulz.tt_tagebuch.app.viewmodel import cafe.adriel.voyager.core.model.ScreenModel import cafe.adriel.voyager.core.model.screenModelScope -import de.tt_tagebuch.shared.models.Participant -import de.tt_tagebuch.shared.repository.DiaryRepository +import de.tsschulz.tt_tagebuch.shared.models.Participant +import de.tsschulz.tt_tagebuch.shared.repository.DiaryRepository import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch diff --git a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/di/KoinModule.kt b/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/di/KoinModule.kt deleted file mode 100644 index 44829e87..00000000 --- a/mobile-app/composeApp/src/commonMain/kotlin/de/tt_tagebuch/app/di/KoinModule.kt +++ /dev/null @@ -1,16 +0,0 @@ -package de.tt_tagebuch.app.di - -import de.tt_tagebuch.app.viewmodel.DiaryScreenModel -import de.tt_tagebuch.app.viewmodel.LoginScreenModel -import de.tt_tagebuch.app.viewmodel.MemberScreenModel -import de.tt_tagebuch.app.viewmodel.ParticipantScreenModel -import de.tt_tagebuch.app.viewmodel.MemberEditScreenModel -import org.koin.dsl.module - -val appModule = module { - factory { LoginScreenModel(get()) } - factory { DiaryScreenModel(get()) } - factory { MemberScreenModel(get()) } // Updated - factory { ParticipantScreenModel(get()) } - factory { MemberEditScreenModel(get()) } -} diff --git a/mobile-app/scripts/install-debug-emulator.sh b/mobile-app/scripts/install-debug-emulator.sh index 86394655..9d1356f4 100755 --- a/mobile-app/scripts/install-debug-emulator.sh +++ b/mobile-app/scripts/install-debug-emulator.sh @@ -3,7 +3,7 @@ # Nutzung: von mobile-app/ aus: ./scripts/install-debug-emulator.sh set -euo pipefail cd "$(dirname "$0")/.." -adb uninstall de.tt_tagebuch.app 2>/dev/null || true +adb uninstall de.tsschulz.tt_tagebuch 2>/dev/null || true ./gradlew :composeApp:clean :composeApp:installDebug \ -PbackendBaseUrl=http://10.0.2.2:3005 \ --no-configuration-cache diff --git a/mobile-app/shared/build.gradle.kts b/mobile-app/shared/build.gradle.kts index 1da29f70..705d1a9c 100644 --- a/mobile-app/shared/build.gradle.kts +++ b/mobile-app/shared/build.gradle.kts @@ -47,7 +47,7 @@ kotlin { } android { - namespace = "de.tt_tagebuch.shared" + namespace = "de.tsschulz.tt_tagebuch.shared" compileSdk = libs.versions.android.compileSdk.get().toInt() defaultConfig { minSdk = libs.versions.android.minSdk.get().toInt() diff --git a/mobile-app/shared/src/androidMain/kotlin/de/tt_tagebuch/shared/api/http/AndroidHttpClientEngineFactory.kt b/mobile-app/shared/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/AndroidHttpClientEngineFactory.kt similarity index 82% rename from mobile-app/shared/src/androidMain/kotlin/de/tt_tagebuch/shared/api/http/AndroidHttpClientEngineFactory.kt rename to mobile-app/shared/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/AndroidHttpClientEngineFactory.kt index 203e4060..7388615f 100644 --- a/mobile-app/shared/src/androidMain/kotlin/de/tt_tagebuch/shared/api/http/AndroidHttpClientEngineFactory.kt +++ b/mobile-app/shared/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/AndroidHttpClientEngineFactory.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.http +package de.tsschulz.tt_tagebuch.shared.api.http import io.ktor.client.engine.HttpClientEngine import io.ktor.client.engine.okhttp.OkHttp diff --git a/mobile-app/shared/src/androidMain/kotlin/de/tt_tagebuch/shared/state/AndroidClubStorage.kt b/mobile-app/shared/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AndroidClubStorage.kt similarity index 96% rename from mobile-app/shared/src/androidMain/kotlin/de/tt_tagebuch/shared/state/AndroidClubStorage.kt rename to mobile-app/shared/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AndroidClubStorage.kt index 81535cbb..ab3362a0 100644 --- a/mobile-app/shared/src/androidMain/kotlin/de/tt_tagebuch/shared/state/AndroidClubStorage.kt +++ b/mobile-app/shared/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AndroidClubStorage.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state import android.content.Context import androidx.security.crypto.EncryptedSharedPreferences diff --git a/mobile-app/shared/src/androidMain/kotlin/de/tt_tagebuch/shared/state/AndroidLanguageStorage.kt b/mobile-app/shared/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AndroidLanguageStorage.kt similarity index 94% rename from mobile-app/shared/src/androidMain/kotlin/de/tt_tagebuch/shared/state/AndroidLanguageStorage.kt rename to mobile-app/shared/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AndroidLanguageStorage.kt index b3f9dbf2..21e4e200 100644 --- a/mobile-app/shared/src/androidMain/kotlin/de/tt_tagebuch/shared/state/AndroidLanguageStorage.kt +++ b/mobile-app/shared/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AndroidLanguageStorage.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state import android.content.Context import kotlinx.coroutines.Dispatchers diff --git a/mobile-app/shared/src/androidMain/kotlin/de/tt_tagebuch/shared/state/AndroidTokenStorage.kt b/mobile-app/shared/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AndroidTokenStorage.kt similarity index 97% rename from mobile-app/shared/src/androidMain/kotlin/de/tt_tagebuch/shared/state/AndroidTokenStorage.kt rename to mobile-app/shared/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AndroidTokenStorage.kt index 2e68f440..8212e2d3 100644 --- a/mobile-app/shared/src/androidMain/kotlin/de/tt_tagebuch/shared/state/AndroidTokenStorage.kt +++ b/mobile-app/shared/src/androidMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AndroidTokenStorage.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state import android.content.Context import androidx.security.crypto.EncryptedSharedPreferences diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/AccidentApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/AccidentApi.kt similarity index 67% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/AccidentApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/AccidentApi.kt index 33f3db19..416f6c41 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/AccidentApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/AccidentApi.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.AccidentReportDto -import de.tt_tagebuch.shared.api.models.CreateAccidentBody +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.AccidentReportDto +import de.tsschulz.tt_tagebuch.shared.api.models.CreateAccidentBody import io.ktor.client.call.body import io.ktor.client.request.get import io.ktor.client.request.post diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ApiClient.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ApiClient.kt similarity index 96% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ApiClient.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ApiClient.kt index 14a9c12c..041e8af7 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ApiClient.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ApiClient.kt @@ -1,6 +1,6 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.models.* +import de.tsschulz.tt_tagebuch.shared.models.* import io.ktor.client.* import io.ktor.client.call.* import io.ktor.client.plugins.contentnegotiation.* diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ApiConfig.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ApiConfig.kt similarity index 91% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ApiConfig.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ApiConfig.kt index 92630eba..98150e30 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ApiConfig.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ApiConfig.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api data class ApiConfig( val baseUrl: String, diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ApiLogsApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ApiLogsApi.kt similarity index 74% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ApiLogsApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ApiLogsApi.kt index bfaa7996..b36f8da9 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ApiLogsApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ApiLogsApi.kt @@ -1,11 +1,11 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.ApiLogDetailDto -import de.tt_tagebuch.shared.api.models.ApiLogDetailEnvelopeDto -import de.tt_tagebuch.shared.api.models.ApiLogsListEnvelopeDto -import de.tt_tagebuch.shared.api.models.ApiLogsListPageDto -import de.tt_tagebuch.shared.api.models.SchedulerLastExecutionsEnvelopeDto +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.ApiLogDetailDto +import de.tsschulz.tt_tagebuch.shared.api.models.ApiLogDetailEnvelopeDto +import de.tsschulz.tt_tagebuch.shared.api.models.ApiLogsListEnvelopeDto +import de.tsschulz.tt_tagebuch.shared.api.models.ApiLogsListPageDto +import de.tsschulz.tt_tagebuch.shared.api.models.SchedulerLastExecutionsEnvelopeDto import io.ktor.client.call.body import io.ktor.client.request.get import io.ktor.client.request.parameter diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/AuthApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/AuthApi.kt similarity index 66% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/AuthApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/AuthApi.kt index 3711d7af..3d7178c8 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/AuthApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/AuthApi.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.LoginRequest -import de.tt_tagebuch.shared.api.models.LoginResponse +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.LoginRequest +import de.tsschulz.tt_tagebuch.shared.api.models.LoginResponse import io.ktor.client.call.body import io.ktor.client.request.post import io.ktor.client.request.setBody diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/BillingApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/BillingApi.kt similarity index 81% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/BillingApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/BillingApi.kt index 178eba82..6282fda2 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/BillingApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/BillingApi.kt @@ -1,14 +1,14 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.BillingCreateRunBody -import de.tt_tagebuch.shared.api.models.BillingCreateRunEnvelope -import de.tt_tagebuch.shared.api.models.BillingGenerateBody -import de.tt_tagebuch.shared.api.models.BillingGenerateEnvelope -import de.tt_tagebuch.shared.api.models.BillingHoursPreviewEnvelope -import de.tt_tagebuch.shared.api.models.BillingRunsEnvelope -import de.tt_tagebuch.shared.api.models.BillingSettingsEnvelope -import de.tt_tagebuch.shared.api.models.BillingTemplatesEnvelope +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.BillingCreateRunBody +import de.tsschulz.tt_tagebuch.shared.api.models.BillingCreateRunEnvelope +import de.tsschulz.tt_tagebuch.shared.api.models.BillingGenerateBody +import de.tsschulz.tt_tagebuch.shared.api.models.BillingGenerateEnvelope +import de.tsschulz.tt_tagebuch.shared.api.models.BillingHoursPreviewEnvelope +import de.tsschulz.tt_tagebuch.shared.api.models.BillingRunsEnvelope +import de.tsschulz.tt_tagebuch.shared.api.models.BillingSettingsEnvelope +import de.tsschulz.tt_tagebuch.shared.api.models.BillingTemplatesEnvelope import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.forms.MultiPartFormDataContent diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/CalendarHolidayApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/CalendarHolidayApi.kt similarity index 67% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/CalendarHolidayApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/CalendarHolidayApi.kt index 9205abe5..c920ef56 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/CalendarHolidayApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/CalendarHolidayApi.kt @@ -1,7 +1,7 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.ClubCalendarHolidaysEnvelope +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.ClubCalendarHolidaysEnvelope import io.ktor.client.call.body import io.ktor.client.request.get import io.ktor.client.request.parameter diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ClickTtAccountApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ClickTtAccountApi.kt similarity index 71% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ClickTtAccountApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ClickTtAccountApi.kt index b569d748..14df3cfd 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ClickTtAccountApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ClickTtAccountApi.kt @@ -1,12 +1,12 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.ClickTtAccountEnvelope -import de.tt_tagebuch.shared.api.models.ClickTtAccountSaveResponse -import de.tt_tagebuch.shared.api.models.ClickTtAccountStatusDto -import de.tt_tagebuch.shared.api.models.ClickTtAccountUpsertBody -import de.tt_tagebuch.shared.api.models.ClickTtVerifyBody -import de.tt_tagebuch.shared.api.models.ClickTtVerifyResponseDto +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.ClickTtAccountEnvelope +import de.tsschulz.tt_tagebuch.shared.api.models.ClickTtAccountSaveResponse +import de.tsschulz.tt_tagebuch.shared.api.models.ClickTtAccountStatusDto +import de.tsschulz.tt_tagebuch.shared.api.models.ClickTtAccountUpsertBody +import de.tsschulz.tt_tagebuch.shared.api.models.ClickTtVerifyBody +import de.tsschulz.tt_tagebuch.shared.api.models.ClickTtVerifyResponseDto import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.get diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ClubApprovalsApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ClubApprovalsApi.kt similarity index 70% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ClubApprovalsApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ClubApprovalsApi.kt index 1aeacba3..9ea9917d 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ClubApprovalsApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ClubApprovalsApi.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.ClubAccessDecisionBody -import de.tt_tagebuch.shared.api.models.PendingUserClubJoinDto +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.ClubAccessDecisionBody +import de.tsschulz.tt_tagebuch.shared.api.models.PendingUserClubJoinDto import io.ktor.client.call.body import io.ktor.client.request.get import io.ktor.client.request.post diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ClubTeamsApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ClubTeamsApi.kt similarity index 78% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ClubTeamsApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ClubTeamsApi.kt index d70561f1..eb681b54 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ClubTeamsApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ClubTeamsApi.kt @@ -1,12 +1,12 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.ClubLeagueOptionDto -import de.tt_tagebuch.shared.api.models.ClubTeamCreateBody -import de.tt_tagebuch.shared.api.models.ClubTeamDto -import de.tt_tagebuch.shared.api.models.ClubTeamLineupRowDto -import de.tt_tagebuch.shared.api.models.ClubTeamUpdateBody -import de.tt_tagebuch.shared.api.models.TeamLineupUpdateBody +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.ClubLeagueOptionDto +import de.tsschulz.tt_tagebuch.shared.api.models.ClubTeamCreateBody +import de.tsschulz.tt_tagebuch.shared.api.models.ClubTeamDto +import de.tsschulz.tt_tagebuch.shared.api.models.ClubTeamLineupRowDto +import de.tsschulz.tt_tagebuch.shared.api.models.ClubTeamUpdateBody +import de.tsschulz.tt_tagebuch.shared.api.models.TeamLineupUpdateBody import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.get diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ClubsApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ClubsApi.kt similarity index 81% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ClubsApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ClubsApi.kt index a7f6ecca..0c60c193 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ClubsApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ClubsApi.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.Club -import de.tt_tagebuch.shared.api.models.UpdateClubSettingsBody +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.Club +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateClubSettingsBody import io.ktor.client.call.body import io.ktor.client.request.get import io.ktor.client.request.post diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/DiaryApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/DiaryApi.kt similarity index 77% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/DiaryApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/DiaryApi.kt index 8bc22f21..b51a5587 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/DiaryApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/DiaryApi.kt @@ -1,21 +1,21 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.AddDiaryNoteRequest -import de.tt_tagebuch.shared.api.models.AddFreeformActivityBody -import de.tt_tagebuch.shared.api.models.AddDiaryPlanGroupActivityRequest -import de.tt_tagebuch.shared.api.models.CreateDiaryDateRequest -import de.tt_tagebuch.shared.api.models.CreateDiaryPlanActivityRequest -import de.tt_tagebuch.shared.api.models.DiaryDate -import de.tt_tagebuch.shared.api.models.DiaryDateActivityItem -import de.tt_tagebuch.shared.api.models.DiaryFreeformActivity -import de.tt_tagebuch.shared.api.models.DiaryNote -import de.tt_tagebuch.shared.api.models.DiaryTag -import de.tt_tagebuch.shared.api.models.LinkDiaryTagRequest -import de.tt_tagebuch.shared.api.models.UpdateDiaryPlanActivityOrderRequest -import de.tt_tagebuch.shared.api.models.UpdateDiaryPlanActivityRequest -import de.tt_tagebuch.shared.api.models.UpdateDiaryTimesRequest -import de.tt_tagebuch.shared.api.models.UpdateNestedPlanGroupActivityRequest +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.AddDiaryNoteRequest +import de.tsschulz.tt_tagebuch.shared.api.models.AddFreeformActivityBody +import de.tsschulz.tt_tagebuch.shared.api.models.AddDiaryPlanGroupActivityRequest +import de.tsschulz.tt_tagebuch.shared.api.models.CreateDiaryDateRequest +import de.tsschulz.tt_tagebuch.shared.api.models.CreateDiaryPlanActivityRequest +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryDate +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryDateActivityItem +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryFreeformActivity +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryNote +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryTag +import de.tsschulz.tt_tagebuch.shared.api.models.LinkDiaryTagRequest +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateDiaryPlanActivityOrderRequest +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateDiaryPlanActivityRequest +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateDiaryTimesRequest +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateNestedPlanGroupActivityRequest import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.get diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/DiaryMemberActivitiesApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/DiaryMemberActivitiesApi.kt similarity index 78% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/DiaryMemberActivitiesApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/DiaryMemberActivitiesApi.kt index 4ea3dd01..c42179ef 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/DiaryMemberActivitiesApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/DiaryMemberActivitiesApi.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.AddMemberActivityParticipantsBody -import de.tt_tagebuch.shared.api.models.DiaryMemberActivityLink +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.AddMemberActivityParticipantsBody +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryMemberActivityLink import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.get diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/DiaryMemberApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/DiaryMemberApi.kt similarity index 82% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/DiaryMemberApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/DiaryMemberApi.kt index 2a2d5a72..9fbe9402 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/DiaryMemberApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/DiaryMemberApi.kt @@ -1,10 +1,10 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.AddDiaryMemberNoteBody -import de.tt_tagebuch.shared.api.models.DiaryMemberNoteDto -import de.tt_tagebuch.shared.api.models.DiaryMemberTagLinkDto -import de.tt_tagebuch.shared.api.models.DiaryMemberTagMutationBody +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.AddDiaryMemberNoteBody +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryMemberNoteDto +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryMemberTagLinkDto +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryMemberTagMutationBody import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.get diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/GroupApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/GroupApi.kt similarity index 73% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/GroupApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/GroupApi.kt index 046ba852..e2a5e6e9 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/GroupApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/GroupApi.kt @@ -1,10 +1,10 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.CreateTrainingGroupBody -import de.tt_tagebuch.shared.api.models.DeleteTrainingGroupBody -import de.tt_tagebuch.shared.api.models.DiaryPlanGroup -import de.tt_tagebuch.shared.api.models.UpdateTrainingGroupBody +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.CreateTrainingGroupBody +import de.tsschulz.tt_tagebuch.shared.api.models.DeleteTrainingGroupBody +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryPlanGroup +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateTrainingGroupBody import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.get diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MatchesApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MatchesApi.kt similarity index 78% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MatchesApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MatchesApi.kt index e8ce3684..724049a6 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MatchesApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MatchesApi.kt @@ -1,10 +1,10 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.LeaguePlayerStatDto -import de.tt_tagebuch.shared.api.models.LeagueTableRowDto -import de.tt_tagebuch.shared.api.models.ScheduleMatchDto -import de.tt_tagebuch.shared.api.models.UpdateMatchPlayersBody +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.LeaguePlayerStatDto +import de.tsschulz.tt_tagebuch.shared.api.models.LeagueTableRowDto +import de.tsschulz.tt_tagebuch.shared.api.models.ScheduleMatchDto +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateMatchPlayersBody import io.ktor.client.call.body import io.ktor.client.request.get import io.ktor.client.request.parameter diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MemberActivitiesApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MemberActivitiesApi.kt similarity index 73% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MemberActivitiesApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MemberActivitiesApi.kt index 26905f19..94a23163 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MemberActivitiesApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MemberActivitiesApi.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.MemberActivityStatDto -import de.tt_tagebuch.shared.api.models.MemberLastParticipationDto +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.MemberActivityStatDto +import de.tsschulz.tt_tagebuch.shared.api.models.MemberLastParticipationDto import io.ktor.client.call.body import io.ktor.client.request.get import io.ktor.client.request.parameter diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MemberGroupPhotosApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MemberGroupPhotosApi.kt similarity index 87% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MemberGroupPhotosApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MemberGroupPhotosApi.kt index f185b4b7..219b99c9 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MemberGroupPhotosApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MemberGroupPhotosApi.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.MemberGroupPhotoDto -import de.tt_tagebuch.shared.api.models.MemberGroupPhotoListResponse +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.MemberGroupPhotoDto +import de.tsschulz.tt_tagebuch.shared.api.models.MemberGroupPhotoListResponse import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.forms.MultiPartFormDataContent diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MemberOrdersApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MemberOrdersApi.kt similarity index 74% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MemberOrdersApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MemberOrdersApi.kt index 6f6f4ad8..d32dff69 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MemberOrdersApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MemberOrdersApi.kt @@ -1,10 +1,10 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.MemberOrderCreateBody -import de.tt_tagebuch.shared.api.models.MemberOrderEnvelope -import de.tt_tagebuch.shared.api.models.MemberOrderPatchBody -import de.tt_tagebuch.shared.api.models.MemberOrdersListEnvelope +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.MemberOrderCreateBody +import de.tsschulz.tt_tagebuch.shared.api.models.MemberOrderEnvelope +import de.tsschulz.tt_tagebuch.shared.api.models.MemberOrderPatchBody +import de.tsschulz.tt_tagebuch.shared.api.models.MemberOrdersListEnvelope import io.ktor.client.call.body import io.ktor.client.request.get import io.ktor.client.request.patch diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MemberTransferConfigApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MemberTransferConfigApi.kt similarity index 73% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MemberTransferConfigApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MemberTransferConfigApi.kt index d73b8bfc..7cbc4241 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MemberTransferConfigApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MemberTransferConfigApi.kt @@ -1,9 +1,9 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.ApiException -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.MemberTransferConfigEnvelope -import de.tt_tagebuch.shared.api.models.MemberTransferConfigSaveBody +import de.tsschulz.tt_tagebuch.shared.api.http.ApiException +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.MemberTransferConfigEnvelope +import de.tsschulz.tt_tagebuch.shared.api.models.MemberTransferConfigSaveBody import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.get diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MembersApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MembersApi.kt similarity index 71% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MembersApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MembersApi.kt index 9dc4becd..3b5e59b4 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MembersApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MembersApi.kt @@ -1,10 +1,12 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.Member -import de.tt_tagebuch.shared.api.models.MemberQuickMutationResponse -import de.tt_tagebuch.shared.api.models.MemberSetBody -import de.tt_tagebuch.shared.api.models.MemberTransferRunBody +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.Member +import de.tsschulz.tt_tagebuch.shared.api.models.MemberPlayInterestRowDto +import de.tsschulz.tt_tagebuch.shared.api.models.MemberPlayInterestSetBody +import de.tsschulz.tt_tagebuch.shared.api.models.MemberQuickMutationResponse +import de.tsschulz.tt_tagebuch.shared.api.models.MemberSetBody +import de.tsschulz.tt_tagebuch.shared.api.models.MemberTransferRunBody import io.ktor.client.call.body import io.ktor.client.request.forms.formData import io.ktor.client.request.get @@ -25,6 +27,19 @@ class MembersApi( return client.http.get("/api/clubmembers/get/$clubId/$showAll").body() } + suspend fun listPlayInterests(clubId: Int, seasonId: Int, lineupHalf: String): List { + return client.http.get("/api/clubmembers/play-interest/$clubId") { + parameter("seasonId", seasonId) + parameter("lineupHalf", lineupHalf) + }.body() + } + + suspend fun setPlayInterest(clubId: Int, body: MemberPlayInterestSetBody) { + client.http.post("/api/clubmembers/play-interest/$clubId") { + setBody(body) + } + } + suspend fun setMember(clubId: Int, body: MemberSetBody) { client.http.post("/api/clubmembers/set/$clubId") { setBody(body) diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MyTischtennisApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MyTischtennisApi.kt similarity index 71% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MyTischtennisApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MyTischtennisApi.kt index 34efe91b..3149b395 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/MyTischtennisApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/MyTischtennisApi.kt @@ -1,18 +1,18 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.MyTtConfigureLeagueBody -import de.tt_tagebuch.shared.api.models.MyTtConfigureTeamBody -import de.tt_tagebuch.shared.api.models.MyTtFetchJobEnvelopeDto -import de.tt_tagebuch.shared.api.models.MyTtFetchJobStartDto -import de.tt_tagebuch.shared.api.models.MyTtFetchTeamDataBody -import de.tt_tagebuch.shared.api.models.MyTtParseUrlBody -import de.tt_tagebuch.shared.api.models.MyTischtennisAccountEnvelope -import de.tt_tagebuch.shared.api.models.MyTischtennisAccountSaveResponse -import de.tt_tagebuch.shared.api.models.MyTischtennisAccountUpsertBody -import de.tt_tagebuch.shared.api.models.MyTischtennisStatusDto -import de.tt_tagebuch.shared.api.models.MyTischtennisVerifyBody -import de.tt_tagebuch.shared.api.models.MyTischtennisVerifyResponseDto +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.MyTtConfigureLeagueBody +import de.tsschulz.tt_tagebuch.shared.api.models.MyTtConfigureTeamBody +import de.tsschulz.tt_tagebuch.shared.api.models.MyTtFetchJobEnvelopeDto +import de.tsschulz.tt_tagebuch.shared.api.models.MyTtFetchJobStartDto +import de.tsschulz.tt_tagebuch.shared.api.models.MyTtFetchTeamDataBody +import de.tsschulz.tt_tagebuch.shared.api.models.MyTtParseUrlBody +import de.tsschulz.tt_tagebuch.shared.api.models.MyTischtennisAccountEnvelope +import de.tsschulz.tt_tagebuch.shared.api.models.MyTischtennisAccountSaveResponse +import de.tsschulz.tt_tagebuch.shared.api.models.MyTischtennisAccountUpsertBody +import de.tsschulz.tt_tagebuch.shared.api.models.MyTischtennisStatusDto +import de.tsschulz.tt_tagebuch.shared.api.models.MyTischtennisVerifyBody +import de.tsschulz.tt_tagebuch.shared.api.models.MyTischtennisVerifyResponseDto import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.get diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/OfficialTournamentsApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/OfficialTournamentsApi.kt similarity index 79% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/OfficialTournamentsApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/OfficialTournamentsApi.kt index 3c40ebc5..16407c2b 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/OfficialTournamentsApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/OfficialTournamentsApi.kt @@ -1,15 +1,15 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.OfficialParticipationBucketDto -import de.tt_tagebuch.shared.api.models.OfficialParsedTournamentEnvelopeDto -import de.tt_tagebuch.shared.api.models.OfficialPatchTournamentBody -import de.tt_tagebuch.shared.api.models.OfficialParticipantStatusBody -import de.tt_tagebuch.shared.api.models.OfficialParticipantStatusResponseDto -import de.tt_tagebuch.shared.api.models.OfficialTournamentListRowDto -import de.tt_tagebuch.shared.api.models.OfficialTournamentUploadResultDto -import de.tt_tagebuch.shared.api.models.OfficialUpsertParticipationBody -import de.tt_tagebuch.shared.api.models.OfficialUpsertParticipationResponseDto +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParticipationBucketDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParsedTournamentEnvelopeDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialPatchTournamentBody +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParticipantStatusBody +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParticipantStatusResponseDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialTournamentListRowDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialTournamentUploadResultDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialUpsertParticipationBody +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialUpsertParticipationResponseDto import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.forms.MultiPartFormDataContent diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ParticipantsApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ParticipantsApi.kt similarity index 77% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ParticipantsApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ParticipantsApi.kt index b3d7db90..dccae92f 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ParticipantsApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ParticipantsApi.kt @@ -1,11 +1,11 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.DiaryTrainingParticipant -import de.tt_tagebuch.shared.api.models.ParticipantGroupRequest -import de.tt_tagebuch.shared.api.models.ParticipantMutationRequest +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryTrainingParticipant +import de.tsschulz.tt_tagebuch.shared.api.models.ParticipantGroupRequest +import de.tsschulz.tt_tagebuch.shared.api.models.ParticipantMutationRequest import io.ktor.client.call.body -import de.tt_tagebuch.shared.api.models.ParticipantStatusRequest +import de.tsschulz.tt_tagebuch.shared.api.models.ParticipantStatusRequest import io.ktor.client.request.get import io.ktor.client.request.post import io.ktor.client.request.put diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/PermissionsApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/PermissionsApi.kt similarity index 74% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/PermissionsApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/PermissionsApi.kt index 4db4331e..bd333211 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/PermissionsApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/PermissionsApi.kt @@ -1,13 +1,13 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.AvailableRoleDto -import de.tt_tagebuch.shared.api.models.ClubPermissionMemberDto -import de.tt_tagebuch.shared.api.models.PermissionResourceDto -import de.tt_tagebuch.shared.api.models.UpdateUserApprovedBody -import de.tt_tagebuch.shared.api.models.UpdateUserCustomPermissionsBody -import de.tt_tagebuch.shared.api.models.UpdateUserRoleBody -import de.tt_tagebuch.shared.api.models.UserClubPermissions +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.AvailableRoleDto +import de.tsschulz.tt_tagebuch.shared.api.models.ClubPermissionMemberDto +import de.tsschulz.tt_tagebuch.shared.api.models.PermissionResourceDto +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateUserApprovedBody +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateUserCustomPermissionsBody +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateUserRoleBody +import de.tsschulz.tt_tagebuch.shared.api.models.UserClubPermissions import io.ktor.client.call.body import io.ktor.client.request.get import io.ktor.client.request.parameter diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/PredefinedActivitiesApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/PredefinedActivitiesApi.kt similarity index 83% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/PredefinedActivitiesApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/PredefinedActivitiesApi.kt index a7d19d2d..23725f12 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/PredefinedActivitiesApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/PredefinedActivitiesApi.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.PredefinedActivityDto -import de.tt_tagebuch.shared.api.models.PredefinedActivityUpsertBody +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.PredefinedActivityDto +import de.tsschulz.tt_tagebuch.shared.api.models.PredefinedActivityUpsertBody import io.ktor.client.call.body import io.ktor.client.request.get import io.ktor.client.request.parameter diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/PublicAuthApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/PublicAuthApi.kt similarity index 72% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/PublicAuthApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/PublicAuthApi.kt index 0fe77243..6ce42991 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/PublicAuthApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/PublicAuthApi.kt @@ -1,10 +1,10 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.PublicHttpClient -import de.tt_tagebuch.shared.api.models.ForgotPasswordRequest -import de.tt_tagebuch.shared.api.models.MessageResponse -import de.tt_tagebuch.shared.api.models.RegisterRequest -import de.tt_tagebuch.shared.api.models.ResetPasswordRequest +import de.tsschulz.tt_tagebuch.shared.api.http.PublicHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.ForgotPasswordRequest +import de.tsschulz.tt_tagebuch.shared.api.models.MessageResponse +import de.tsschulz.tt_tagebuch.shared.api.models.RegisterRequest +import de.tsschulz.tt_tagebuch.shared.api.models.ResetPasswordRequest import io.ktor.client.call.body import io.ktor.client.request.get import io.ktor.client.request.post diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/RolePermissionMatrix.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/RolePermissionMatrix.kt similarity index 99% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/RolePermissionMatrix.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/RolePermissionMatrix.kt index 7252f708..6a45bd52 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/RolePermissionMatrix.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/RolePermissionMatrix.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api /** * Rollen-Standardrechte (analog [backend/services/permissionService.js] ROLE_PERMISSIONS) diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ScheduleLogic.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ScheduleLogic.kt similarity index 91% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ScheduleLogic.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ScheduleLogic.kt index c99bfae9..a2498722 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/ScheduleLogic.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/ScheduleLogic.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.models.ClubTeamDto -import de.tt_tagebuch.shared.api.models.ScheduleMatchDto -import de.tt_tagebuch.shared.api.models.ScheduleMatchScope +import de.tsschulz.tt_tagebuch.shared.api.models.ClubTeamDto +import de.tsschulz.tt_tagebuch.shared.api.models.ScheduleMatchDto +import de.tsschulz.tt_tagebuch.shared.api.models.ScheduleMatchScope object ScheduleLogic { diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/SeasonsApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/SeasonsApi.kt similarity index 68% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/SeasonsApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/SeasonsApi.kt index 9feb5042..ee86a486 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/SeasonsApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/SeasonsApi.kt @@ -1,7 +1,7 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.SeasonDto +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.SeasonDto import io.ktor.client.call.body import io.ktor.client.request.get diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/SessionApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/SessionApi.kt similarity index 58% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/SessionApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/SessionApi.kt index 89c64003..c0eb07be 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/SessionApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/SessionApi.kt @@ -1,7 +1,7 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.SessionStatusResponse +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.SessionStatusResponse import io.ktor.client.call.body import io.ktor.client.request.get diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/SocketService.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/SocketService.kt similarity index 96% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/SocketService.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/SocketService.kt index 9d7a54f5..6fde3192 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/SocketService.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/SocketService.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api import io.socket.client.IO import io.socket.client.Socket diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TeamDocumentsApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TeamDocumentsApi.kt similarity index 89% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TeamDocumentsApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TeamDocumentsApi.kt index c6dee8e1..7f21d6dd 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TeamDocumentsApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TeamDocumentsApi.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.TeamDocumentDto -import de.tt_tagebuch.shared.api.models.TeamDocumentParseEnvelopeDto +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.TeamDocumentDto +import de.tsschulz.tt_tagebuch.shared.api.models.TeamDocumentParseEnvelopeDto import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.forms.MultiPartFormDataContent diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TournamentsApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TournamentsApi.kt similarity index 76% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TournamentsApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TournamentsApi.kt index 9b39dd46..9dbbdcdb 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TournamentsApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TournamentsApi.kt @@ -1,49 +1,49 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.AddExternalTournamentParticipantBody -import de.tt_tagebuch.shared.api.models.AddMiniChampionshipBody -import de.tt_tagebuch.shared.api.models.AddStandardTournamentBody -import de.tt_tagebuch.shared.api.models.AddTournamentClassBody -import de.tt_tagebuch.shared.api.models.AssignParticipantToGroupBody -import de.tt_tagebuch.shared.api.models.CreateTournamentPairingBody -import de.tt_tagebuch.shared.api.models.GaveUpFlagBody -import de.tt_tagebuch.shared.api.models.InternalTournamentDetailDto -import de.tt_tagebuch.shared.api.models.InternalTournamentStatsDto -import de.tt_tagebuch.shared.api.models.InternalTournamentSummaryDto -import de.tt_tagebuch.shared.api.models.MergeTournamentPoolBody -import de.tt_tagebuch.shared.api.models.RemoveExternalTournamentParticipantBody -import de.tt_tagebuch.shared.api.models.ResetTournamentPoolBody -import de.tt_tagebuch.shared.api.models.SeededFlagBody -import de.tt_tagebuch.shared.api.models.SetTournamentModusBody -import de.tt_tagebuch.shared.api.models.TournamentAddInternalParticipantBody -import de.tt_tagebuch.shared.api.models.TournamentAddMatchResultBody -import de.tt_tagebuch.shared.api.models.TournamentAdvanceStageBody -import de.tt_tagebuch.shared.api.models.TournamentClassDto -import de.tt_tagebuch.shared.api.models.TournamentCleanupOrphanedBody -import de.tt_tagebuch.shared.api.models.TournamentClubTournamentBody -import de.tt_tagebuch.shared.api.models.TournamentCreateGroupMatchesBody -import de.tt_tagebuch.shared.api.models.TournamentCreateGroupsBody -import de.tt_tagebuch.shared.api.models.TournamentCreateGroupsPerClassBody -import de.tt_tagebuch.shared.api.models.TournamentDeleteKnockoutBody -import de.tt_tagebuch.shared.api.models.TournamentDeleteMatchResultBody -import de.tt_tagebuch.shared.api.models.TournamentExternalParticipantRowDto -import de.tt_tagebuch.shared.api.models.TournamentFinishMatchBody -import de.tt_tagebuch.shared.api.models.TournamentGetExternalParticipantsBody -import de.tt_tagebuch.shared.api.models.TournamentGetParticipantsBody -import de.tt_tagebuch.shared.api.models.TournamentManualAssignGroupsBody -import de.tt_tagebuch.shared.api.models.TournamentMatchActiveBody -import de.tt_tagebuch.shared.api.models.TournamentMatchDto -import de.tt_tagebuch.shared.api.models.TournamentMatchTableBody -import de.tt_tagebuch.shared.api.models.TournamentParticipantRowDto -import de.tt_tagebuch.shared.api.models.TournamentRemoveInternalParticipantBody -import de.tt_tagebuch.shared.api.models.TournamentReopenMatchBody -import de.tt_tagebuch.shared.api.models.TournamentStartKnockoutBody -import de.tt_tagebuch.shared.api.models.TournamentUpsertStagesBody -import de.tt_tagebuch.shared.api.models.UpdateParticipantClassBody -import de.tt_tagebuch.shared.api.models.UpdateTournamentClassBody -import de.tt_tagebuch.shared.api.models.UpdateTournamentMetaBody -import de.tt_tagebuch.shared.api.models.UpdateTournamentPairingBody +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.AddExternalTournamentParticipantBody +import de.tsschulz.tt_tagebuch.shared.api.models.AddMiniChampionshipBody +import de.tsschulz.tt_tagebuch.shared.api.models.AddStandardTournamentBody +import de.tsschulz.tt_tagebuch.shared.api.models.AddTournamentClassBody +import de.tsschulz.tt_tagebuch.shared.api.models.AssignParticipantToGroupBody +import de.tsschulz.tt_tagebuch.shared.api.models.CreateTournamentPairingBody +import de.tsschulz.tt_tagebuch.shared.api.models.GaveUpFlagBody +import de.tsschulz.tt_tagebuch.shared.api.models.InternalTournamentDetailDto +import de.tsschulz.tt_tagebuch.shared.api.models.InternalTournamentStatsDto +import de.tsschulz.tt_tagebuch.shared.api.models.InternalTournamentSummaryDto +import de.tsschulz.tt_tagebuch.shared.api.models.MergeTournamentPoolBody +import de.tsschulz.tt_tagebuch.shared.api.models.RemoveExternalTournamentParticipantBody +import de.tsschulz.tt_tagebuch.shared.api.models.ResetTournamentPoolBody +import de.tsschulz.tt_tagebuch.shared.api.models.SeededFlagBody +import de.tsschulz.tt_tagebuch.shared.api.models.SetTournamentModusBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentAddInternalParticipantBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentAddMatchResultBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentAdvanceStageBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentClassDto +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentCleanupOrphanedBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentClubTournamentBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentCreateGroupMatchesBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentCreateGroupsBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentCreateGroupsPerClassBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentDeleteKnockoutBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentDeleteMatchResultBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentExternalParticipantRowDto +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentFinishMatchBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentGetExternalParticipantsBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentGetParticipantsBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentManualAssignGroupsBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentMatchActiveBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentMatchDto +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentMatchTableBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentParticipantRowDto +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentRemoveInternalParticipantBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentReopenMatchBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentStartKnockoutBody +import de.tsschulz.tt_tagebuch.shared.api.models.TournamentUpsertStagesBody +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateParticipantClassBody +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateTournamentClassBody +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateTournamentMetaBody +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateTournamentPairingBody import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.get diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TrainingCancellationApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TrainingCancellationApi.kt similarity index 78% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TrainingCancellationApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TrainingCancellationApi.kt index 7f14d322..fd8b66d2 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TrainingCancellationApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TrainingCancellationApi.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.TrainingCancellationDto -import de.tt_tagebuch.shared.api.models.TrainingCancellationUpsertBody +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingCancellationDto +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingCancellationUpsertBody import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.get diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TrainingGroupsApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TrainingGroupsApi.kt similarity index 85% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TrainingGroupsApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TrainingGroupsApi.kt index 59bf13f5..01a417da 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TrainingGroupsApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TrainingGroupsApi.kt @@ -1,9 +1,9 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.CreateClubTrainingGroupBody -import de.tt_tagebuch.shared.api.models.TrainingGroupDto -import de.tt_tagebuch.shared.api.models.UpdateClubTrainingGroupBody +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.CreateClubTrainingGroupBody +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingGroupDto +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateClubTrainingGroupBody import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.get diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TrainingStatsApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TrainingStatsApi.kt similarity index 61% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TrainingStatsApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TrainingStatsApi.kt index 32883341..5ca6188d 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TrainingStatsApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TrainingStatsApi.kt @@ -1,7 +1,7 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.TrainingStats +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingStats import io.ktor.client.call.body import io.ktor.client.request.get diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TrainingTimesApi.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TrainingTimesApi.kt similarity index 75% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TrainingTimesApi.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TrainingTimesApi.kt index bba1b851..7dbaef85 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/TrainingTimesApi.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/TrainingTimesApi.kt @@ -1,10 +1,10 @@ -package de.tt_tagebuch.shared.api +package de.tsschulz.tt_tagebuch.shared.api -import de.tt_tagebuch.shared.api.http.AuthedHttpClient -import de.tt_tagebuch.shared.api.models.CreateTrainingTimeBody -import de.tt_tagebuch.shared.api.models.TrainingGroupDto -import de.tt_tagebuch.shared.api.models.TrainingTimeDto -import de.tt_tagebuch.shared.api.models.UpdateTrainingTimeBody +import de.tsschulz.tt_tagebuch.shared.api.http.AuthedHttpClient +import de.tsschulz.tt_tagebuch.shared.api.models.CreateTrainingTimeBody +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingGroupDto +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingTimeDto +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateTrainingTimeBody import io.ktor.client.call.body import io.ktor.client.request.delete import io.ktor.client.request.get diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/http/ApiErrorMessage.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/ApiErrorMessage.kt similarity index 96% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/http/ApiErrorMessage.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/ApiErrorMessage.kt index 92de3c25..d9632d63 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/http/ApiErrorMessage.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/ApiErrorMessage.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.http +package de.tsschulz.tt_tagebuch.shared.api.http import io.ktor.client.statement.HttpResponse import io.ktor.client.statement.bodyAsText diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/http/ApiException.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/ApiException.kt similarity index 67% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/http/ApiException.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/ApiException.kt index f1201652..7756d639 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/http/ApiException.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/ApiException.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.http +package de.tsschulz.tt_tagebuch.shared.api.http class ApiException( val statusCode: Int, diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/http/AuthedHttpClient.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/AuthedHttpClient.kt similarity index 92% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/http/AuthedHttpClient.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/AuthedHttpClient.kt index a161999a..78c80b33 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/http/AuthedHttpClient.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/AuthedHttpClient.kt @@ -1,7 +1,7 @@ -package de.tt_tagebuch.shared.api.http +package de.tsschulz.tt_tagebuch.shared.api.http -import de.tt_tagebuch.shared.api.ApiConfig -import de.tt_tagebuch.shared.state.TokenProvider +import de.tsschulz.tt_tagebuch.shared.api.ApiConfig +import de.tsschulz.tt_tagebuch.shared.state.TokenProvider import io.ktor.client.HttpClient import io.ktor.client.plugins.DefaultRequest import io.ktor.client.plugins.HttpResponseValidator diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/http/HttpClientEngineFactory.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/HttpClientEngineFactory.kt similarity index 71% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/http/HttpClientEngineFactory.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/HttpClientEngineFactory.kt index 173ea2a8..2a0d3f25 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/http/HttpClientEngineFactory.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/HttpClientEngineFactory.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.http +package de.tsschulz.tt_tagebuch.shared.api.http import io.ktor.client.engine.HttpClientEngine diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/http/PublicHttpClient.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/PublicHttpClient.kt similarity index 94% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/http/PublicHttpClient.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/PublicHttpClient.kt index 440a405d..1ea242de 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/http/PublicHttpClient.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/PublicHttpClient.kt @@ -1,6 +1,6 @@ -package de.tt_tagebuch.shared.api.http +package de.tsschulz.tt_tagebuch.shared.api.http -import de.tt_tagebuch.shared.api.ApiConfig +import de.tsschulz.tt_tagebuch.shared.api.ApiConfig import io.ktor.client.HttpClient import io.ktor.client.plugins.DefaultRequest import io.ktor.client.plugins.HttpResponseValidator diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/AccidentDtos.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/AccidentDtos.kt similarity index 91% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/AccidentDtos.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/AccidentDtos.kt index dc6653c7..c124fbf5 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/AccidentDtos.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/AccidentDtos.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/BillingDtos.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/BillingDtos.kt similarity index 98% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/BillingDtos.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/BillingDtos.kt index 9f9a0253..5c209f80 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/BillingDtos.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/BillingDtos.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/CalendarDtos.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/CalendarDtos.kt similarity index 93% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/CalendarDtos.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/CalendarDtos.kt index ff41f4b5..9220b97b 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/CalendarDtos.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/CalendarDtos.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/Club.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/Club.kt similarity index 97% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/Club.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/Club.kt index a0082993..96a7e352 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/Club.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/Club.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable import kotlinx.serialization.json.Json diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/ClubAdmin.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/ClubAdmin.kt similarity index 98% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/ClubAdmin.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/ClubAdmin.kt index 965f0b74..365061a2 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/ClubAdmin.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/ClubAdmin.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable import kotlinx.serialization.json.JsonObject diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/ClubPermissionHelpers.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/ClubPermissionHelpers.kt similarity index 98% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/ClubPermissionHelpers.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/ClubPermissionHelpers.kt index 7cfae0ca..0cc381ea 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/ClubPermissionHelpers.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/ClubPermissionHelpers.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.booleanOrNull diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryActivityExtras.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryActivityExtras.kt similarity index 93% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryActivityExtras.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryActivityExtras.kt index ccdd7ae3..3f1cdf02 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryActivityExtras.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryActivityExtras.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryDate.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryDate.kt similarity index 95% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryDate.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryDate.kt index a9f030b6..29898155 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryDate.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryDate.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryDateActivityItem.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryDateActivityItem.kt similarity index 96% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryDateActivityItem.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryDateActivityItem.kt index 9ee5a75f..515a955d 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryDateActivityItem.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryDateActivityItem.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryImagePaths.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryImagePaths.kt similarity index 93% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryImagePaths.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryImagePaths.kt index 7e12fc05..8de06cdb 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryImagePaths.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryImagePaths.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models private val imageIdInPath = Regex("/image/(\\d+)") diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryMemberDtos.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryMemberDtos.kt similarity index 95% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryMemberDtos.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryMemberDtos.kt index 30343a56..67242ec9 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryMemberDtos.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryMemberDtos.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryPlanDtos.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryPlanDtos.kt similarity index 97% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryPlanDtos.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryPlanDtos.kt index 5714314e..ae008d15 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryPlanDtos.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryPlanDtos.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryTrainingParticipant.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryTrainingParticipant.kt similarity index 93% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryTrainingParticipant.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryTrainingParticipant.kt index 3e8c4d69..5ea3a951 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/DiaryTrainingParticipant.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/DiaryTrainingParticipant.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/FlexibleBooleanSerializers.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/FlexibleBooleanSerializers.kt similarity index 97% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/FlexibleBooleanSerializers.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/FlexibleBooleanSerializers.kt index 099f8cd2..a56e12ba 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/FlexibleBooleanSerializers.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/FlexibleBooleanSerializers.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.KSerializer import kotlinx.serialization.descriptors.PrimitiveKind diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/IntegrationAccountDtos.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/IntegrationAccountDtos.kt similarity index 98% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/IntegrationAccountDtos.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/IntegrationAccountDtos.kt index 274d4c82..780b2872 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/IntegrationAccountDtos.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/IntegrationAccountDtos.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/LoginRequest.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/LoginRequest.kt similarity index 72% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/LoginRequest.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/LoginRequest.kt index a79d4943..489f4e98 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/LoginRequest.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/LoginRequest.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/LoginResponse.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/LoginResponse.kt similarity index 68% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/LoginResponse.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/LoginResponse.kt index b06ad700..98dc75d2 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/LoginResponse.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/LoginResponse.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/Member.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/Member.kt similarity index 96% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/Member.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/Member.kt index 81f2fbeb..f8a6e23a 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/Member.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/Member.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberActivityDtos.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberActivityDtos.kt similarity index 90% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberActivityDtos.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberActivityDtos.kt index c7324ccb..b8e1893f 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberActivityDtos.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberActivityDtos.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable import kotlinx.serialization.json.JsonArray diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberContactDto.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberContactDto.kt similarity index 85% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberContactDto.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberContactDto.kt index dbf47730..40a7764e 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberContactDto.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberContactDto.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberGroupPhotoDtos.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberGroupPhotoDtos.kt similarity index 90% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberGroupPhotoDtos.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberGroupPhotoDtos.kt index de3e531f..04d642c5 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberGroupPhotoDtos.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberGroupPhotoDtos.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberImageDto.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberImageDto.kt similarity index 82% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberImageDto.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberImageDto.kt index 150d0099..cd1f6dba 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberImageDto.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberImageDto.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberOrderDtos.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberOrderDtos.kt similarity index 97% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberOrderDtos.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberOrderDtos.kt index d7482d17..2bcc968e 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberOrderDtos.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberOrderDtos.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberQuickMutationResponse.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberQuickMutationResponse.kt similarity index 79% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberQuickMutationResponse.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberQuickMutationResponse.kt index 99edba53..8b9ccabd 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberQuickMutationResponse.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberQuickMutationResponse.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberSetBody.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberSetBody.kt similarity index 95% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberSetBody.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberSetBody.kt index 0ed94bd4..7fab9c9f 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberSetBody.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberSetBody.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberSetMappers.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberSetMappers.kt similarity index 96% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberSetMappers.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberSetMappers.kt index 04ded9c6..869d2a5b 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberSetMappers.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberSetMappers.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models fun Member.toSetBody( firstname: String, diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberTransferDtos.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberTransferDtos.kt similarity index 97% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberTransferDtos.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberTransferDtos.kt index 7be1844f..5095c72a 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/MemberTransferDtos.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/MemberTransferDtos.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable import kotlinx.serialization.json.JsonObject diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/OfficialTournamentWorkspaceDtos.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/OfficialTournamentWorkspaceDtos.kt similarity index 98% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/OfficialTournamentWorkspaceDtos.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/OfficialTournamentWorkspaceDtos.kt index 65edfeaf..ace65274 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/OfficialTournamentWorkspaceDtos.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/OfficialTournamentWorkspaceDtos.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable import kotlinx.serialization.json.JsonElement diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/ParticipantStatusRequest.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/ParticipantStatusRequest.kt similarity index 72% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/ParticipantStatusRequest.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/ParticipantStatusRequest.kt index 6c1cd74f..89f5b476 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/ParticipantStatusRequest.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/ParticipantStatusRequest.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/PredefinedActivityDtos.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/PredefinedActivityDtos.kt similarity index 94% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/PredefinedActivityDtos.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/PredefinedActivityDtos.kt index 07819a9d..f2415a39 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/PredefinedActivityDtos.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/PredefinedActivityDtos.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/PublicAuthDtos.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/PublicAuthDtos.kt similarity index 88% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/PublicAuthDtos.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/PublicAuthDtos.kt index 03b3dee4..590812fc 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/PublicAuthDtos.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/PublicAuthDtos.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/Schedule.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/Schedule.kt similarity index 96% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/Schedule.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/Schedule.kt index 71e01c94..30dd3d8f 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/Schedule.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/Schedule.kt @@ -1,6 +1,6 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models -import de.tt_tagebuch.shared.api.serialization.LenientIntListSerializer +import de.tsschulz.tt_tagebuch.shared.api.serialization.LenientIntListSerializer import kotlinx.serialization.Serializable @Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/SeasonDto.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/SeasonDto.kt similarity index 72% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/SeasonDto.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/SeasonDto.kt index 0fa220c3..65e5480d 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/SeasonDto.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/SeasonDto.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/SessionStatusResponse.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/SessionStatusResponse.kt similarity index 75% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/SessionStatusResponse.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/SessionStatusResponse.kt index f07120b2..a5a12a87 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/SessionStatusResponse.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/SessionStatusResponse.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/TeamEditorModels.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/TeamEditorModels.kt similarity index 86% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/TeamEditorModels.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/TeamEditorModels.kt index d7f32471..0675947e 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/TeamEditorModels.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/TeamEditorModels.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @@ -36,6 +36,23 @@ data class TeamLineupUpdateBody( val lineupHalf: String, ) +/** Zeile aus `GET /api/clubmembers/play-interest/:clubId` (Sequelize `toJSON`). */ +@Serializable +data class MemberPlayInterestRowDto( + val memberId: Int, + val seasonId: Int? = null, + val lineupHalf: String? = null, + val interested: Boolean? = null, +) + +@Serializable +data class MemberPlayInterestSetBody( + val memberId: Int, + val seasonId: Int, + val lineupHalf: String, + val interested: Boolean = true, +) + @Serializable data class TeamDocumentDto( val id: Int, diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/TournamentDtos.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/TournamentDtos.kt similarity index 98% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/TournamentDtos.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/TournamentDtos.kt index 802752f5..d5532c41 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/TournamentDtos.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/TournamentDtos.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/TournamentEditorDtos.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/TournamentEditorDtos.kt similarity index 99% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/TournamentEditorDtos.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/TournamentEditorDtos.kt index 106f2114..026b1ff4 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/TournamentEditorDtos.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/TournamentEditorDtos.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable import kotlinx.serialization.json.JsonElement diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/TrainingGroupDtos.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/TrainingGroupDtos.kt similarity index 96% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/TrainingGroupDtos.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/TrainingGroupDtos.kt index e0e09ab6..c4f6fe30 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/TrainingGroupDtos.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/TrainingGroupDtos.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/TrainingStats.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/TrainingStats.kt similarity index 98% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/TrainingStats.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/TrainingStats.kt index 4094b542..cba45caa 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/TrainingStats.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/TrainingStats.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/UserClubPermissions.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/UserClubPermissions.kt similarity index 82% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/UserClubPermissions.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/UserClubPermissions.kt index 903b258e..60e6b61f 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/models/UserClubPermissions.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/models/UserClubPermissions.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.models +package de.tsschulz.tt_tagebuch.shared.api.models import kotlinx.serialization.Serializable import kotlinx.serialization.json.JsonObject diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/serialization/LenientIntListSerializer.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/serialization/LenientIntListSerializer.kt similarity index 96% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/serialization/LenientIntListSerializer.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/serialization/LenientIntListSerializer.kt index 0a05a0be..814a6235 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/api/serialization/LenientIntListSerializer.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/serialization/LenientIntListSerializer.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.serialization +package de.tsschulz.tt_tagebuch.shared.api.serialization import kotlinx.serialization.KSerializer import kotlinx.serialization.builtins.ListSerializer diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/di/Koin.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/di/Koin.kt similarity index 71% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/di/Koin.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/di/Koin.kt index f7989bc1..aad38d4d 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/di/Koin.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/di/Koin.kt @@ -1,10 +1,10 @@ -package de.tt_tagebuch.shared.di +package de.tsschulz.tt_tagebuch.shared.di -import de.tt_tagebuch.shared.api.ApiClient -import de.tt_tagebuch.shared.api.SocketService -import de.tt_tagebuch.shared.repository.AuthRepository -import de.tt_tagebuch.shared.repository.DiaryRepository -import de.tt_tagebuch.shared.repository.MemberRepository +import de.tsschulz.tt_tagebuch.shared.api.ApiClient +import de.tsschulz.tt_tagebuch.shared.api.SocketService +import de.tsschulz.tt_tagebuch.shared.repository.AuthRepository +import de.tsschulz.tt_tagebuch.shared.repository.DiaryRepository +import de.tsschulz.tt_tagebuch.shared.repository.MemberRepository import org.koin.core.context.startKoin import org.koin.dsl.KoinAppDeclaration import org.koin.dsl.module diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/i18n/MobileStrings.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/i18n/MobileStrings.kt similarity index 99% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/i18n/MobileStrings.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/i18n/MobileStrings.kt index 2afa8c08..47901647 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/i18n/MobileStrings.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/i18n/MobileStrings.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.i18n +package de.tsschulz.tt_tagebuch.shared.i18n data class SupportedLanguage(val code: String, val label: String) diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/i18n/README.md b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/i18n/README.md similarity index 100% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/i18n/README.md rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/i18n/README.md diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/models/Models.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/models/Models.kt similarity index 97% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/models/Models.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/models/Models.kt index e45b8e27..b7859e0d 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/models/Models.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/models/Models.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.models +package de.tsschulz.tt_tagebuch.shared.models import kotlinx.serialization.Serializable diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/repository/AuthRepository.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/repository/AuthRepository.kt similarity index 71% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/repository/AuthRepository.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/repository/AuthRepository.kt index 77dbd032..086d2cef 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/repository/AuthRepository.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/repository/AuthRepository.kt @@ -1,7 +1,7 @@ -package de.tt_tagebuch.shared.repository +package de.tsschulz.tt_tagebuch.shared.repository -import de.tt_tagebuch.shared.api.ApiClient -import de.tt_tagebuch.shared.models.LoginResponse +import de.tsschulz.tt_tagebuch.shared.api.ApiClient +import de.tsschulz.tt_tagebuch.shared.models.LoginResponse class AuthRepository(private val apiClient: ApiClient) { suspend fun login(email: String, password: String): LoginResponse { diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/repository/DiaryRepository.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/repository/DiaryRepository.kt similarity index 67% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/repository/DiaryRepository.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/repository/DiaryRepository.kt index c82695e6..6c6ef5ab 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/repository/DiaryRepository.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/repository/DiaryRepository.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.repository +package de.tsschulz.tt_tagebuch.shared.repository -import de.tt_tagebuch.shared.api.ApiClient -import de.tt_tagebuch.shared.api.SocketService -import de.tt_tagebuch.shared.models.DiaryDate +import de.tsschulz.tt_tagebuch.shared.api.ApiClient +import de.tsschulz.tt_tagebuch.shared.api.SocketService +import de.tsschulz.tt_tagebuch.shared.models.DiaryDate import kotlinx.coroutines.flow.Flow import org.json.JSONObject @@ -14,7 +14,7 @@ class DiaryRepository( return apiClient.getDiaryDates(clubId) } - suspend fun getParticipants(dateId: Int): List { + suspend fun getParticipants(dateId: Int): List { return apiClient.getDiaryParticipants(dateId) } @@ -22,7 +22,7 @@ class DiaryRepository( return apiClient.updateParticipantStatus(dateId, memberId, status) } - suspend fun getMembers(clubId: Int): List { + suspend fun getMembers(clubId: Int): List { return apiClient.getMembers(clubId) } diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/repository/MemberRepository.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/repository/MemberRepository.kt similarity index 75% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/repository/MemberRepository.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/repository/MemberRepository.kt index 094cd8bd..2ef891a3 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/repository/MemberRepository.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/repository/MemberRepository.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.repository +package de.tsschulz.tt_tagebuch.shared.repository -import de.tt_tagebuch.shared.api.ApiClient -import de.tt_tagebuch.shared.models.Member -import de.tt_tagebuch.shared.models.MemberContact +import de.tsschulz.tt_tagebuch.shared.api.ApiClient +import de.tsschulz.tt_tagebuch.shared.models.Member +import de.tsschulz.tt_tagebuch.shared.models.MemberContact class MemberRepository(private val apiClient: ApiClient) { suspend fun getMembers(clubId: Int): List { diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ApiLogsManager.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ApiLogsManager.kt similarity index 92% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ApiLogsManager.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ApiLogsManager.kt index e509ab49..9a32949a 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ApiLogsManager.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ApiLogsManager.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.api.ApiLogsApi -import de.tt_tagebuch.shared.api.models.ApiLogDetailDto -import de.tt_tagebuch.shared.api.models.ApiLogListRowDto +import de.tsschulz.tt_tagebuch.shared.api.ApiLogsApi +import de.tsschulz.tt_tagebuch.shared.api.models.ApiLogDetailDto +import de.tsschulz.tt_tagebuch.shared.api.models.ApiLogListRowDto import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/AuthManager.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AuthManager.kt similarity index 93% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/AuthManager.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AuthManager.kt index d4b44e1f..504ce780 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/AuthManager.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AuthManager.kt @@ -1,7 +1,7 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.api.AuthApi -import de.tt_tagebuch.shared.api.SessionApi +import de.tsschulz.tt_tagebuch.shared.api.AuthApi +import de.tsschulz.tt_tagebuch.shared.api.SessionApi import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/AuthState.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AuthState.kt similarity index 81% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/AuthState.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AuthState.kt index 4553c709..e292943f 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/AuthState.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AuthState.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state data class AuthState( val token: String? = null, diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/AuthTokens.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AuthTokens.kt similarity index 62% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/AuthTokens.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AuthTokens.kt index 33be167e..1b5740be 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/AuthTokens.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/AuthTokens.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state data class AuthTokens( val token: String, diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ClubInternalTournamentsManager.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ClubInternalTournamentsManager.kt similarity index 92% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ClubInternalTournamentsManager.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ClubInternalTournamentsManager.kt index 40bbf558..0b311435 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ClubInternalTournamentsManager.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ClubInternalTournamentsManager.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.api.TournamentsApi -import de.tt_tagebuch.shared.api.models.InternalTournamentDetailDto -import de.tt_tagebuch.shared.api.models.InternalTournamentSummaryDto +import de.tsschulz.tt_tagebuch.shared.api.TournamentsApi +import de.tsschulz.tt_tagebuch.shared.api.models.InternalTournamentDetailDto +import de.tsschulz.tt_tagebuch.shared.api.models.InternalTournamentSummaryDto import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ClubManager.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ClubManager.kt similarity index 94% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ClubManager.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ClubManager.kt index b7385021..8933ed95 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ClubManager.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ClubManager.kt @@ -1,9 +1,9 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.api.ClubsApi -import de.tt_tagebuch.shared.api.PermissionsApi -import de.tt_tagebuch.shared.api.models.Club -import de.tt_tagebuch.shared.api.models.UpdateClubSettingsBody +import de.tsschulz.tt_tagebuch.shared.api.ClubsApi +import de.tsschulz.tt_tagebuch.shared.api.PermissionsApi +import de.tsschulz.tt_tagebuch.shared.api.models.Club +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateClubSettingsBody import kotlinx.coroutines.CancellationException import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ClubState.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ClubState.kt similarity index 57% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ClubState.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ClubState.kt index e81ac88d..1a1c7fa7 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ClubState.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ClubState.kt @@ -1,7 +1,7 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.api.models.Club -import de.tt_tagebuch.shared.api.models.UserClubPermissions +import de.tsschulz.tt_tagebuch.shared.api.models.Club +import de.tsschulz.tt_tagebuch.shared.api.models.UserClubPermissions data class ClubState( val clubs: List = emptyList(), diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ClubStorage.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ClubStorage.kt similarity index 72% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ClubStorage.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ClubStorage.kt index 6e3800c2..86469bcf 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ClubStorage.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ClubStorage.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state interface ClubStorage { suspend fun loadCurrentClubId(): Int? diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/DiaryManager.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/DiaryManager.kt similarity index 84% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/DiaryManager.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/DiaryManager.kt index e27a6882..6212f9ef 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/DiaryManager.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/DiaryManager.kt @@ -1,35 +1,35 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.api.AccidentApi -import de.tt_tagebuch.shared.api.DiaryApi -import de.tt_tagebuch.shared.api.DiaryMemberActivitiesApi -import de.tt_tagebuch.shared.api.DiaryMemberApi -import de.tt_tagebuch.shared.api.GroupApi -import de.tt_tagebuch.shared.api.MemberGroupPhotosApi -import de.tt_tagebuch.shared.api.ParticipantsApi -import de.tt_tagebuch.shared.api.PredefinedActivitiesApi -import de.tt_tagebuch.shared.api.models.AccidentReportDto -import de.tt_tagebuch.shared.api.models.AddDiaryMemberNoteBody -import de.tt_tagebuch.shared.api.models.CreateAccidentBody -import de.tt_tagebuch.shared.api.models.DiaryMemberNoteDto -import de.tt_tagebuch.shared.api.models.DiaryMemberTagLinkDto -import de.tt_tagebuch.shared.api.models.DiaryMemberTagMutationBody -import de.tt_tagebuch.shared.api.models.DiaryTag -import de.tt_tagebuch.shared.api.models.PredefinedActivityDto -import de.tt_tagebuch.shared.api.models.AddDiaryPlanGroupActivityRequest -import de.tt_tagebuch.shared.api.models.CreateDiaryPlanActivityRequest -import de.tt_tagebuch.shared.api.models.CreateTrainingGroupBody -import de.tt_tagebuch.shared.api.models.DeleteTrainingGroupBody -import de.tt_tagebuch.shared.api.models.DiaryDateActivityItem -import de.tt_tagebuch.shared.api.models.DiaryDate -import de.tt_tagebuch.shared.api.models.DiaryFreeformActivity -import de.tt_tagebuch.shared.api.models.DiaryMemberActivityLink -import de.tt_tagebuch.shared.api.models.MemberGroupPhotoDto -import de.tt_tagebuch.shared.api.models.DiaryPlanGroup -import de.tt_tagebuch.shared.api.models.DiaryTrainingParticipant -import de.tt_tagebuch.shared.api.models.UpdateDiaryPlanActivityRequest -import de.tt_tagebuch.shared.api.models.UpdateNestedPlanGroupActivityRequest -import de.tt_tagebuch.shared.api.models.UpdateTrainingGroupBody +import de.tsschulz.tt_tagebuch.shared.api.AccidentApi +import de.tsschulz.tt_tagebuch.shared.api.DiaryApi +import de.tsschulz.tt_tagebuch.shared.api.DiaryMemberActivitiesApi +import de.tsschulz.tt_tagebuch.shared.api.DiaryMemberApi +import de.tsschulz.tt_tagebuch.shared.api.GroupApi +import de.tsschulz.tt_tagebuch.shared.api.MemberGroupPhotosApi +import de.tsschulz.tt_tagebuch.shared.api.ParticipantsApi +import de.tsschulz.tt_tagebuch.shared.api.PredefinedActivitiesApi +import de.tsschulz.tt_tagebuch.shared.api.models.AccidentReportDto +import de.tsschulz.tt_tagebuch.shared.api.models.AddDiaryMemberNoteBody +import de.tsschulz.tt_tagebuch.shared.api.models.CreateAccidentBody +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryMemberNoteDto +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryMemberTagLinkDto +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryMemberTagMutationBody +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryTag +import de.tsschulz.tt_tagebuch.shared.api.models.PredefinedActivityDto +import de.tsschulz.tt_tagebuch.shared.api.models.AddDiaryPlanGroupActivityRequest +import de.tsschulz.tt_tagebuch.shared.api.models.CreateDiaryPlanActivityRequest +import de.tsschulz.tt_tagebuch.shared.api.models.CreateTrainingGroupBody +import de.tsschulz.tt_tagebuch.shared.api.models.DeleteTrainingGroupBody +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryDateActivityItem +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryDate +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryFreeformActivity +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryMemberActivityLink +import de.tsschulz.tt_tagebuch.shared.api.models.MemberGroupPhotoDto +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryPlanGroup +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryTrainingParticipant +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateDiaryPlanActivityRequest +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateNestedPlanGroupActivityRequest +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateTrainingGroupBody import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/DiaryState.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/DiaryState.kt similarity index 57% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/DiaryState.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/DiaryState.kt index d310e07d..f841fdab 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/DiaryState.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/DiaryState.kt @@ -1,6 +1,6 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.api.models.DiaryDate +import de.tsschulz.tt_tagebuch.shared.api.models.DiaryDate data class DiaryState( val dates: List = emptyList(), diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ErrorMapper.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ErrorMapper.kt similarity index 88% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ErrorMapper.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ErrorMapper.kt index fa20d55e..40772443 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ErrorMapper.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ErrorMapper.kt @@ -1,6 +1,6 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.api.http.ApiException +import de.tsschulz.tt_tagebuch.shared.api.http.ApiException internal fun Throwable.toUserMessage(fallback: String): String { if (this is ApiException) { diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/LanguageManager.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/LanguageManager.kt similarity index 89% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/LanguageManager.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/LanguageManager.kt index 8c9c5ded..ac752a79 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/LanguageManager.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/LanguageManager.kt @@ -1,6 +1,6 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.i18n.MobileStrings +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/LanguageState.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/LanguageState.kt new file mode 100644 index 00000000..3658493e --- /dev/null +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/LanguageState.kt @@ -0,0 +1,7 @@ +package de.tsschulz.tt_tagebuch.shared.state + +import de.tsschulz.tt_tagebuch.shared.i18n.MobileStrings + +data class LanguageState( + val currentLanguageCode: String = MobileStrings.DEFAULT_LANGUAGE, +) diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/LanguageStorage.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/LanguageStorage.kt similarity index 74% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/LanguageStorage.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/LanguageStorage.kt index 3f812f50..f74f8ac3 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/LanguageStorage.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/LanguageStorage.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state interface LanguageStorage { suspend fun loadLanguageCode(): String? diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/MembersManager.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/MembersManager.kt similarity index 83% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/MembersManager.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/MembersManager.kt index a34eab05..814ea1bc 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/MembersManager.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/MembersManager.kt @@ -1,21 +1,21 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.api.MemberActivitiesApi -import de.tt_tagebuch.shared.api.MembersApi -import de.tt_tagebuch.shared.api.TrainingGroupsApi -import de.tt_tagebuch.shared.api.TrainingStatsApi -import de.tt_tagebuch.shared.api.TrainingTimesApi -import de.tt_tagebuch.shared.api.models.CreateTrainingTimeBody -import de.tt_tagebuch.shared.api.models.Member -import de.tt_tagebuch.shared.api.models.MemberActivityStatDto -import de.tt_tagebuch.shared.api.models.MemberQuickMutationResponse -import de.tt_tagebuch.shared.api.models.MemberLastParticipationDto -import de.tt_tagebuch.shared.api.models.MemberSetBody -import de.tt_tagebuch.shared.api.models.MemberTransferRunBody -import de.tt_tagebuch.shared.api.models.TrainingGroupDto -import de.tt_tagebuch.shared.api.models.TrainingStatsMember -import de.tt_tagebuch.shared.api.models.TrainingTimeDto -import de.tt_tagebuch.shared.api.models.UpdateTrainingTimeBody +import de.tsschulz.tt_tagebuch.shared.api.MemberActivitiesApi +import de.tsschulz.tt_tagebuch.shared.api.MembersApi +import de.tsschulz.tt_tagebuch.shared.api.TrainingGroupsApi +import de.tsschulz.tt_tagebuch.shared.api.TrainingStatsApi +import de.tsschulz.tt_tagebuch.shared.api.TrainingTimesApi +import de.tsschulz.tt_tagebuch.shared.api.models.CreateTrainingTimeBody +import de.tsschulz.tt_tagebuch.shared.api.models.Member +import de.tsschulz.tt_tagebuch.shared.api.models.MemberActivityStatDto +import de.tsschulz.tt_tagebuch.shared.api.models.MemberQuickMutationResponse +import de.tsschulz.tt_tagebuch.shared.api.models.MemberLastParticipationDto +import de.tsschulz.tt_tagebuch.shared.api.models.MemberSetBody +import de.tsschulz.tt_tagebuch.shared.api.models.MemberTransferRunBody +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingGroupDto +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingStatsMember +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingTimeDto +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateTrainingTimeBody import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/MembersState.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/MembersState.kt similarity index 58% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/MembersState.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/MembersState.kt index fd220438..488338d8 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/MembersState.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/MembersState.kt @@ -1,6 +1,6 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.api.models.Member +import de.tsschulz.tt_tagebuch.shared.api.models.Member data class MembersState( val members: List = emptyList(), diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/MutableTokenProvider.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/MutableTokenProvider.kt similarity index 74% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/MutableTokenProvider.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/MutableTokenProvider.kt index dbf4e72a..bafc509f 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/MutableTokenProvider.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/MutableTokenProvider.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state class MutableTokenProvider : TokenProvider { override var token: String? = null diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/OfficialTournamentsReadManager.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/OfficialTournamentsReadManager.kt similarity index 85% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/OfficialTournamentsReadManager.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/OfficialTournamentsReadManager.kt index 27a745d9..baa5a6bb 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/OfficialTournamentsReadManager.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/OfficialTournamentsReadManager.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.api.OfficialTournamentsApi -import de.tt_tagebuch.shared.api.models.OfficialParticipationBucketDto -import de.tt_tagebuch.shared.api.models.OfficialTournamentListRowDto +import de.tsschulz.tt_tagebuch.shared.api.OfficialTournamentsApi +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialParticipationBucketDto +import de.tsschulz.tt_tagebuch.shared.api.models.OfficialTournamentListRowDto import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/PendingApprovalsManager.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/PendingApprovalsManager.kt similarity index 85% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/PendingApprovalsManager.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/PendingApprovalsManager.kt index bd9634b3..154136c1 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/PendingApprovalsManager.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/PendingApprovalsManager.kt @@ -1,8 +1,8 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.api.ClubApprovalsApi -import de.tt_tagebuch.shared.api.models.ClubAccessDecisionBody -import de.tt_tagebuch.shared.api.models.PendingUserClubJoinDto +import de.tsschulz.tt_tagebuch.shared.api.ClubApprovalsApi +import de.tsschulz.tt_tagebuch.shared.api.models.ClubAccessDecisionBody +import de.tsschulz.tt_tagebuch.shared.api.models.PendingUserClubJoinDto import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/PermissionsAdminManager.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/PermissionsAdminManager.kt similarity index 88% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/PermissionsAdminManager.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/PermissionsAdminManager.kt index 0bf14400..eb5d12d7 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/PermissionsAdminManager.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/PermissionsAdminManager.kt @@ -1,9 +1,9 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.api.PermissionsApi -import de.tt_tagebuch.shared.api.models.AvailableRoleDto -import de.tt_tagebuch.shared.api.models.ClubPermissionMemberDto -import de.tt_tagebuch.shared.api.models.PermissionResourceDto +import de.tsschulz.tt_tagebuch.shared.api.PermissionsApi +import de.tsschulz.tt_tagebuch.shared.api.models.AvailableRoleDto +import de.tsschulz.tt_tagebuch.shared.api.models.ClubPermissionMemberDto +import de.tsschulz.tt_tagebuch.shared.api.models.PermissionResourceDto import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ScheduleManager.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ScheduleManager.kt similarity index 93% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ScheduleManager.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ScheduleManager.kt index d9d7479a..34d395c5 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/ScheduleManager.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/ScheduleManager.kt @@ -1,14 +1,14 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.api.ClubTeamsApi -import de.tt_tagebuch.shared.api.MatchesApi -import de.tt_tagebuch.shared.api.ScheduleLogic -import de.tt_tagebuch.shared.api.models.ClubTeamDto -import de.tt_tagebuch.shared.api.models.LeagueTableRowDto -import de.tt_tagebuch.shared.api.models.ScheduleMatchDto -import de.tt_tagebuch.shared.api.models.ScheduleMatchScope -import de.tt_tagebuch.shared.api.models.ScheduleViewMode -import de.tt_tagebuch.shared.api.models.UpdateMatchPlayersBody +import de.tsschulz.tt_tagebuch.shared.api.ClubTeamsApi +import de.tsschulz.tt_tagebuch.shared.api.MatchesApi +import de.tsschulz.tt_tagebuch.shared.api.ScheduleLogic +import de.tsschulz.tt_tagebuch.shared.api.models.ClubTeamDto +import de.tsschulz.tt_tagebuch.shared.api.models.LeagueTableRowDto +import de.tsschulz.tt_tagebuch.shared.api.models.ScheduleMatchDto +import de.tsschulz.tt_tagebuch.shared.api.models.ScheduleMatchScope +import de.tsschulz.tt_tagebuch.shared.api.models.ScheduleViewMode +import de.tsschulz.tt_tagebuch.shared.api.models.UpdateMatchPlayersBody import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/TokenProvider.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/TokenProvider.kt similarity index 63% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/TokenProvider.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/TokenProvider.kt index f5e75298..269517e5 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/TokenProvider.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/TokenProvider.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state interface TokenProvider { val token: String? diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/TokenStorage.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/TokenStorage.kt similarity index 74% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/TokenStorage.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/TokenStorage.kt index d1ddca40..2ddb7555 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/TokenStorage.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/TokenStorage.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state interface TokenStorage { suspend fun load(): AuthTokens? diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/TrainingStatsManager.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/TrainingStatsManager.kt similarity index 88% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/TrainingStatsManager.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/TrainingStatsManager.kt index 8d9eb0cc..d859f643 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/TrainingStatsManager.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/TrainingStatsManager.kt @@ -1,6 +1,6 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.api.TrainingStatsApi +import de.tsschulz.tt_tagebuch.shared.api.TrainingStatsApi import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/TrainingStatsState.kt b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/TrainingStatsState.kt similarity index 56% rename from mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/TrainingStatsState.kt rename to mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/TrainingStatsState.kt index 92dbdc7b..2c249197 100644 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/TrainingStatsState.kt +++ b/mobile-app/shared/src/commonMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/TrainingStatsState.kt @@ -1,6 +1,6 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state -import de.tt_tagebuch.shared.api.models.TrainingStats +import de.tsschulz.tt_tagebuch.shared.api.models.TrainingStats data class TrainingStatsState( val stats: TrainingStats? = null, diff --git a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/LanguageState.kt b/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/LanguageState.kt deleted file mode 100644 index 67a21359..00000000 --- a/mobile-app/shared/src/commonMain/kotlin/de/tt_tagebuch/shared/state/LanguageState.kt +++ /dev/null @@ -1,7 +0,0 @@ -package de.tt_tagebuch.shared.state - -import de.tt_tagebuch.shared.i18n.MobileStrings - -data class LanguageState( - val currentLanguageCode: String = MobileStrings.DEFAULT_LANGUAGE, -) diff --git a/mobile-app/shared/src/iosMain/kotlin/de/tt_tagebuch/shared/api/http/IosHttpClientEngineFactory.kt b/mobile-app/shared/src/iosMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/IosHttpClientEngineFactory.kt similarity index 81% rename from mobile-app/shared/src/iosMain/kotlin/de/tt_tagebuch/shared/api/http/IosHttpClientEngineFactory.kt rename to mobile-app/shared/src/iosMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/IosHttpClientEngineFactory.kt index 5edd19b9..255b9039 100644 --- a/mobile-app/shared/src/iosMain/kotlin/de/tt_tagebuch/shared/api/http/IosHttpClientEngineFactory.kt +++ b/mobile-app/shared/src/iosMain/kotlin/de/tsschulz/tt_tagebuch/shared/api/http/IosHttpClientEngineFactory.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.api.http +package de.tsschulz.tt_tagebuch.shared.api.http import io.ktor.client.engine.HttpClientEngine import io.ktor.client.engine.darwin.Darwin diff --git a/mobile-app/shared/src/iosMain/kotlin/de/tt_tagebuch/shared/state/IosClubStorage.kt b/mobile-app/shared/src/iosMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/IosClubStorage.kt similarity index 96% rename from mobile-app/shared/src/iosMain/kotlin/de/tt_tagebuch/shared/state/IosClubStorage.kt rename to mobile-app/shared/src/iosMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/IosClubStorage.kt index 5ceda0b4..c62459df 100644 --- a/mobile-app/shared/src/iosMain/kotlin/de/tt_tagebuch/shared/state/IosClubStorage.kt +++ b/mobile-app/shared/src/iosMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/IosClubStorage.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext @@ -79,7 +79,7 @@ class IosClubStorage : ClubStorage { } private companion object { - private const val SERVICE_NAME = "de.tt_tagebuch.app" + private const val SERVICE_NAME = "de.tsschulz.tt_tagebuch" private const val KEY_CURRENT_CLUB_ID = "currentClubId" } } diff --git a/mobile-app/shared/src/iosMain/kotlin/de/tt_tagebuch/shared/state/IosTokenStorage.kt b/mobile-app/shared/src/iosMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/IosTokenStorage.kt similarity index 96% rename from mobile-app/shared/src/iosMain/kotlin/de/tt_tagebuch/shared/state/IosTokenStorage.kt rename to mobile-app/shared/src/iosMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/IosTokenStorage.kt index 1b2e704a..0af05f27 100644 --- a/mobile-app/shared/src/iosMain/kotlin/de/tt_tagebuch/shared/state/IosTokenStorage.kt +++ b/mobile-app/shared/src/iosMain/kotlin/de/tsschulz/tt_tagebuch/shared/state/IosTokenStorage.kt @@ -1,4 +1,4 @@ -package de.tt_tagebuch.shared.state +package de.tsschulz.tt_tagebuch.shared.state import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext @@ -87,7 +87,7 @@ class IosTokenStorage : TokenStorage { } private companion object { - private const val SERVICE_NAME = "de.tt_tagebuch.app" + private const val SERVICE_NAME = "de.tsschulz.tt_tagebuch" private const val KEY_TOKEN = "token" private const val KEY_USERNAME = "username" } diff --git a/scripts/generate-mobile-i18n.js b/scripts/generate-mobile-i18n.js index 53ce1f88..32aa7ebd 100644 --- a/scripts/generate-mobile-i18n.js +++ b/scripts/generate-mobile-i18n.js @@ -168,7 +168,7 @@ function main() { .sort((a, b) => a.localeCompare(b)); const lines = []; - lines.push('package de.tt_tagebuch.shared.i18n'); + lines.push('package de.tsschulz.tt_tagebuch.shared.i18n'); lines.push(''); lines.push('data class SupportedLanguage(val code: String, val label: String)'); lines.push('');