diff --git a/backend/services/authService.js b/backend/services/authService.js index f5d0f78..a054fa0 100644 --- a/backend/services/authService.js +++ b/backend/services/authService.js @@ -33,11 +33,11 @@ const login = async (email, password) => { if (!user || !(await bcrypt.compare(password, user.password))) { throw { status: 401, message: 'Ungültige Anmeldedaten' }; } - const token = jwt.sign({ userId: user.id }, process.env.JWT_SECRET, { expiresIn: '1h' }); + const token = jwt.sign({ userId: user.id }, process.env.JWT_SECRET, { expiresIn: '3h' }); await UserToken.create({ userId: user.id, token, - expiresAt: new Date(Date.now() + 3600 * 1000), + expiresAt: new Date(Date.now() + 3 * 3600 * 1000), }); return { token }; }; diff --git a/frontend/src/components/CourtDrawingTool.vue b/frontend/src/components/CourtDrawingTool.vue index 3119c7b..736592a 100644 --- a/frontend/src/components/CourtDrawingTool.vue +++ b/frontend/src/components/CourtDrawingTool.vue @@ -552,7 +552,7 @@ export default { positions.forEach(pos => { const isSelected = this.targetPosition === pos.number.toString(); - const isTargetSelected = this.targetPosition !== ''; + const isTargetSelected = this.targetPosition !== '' && this.targetPosition !== null; // Transparenz für nicht-ausgewählte Kreise wenn ein Target ausgewählt ist if (isTargetSelected && !isSelected) { @@ -890,6 +890,13 @@ export default { const clickedTarget = this.checkTargetPositionClick(clickX, clickY); if (clickedTarget) { this.targetPosition = clickedTarget; + + // Wenn keine Startposition ausgewählt ist, setze eine Standard-Startposition + if (!this.selectedStartPosition) { + this.selectedStartPosition = 'AS'; + this.selectedCirclePosition = 'middle'; + } + this.drawCourt(); // Neu zeichnen für Zielposition-Hervorhebung this.updateTextFields(); return;