Skip to content

Commit df60cbb

Browse files
committed
Add makePlayerMove API call for player dice rolls
1 parent e9d5914 commit df60cbb

2 files changed

Lines changed: 32 additions & 0 deletions

File tree

src/lib/api.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ async function apiRequest(endpoint: string, params: RequestInit = {}): Promise<R
1616
});
1717
if (!response.ok) {
1818
const errorData = await response.json();
19+
console.error("API request failed:", {
20+
endpoint,
21+
status: response.status,
22+
error: errorData,
23+
});
1924
return Promise.reject({ body: errorData, status: response.status });
2025
}
2126
return response;
@@ -177,3 +182,21 @@ export async function logout(): Promise<void> {
177182
return Promise.reject("Logout failed");
178183
}
179184
}
185+
186+
type PlayerMoveRequest = {
187+
type: "dice-roll" | "train-ride";
188+
dice_roll_id: number;
189+
bonuses_used: string[];
190+
selected_die: number | null;
191+
tmp_roll_result: number;
192+
};
193+
194+
export async function makePlayerMove(request: PlayerMoveRequest): Promise<void> {
195+
if (MOCK_API) {
196+
return Promise.resolve();
197+
}
198+
await apiRequest("/api/players-moves", {
199+
method: "POST",
200+
body: JSON.stringify(request),
201+
});
202+
}

src/stores/playerStore.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { calculatePlayerPosition, getSectorRotation } from "@/components/map/uti
1515
import { playersFrontendData, SectorsById, sectorsData } from "@/lib/mockData";
1616
import { Euler, Quaternion } from "three";
1717
import { getNextTurnState } from "@/lib/utils";
18+
import { makePlayerMove } from "@/lib/api";
1819

1920
const usePlayerStore = create<{
2021
myPlayerId: number | null;
@@ -130,6 +131,14 @@ const usePlayerStore = create<{
130131

131132
const rolledNumber = IS_DEV ? 5 : await useDiceStore.getState().rollDice();
132133

134+
await makePlayerMove({
135+
type: "dice-roll",
136+
bonuses_used: [],
137+
dice_roll_id: 0,
138+
selected_die: null,
139+
tmp_roll_result: rolledNumber,
140+
});
141+
133142
const tl = createTimeline();
134143

135144
for (let i = 0; i < rolledNumber; i++) {

0 commit comments

Comments
 (0)