feat: add the buttons for next, reset phase and reset experiment

ref: N25B-400
This commit is contained in:
Björn Otgaar
2026-01-07 15:09:44 +01:00
parent 57ebe724db
commit c9df87929b
2 changed files with 75 additions and 20 deletions

View File

@@ -1,4 +1,23 @@
const API_BASE = "http://localhost:8000/"; // Change depending on Pims interup agent/ correct endpoint
const API_BASE = "http://localhost:8000/button_pressed"; // Change depending on Pims interup agent/ correct endpoint
/**
* HELPER: Unified sender function
* In a real app, you might move this to a /services or /hooks folder
*/
const sendAPICall = async (type: string, context: string, endpoint?: string) => {
try {
const response = await fetch(`${API_BASE}${endpoint ?? ""}`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ type, context }),
});
if (!response.ok) throw new Error("Backend response error");
console.log(`API Call send - Type: ${type}, Context: ${context} ${endpoint ? `, Endpoint: ${endpoint}` : ""}`);
} catch (err) {
console.error(`Failed to send api call:`, err);
}
};
/**
@@ -6,14 +25,28 @@ const API_BASE = "http://localhost:8000/"; // Change depending on Pims interup a
* In case we can't go to the next phase, the function will throw an error.
*/
export async function nextPhase(): Promise<void> {
const res = await fetch(`${API_BASE}/experiment/next`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
});
const type = "next_phase"
const context = ""
sendAPICall(type, context)
}
if (!res.ok) {
throw new Error("Failed to advance to next phase");
}
}
/**
* Sends an API call to the CB for going to reset the currect phase
* In case we can't go to the next phase, the function will throw an error.
*/
export async function resetPhase(): Promise<void> {
const type = "reset_phase"
const context = ""
sendAPICall(type, context)
}
/**
* Sends an API call to the CB for going to reset the experiment
* In case we can't go to the next phase, the function will throw an error.
*/
export async function resetExperiment(): Promise<void> {
const type = "reset_experiment"
const context = ""
sendAPICall(type, context)
}