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);