chore: update .gitignore and enhance backend and mobile app functionality
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 44s

- Added mobile app build directories and configuration files to .gitignore for cleaner repository management.
- Improved error handling in diaryMemberController by requiring diaryDateId and memberId query parameters.
- Refactored DiaryMemberService to log tag IDs instead of raw values for better debugging.
- Enhanced TournamentParticipantsTab and TournamentTab components with improved touch-action properties for better user experience.
- Updated mobile app's gradle.properties and build.gradle.kts for compatibility with AGP 9.x and Kotlin 2.1.21, including new dependencies for Coil and UCrop.
- Refactored MainApplication to simplify initialization and improved MainActivity to handle dependencies more robustly.
- Updated various UI components in the mobile app to enhance layout and functionality, including MemberDetailScreen and MemberEditScreen.
This commit is contained in:
Torsten Schulz (local)
2026-05-12 23:14:31 +02:00
parent 27f8af559b
commit 48f71b9df1
138 changed files with 54488 additions and 56 deletions

View File

@@ -1183,7 +1183,7 @@ export default {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
touch-action: pan-x;
touch-action: pan-x pan-y;
overscroll-behavior-x: contain;
}
@@ -1196,7 +1196,7 @@ export default {
max-width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
touch-action: pan-x;
touch-action: pan-x pan-y;
}
.participants-class-section {
@@ -1204,7 +1204,7 @@ export default {
max-width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
touch-action: pan-x;
touch-action: pan-x pan-y;
}
.participants-table {
@@ -1221,8 +1221,9 @@ export default {
overflow-y: auto;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
touch-action: pan-x;
touch-action: pan-x pan-y;
overscroll-behavior-x: contain;
overscroll-behavior-y: contain;
}
.participants-table-unified thead th {

View File

@@ -3801,24 +3801,21 @@ export default {
const participantsResponse = await apiClient.get(`/participants/${trainingForDate.id}`);
const participants = participantsResponse.data;
const presentParticipants = Array.isArray(participants)
? participants.filter(participant => participant.attendanceStatus === 'present')
: [];
if (participants && participants.length > 0) {
// Lade die Member-Details für jeden Teilnehmer
if (presentParticipants.length > 0) {
const membersResponse = await apiClient.get(`/clubmembers/get/${this.currentClub}/true`);
const membersById = new Map((membersResponse.data || []).map(member => [Number(member.id), member]));
const trainingParticipants = [];
for (const participant of participants) {
try {
// Lade Member-Details über die Member-API
const memberResponse = await apiClient.get(`/clubmembers/get/${this.currentClub}/true`);
const member = memberResponse.data.find(m => m.id === participant.memberId);
if (member) {
trainingParticipants.push({
clubMemberId: participant.memberId,
member: member
});
}
} catch (memberError) {
console.error('Fehler beim Laden der Member-Details:', memberError);
for (const participant of presentParticipants) {
const member = membersById.get(Number(participant.memberId));
if (member) {
trainingParticipants.push({
clubMemberId: participant.memberId,
member: member
});
}
}
@@ -4895,7 +4892,7 @@ button {
width: 100%;
max-width: 100%;
-webkit-overflow-scrolling: touch;
touch-action: pan-x;
touch-action: pan-x pan-y;
}
.participants-table {
@@ -4926,7 +4923,8 @@ button {
overflow-x: auto;
margin: 0;
-webkit-overflow-scrolling: touch;
touch-action: pan-x;
touch-action: pan-x pan-y;
overscroll-behavior-y: contain;
}
.participants-table-body td {