diff --git a/frontend/src/components/CourtDrawingRender.vue b/frontend/src/components/CourtDrawingRender.vue index 24225b2..c76425e 100644 --- a/frontend/src/components/CourtDrawingRender.vue +++ b/frontend/src/components/CourtDrawingRender.vue @@ -110,7 +110,6 @@ export default { this.config.canvas.width = this.width || 600; this.config.canvas.height = this.height || 400; this.$nextTick(() => { - console.log('CourtDrawingRender: mounted with drawingData =', this.drawingData); this.init(); this.redraw(); }); @@ -120,11 +119,9 @@ export default { this.canvas = this.$refs.canvas; if (this.canvas) { this.ctx = this.canvas.getContext('2d'); - console.log('CourtDrawingRender: canvas/context initialized'); } }, redraw() { - console.log('CourtDrawingRender: redraw called with data =', this.drawingData); if (!this.ctx) return; const { width, height } = this.config.canvas; // clear and background diff --git a/frontend/src/components/CourtDrawingTool.vue b/frontend/src/components/CourtDrawingTool.vue index 76cdafb..76273d4 100644 --- a/frontend/src/components/CourtDrawingTool.vue +++ b/frontend/src/components/CourtDrawingTool.vue @@ -344,7 +344,6 @@ export default { this.loadDrawingFromMetadata(); } else if (oldVal && !newVal) { // drawingData wurde auf null gesetzt - reset alle Werte und zeichne leeres Canvas - console.log('CourtDrawingTool: drawingData set to null, resetting all values'); this.resetAllValues(); this.clearCanvas(); this.drawCourt(true); // forceRedraw = true @@ -354,7 +353,6 @@ export default { } }, mounted() { - console.log('CourtDrawingTool: mounted'); this.$nextTick(() => { this.initCanvas(); this.drawCourt(); @@ -365,12 +363,9 @@ export default { }, methods: { initCanvas() { - console.log('CourtDrawingTool: initCanvas called'); this.canvas = this.$refs.drawingCanvas; - console.log('CourtDrawingTool: canvas =', this.canvas); if (this.canvas) { this.ctx = this.canvas.getContext('2d'); - console.log('CourtDrawingTool: ctx =', this.ctx); this.ctx.lineCap = this.config.pen.cap; this.ctx.lineJoin = this.config.pen.join; } else { @@ -379,7 +374,6 @@ export default { }, drawCourt(forceRedraw = false) { - console.log('CourtDrawingTool: drawCourt called, forceRedraw:', forceRedraw); const ctx = this.ctx; const canvas = this.canvas; const config = this.config; @@ -389,8 +383,6 @@ export default { return; } - console.log('CourtDrawingTool: Drawing court...'); - console.log('Canvas dimensions:', canvas.width, 'x', canvas.height); // Hintergrund immer zeichnen wenn forceRedraw=true, sonst nur wenn Canvas leer ist const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height); @@ -400,9 +392,7 @@ export default { // Hintergrund ctx.fillStyle = '#f0f0f0'; ctx.fillRect(0, 0, canvas.width, canvas.height); - console.log('Background drawn'); } else { - console.log('Canvas not empty, skipping background'); } // Tischtennis-Tisch @@ -411,8 +401,6 @@ export default { const tableX = (canvas.width - tableWidth) / 2; const tableY = (canvas.height - tableHeight) / 2; - console.log('Table dimensions:', tableWidth, 'x', tableHeight); - console.log('Table position:', tableX, ',', tableY); // Tischtennis-Tisch Hintergrund ctx.fillStyle = config.table.color; @@ -1074,9 +1062,6 @@ export default { }, testDraw() { - console.log('CourtDrawingTool: testDraw called'); - console.log('Canvas:', this.canvas); - console.log('Context:', this.ctx); if (!this.canvas || !this.ctx) { console.error('Canvas or context not available, trying to reinitialize...'); @@ -1084,7 +1069,6 @@ export default { } if (this.canvas && this.ctx) { - console.log('Drawing simple test...'); // Einfacher Test: Roter Kreis this.ctx.fillStyle = 'red'; @@ -1092,18 +1076,15 @@ export default { this.ctx.arc(300, 200, 50, 0, 2 * Math.PI); this.ctx.fill(); - console.log('Red circle drawn'); } else { console.error('Still no canvas or context available'); } }, - async saveDrawing() { - console.log('CourtDrawingTool: saveDrawing called'); + async saveDrawing() { try { const dataURL = this.canvas.toDataURL('image/png'); - console.log('CourtDrawingTool: dataURL created, length:', dataURL.length); this.$emit('input', dataURL); @@ -1121,7 +1102,6 @@ export default { timestamp: new Date().toISOString() }; - console.log('CourtDrawingTool: drawingData created:', drawingData); // Immer Metadaten nach oben geben this.$emit('update-drawing-data', drawingData); @@ -1129,18 +1109,12 @@ export default { // Konvertiere DataURL zu Blob für Upload const response = await fetch(dataURL); const blob = await response.blob(); - console.log('CourtDrawingTool: blob created, size:', blob.size); // Erstelle File-Objekt const file = new File([blob], `exercise-${Date.now()}.png`, { type: 'image/png' }); - console.log('CourtDrawingTool: file created:', file); - console.log('CourtDrawingTool: file type:', file.type); - console.log('CourtDrawingTool: file size:', file.size); // Emittiere das File und die Zeichnungsdaten für Upload - console.log('CourtDrawingTool: emitting upload-image event'); this.$emit('upload-image', file, drawingData); - console.log('CourtDrawingTool: upload-image event emitted'); } else { // Kein Bild-Upload mehr: gebe lediglich die Zeichnungsdaten an den Parent weiter, // damit Felder (Kürzel/Name/Beschreibung) gefüllt werden können @@ -1173,7 +1147,6 @@ export default { }, resetAllValues() { - console.log('CourtDrawingTool: Resetting all values to initial state'); this.selectedStartPosition = null; this.selectedCirclePosition = null; this.strokeType = null; @@ -1189,7 +1162,6 @@ export default { loadDrawingFromMetadata() { if (this.drawingData) { - console.log('CourtDrawingTool: Loading drawing from metadata:', this.drawingData); // Lade alle Zeichnungsdaten this.selectedStartPosition = this.drawingData.selectedStartPosition || null; @@ -1213,7 +1185,7 @@ export default { this.selectedCirclePosition = 'bottom'; } - console.log('CourtDrawingTool: Loaded values:', { + this.$emit('drawing-data', { selectedStartPosition: this.selectedStartPosition, selectedCirclePosition: this.selectedCirclePosition, strokeType: this.strokeType, @@ -1229,7 +1201,6 @@ export default { this.drawCourt(); }); - console.log('CourtDrawingTool: Drawing loaded from metadata'); } }, diff --git a/frontend/src/components/SeasonSelector.vue b/frontend/src/components/SeasonSelector.vue index 43e800d..f806c61 100644 --- a/frontend/src/components/SeasonSelector.vue +++ b/frontend/src/components/SeasonSelector.vue @@ -83,9 +83,7 @@ export default { error.value = null; try { - console.log('SeasonSelector: Loading seasons'); const response = await apiClient.get('/seasons'); - console.log('SeasonSelector: Loaded seasons:', response.data); seasons.value = response.data; // Wenn showCurrentSeason true ist und keine Saison ausgewählt, wähle die aktuelle diff --git a/frontend/src/views/PredefinedActivities.vue b/frontend/src/views/PredefinedActivities.vue index 8b69b8d..7853804 100644 --- a/frontend/src/views/PredefinedActivities.vue +++ b/frontend/src/views/PredefinedActivities.vue @@ -179,7 +179,6 @@ export default { const r = await apiClient.get(`/predefined-activities/${this.editModel.id}`); const { images } = r.data; this.images = images || []; - console.log('Images reloaded:', this.images); } catch (error) { console.error('Error reloading images:', error); } @@ -218,7 +217,6 @@ export default { async save() { if (!this.editModel) return; - console.log('Save: selectedFile =', this.selectedFile); if (this.editModel.id) { const { id, ...payload } = this.editModel; @@ -234,10 +232,8 @@ export default { // Nach dem Speichern (sowohl CREATE als auch UPDATE): Bild hochladen falls vorhanden if (this.selectedFile) { - console.log('Uploading image after save...'); await this.uploadImage(); } else { - console.log('No selectedFile to upload'); } await this.reload(); @@ -250,16 +246,9 @@ export default { }, async uploadImage() { if (!this.editModel || !this.editModel.id || !this.selectedFile) { - console.log('Upload skipped: editModel=', this.editModel, 'selectedFile=', this.selectedFile); return; } - console.log('Starting image upload...'); - console.log('editModel:', this.editModel); - console.log('selectedActivity:', this.selectedActivity); - console.log('Activity ID (editModel.id):', this.editModel.id); - console.log('Activity ID (selectedActivity.id):', this.selectedActivity?.id); - console.log('File:', this.selectedFile); const fd = new FormData(); fd.append('image', this.selectedFile); @@ -267,20 +256,17 @@ export default { // Füge Zeichnungsdaten hinzu, falls vorhanden if (this.selectedDrawingData) { fd.append('drawingData', JSON.stringify(this.selectedDrawingData)); - console.log('Added drawingData to FormData:', this.selectedDrawingData); } // Verwende PUT für Updates, POST für neue Activities const isUpdate = this.selectedActivity && this.selectedActivity.id === this.editModel.id; const method = isUpdate ? 'put' : 'post'; - console.log('Using method:', method); try { const response = await apiClient[method](`/predefined-activities/${this.editModel.id}/image`, fd, { headers: { 'Content-Type': 'multipart/form-data' } }); - console.log('Upload successful:', response); // Nach Upload Details neu laden await this.select(this.editModel); @@ -334,24 +320,15 @@ export default { }, async onDrawingImageUpload(file, drawingData) { - console.log('onDrawingImageUpload called with file:', file); - console.log('onDrawingImageUpload called with drawingData:', drawingData); - console.log('File type:', file?.type); - console.log('File size:', file?.size); - console.log('File name:', file?.name); // Setze das File und die Zeichnungsdaten für den Upload this.selectedFile = file; this.selectedDrawingData = drawingData; - console.log('selectedFile set to:', this.selectedFile); - console.log('selectedDrawingData set to:', this.selectedDrawingData); // Upload wird erst beim Speichern durchgeführt - console.log('File and drawing data ready for upload when saving'); }, async onImageUploaded() { - console.log('Image uploaded successfully, refreshing image list...'); // Bildliste aktualisieren if (this.editModel && this.editModel.id) { await this.select(this.editModel); diff --git a/frontend/src/views/ScheduleView.vue b/frontend/src/views/ScheduleView.vue index 3cdb63f..41bf0ed 100644 --- a/frontend/src/views/ScheduleView.vue +++ b/frontend/src/views/ScheduleView.vue @@ -49,15 +49,15 @@