diff --git a/frontend/src/views/admin/TaxiToolsView.vue b/frontend/src/views/admin/TaxiToolsView.vue index 1be8455..de0f2fc 100644 --- a/frontend/src/views/admin/TaxiToolsView.vue +++ b/frontend/src/views/admin/TaxiToolsView.vue @@ -78,18 +78,26 @@
- +
+ +
{{x}},{{y}}
+
@@ -173,18 +181,26 @@
- +
+ +
{{x}},{{y}}
+
@@ -470,20 +486,20 @@ export default { switch (tileType) { case 'cornertopleft': - // Nur rechts und unten (wo man weitere Tiles anschließen kann) - neighbors.push({ x: x+1, y: y }, { x: x, y: y+1 }); + // Nur links und oben (Kurve von oben nach links) + neighbors.push({ x: x-1, y: y }, { x: x, y: y-1 }); break; case 'cornertopright': - // Nur links und unten - neighbors.push({ x: x-1, y: y }, { x: x, y: y+1 }); - break; - case 'cornerbottomleft': - // Nur rechts und oben + // Nur rechts und oben (Kurve von oben nach rechts) neighbors.push({ x: x+1, y: y }, { x: x, y: y-1 }); break; + case 'cornerbottomleft': + // Nur links und unten (Kurve von unten nach links) + neighbors.push({ x: x-1, y: y }, { x: x, y: y+1 }); + break; case 'cornerbottomright': - // Nur links und oben - neighbors.push({ x: x-1, y: y }, { x: x, y: y-1 }); + // Nur rechts und unten (Kurve von unten nach rechts) + neighbors.push({ x: x+1, y: y }, { x: x, y: y+1 }); break; case 'horizontal': // Nur links und rechts (horizontal = nur horizontal anschließbar) @@ -576,6 +592,24 @@ export default { return this.boardCells[key]?.tileType; }, + getCellAtPosition(x, y) { + const key = `${x},${y}`; + const cell = this.boardCells[key]; + if (cell) { + return cell; + } + // Erstelle leere Zelle für Grid-Position + return { tileType: null, x, y }; + }, + + range(start, end) { + const result = []; + for (let i = start; i <= end; i++) { + result.push(i); + } + return result; + }, + isTileCompatible(tileType, neighbors) { // Vereinfachte Kompatibilitätsprüfung // In der Realität würde hier die komplexe Logik aus streetCoordinates verwendet @@ -886,6 +920,10 @@ export default { min-height: 200px; } +.board-row { + display: contents; +} + .board-cell { width: 50px; height: 50px; @@ -904,6 +942,12 @@ export default { transform: scale(1.05); } +.position-label { + font-size: 10px; + color: #666; + font-weight: bold; +} + .board-cell.selected { border: 3px solid #ffd700; /* Gelb für ausgewählte Zelle */ box-shadow: 0 0 10px rgba(255, 215, 0, 0.5);