From eef0c35134d9562bc754ba0e704b4f381fbcab04 Mon Sep 17 00:00:00 2001 From: Romain Mallard Date: Thu, 8 Jan 2026 17:46:59 +0100 Subject: [PATCH] admin widget , register user --- src/components/HotelContext.jsx | 40 ++++++++++++----- src/components/MainApp.jsx | 4 +- src/components/widget/adminWidget.jsx | 64 +++++++++++++++++++++++++++ 3 files changed, 97 insertions(+), 11 deletions(-) create mode 100644 src/components/widget/adminWidget.jsx diff --git a/src/components/HotelContext.jsx b/src/components/HotelContext.jsx index 18c29f1..b257652 100644 --- a/src/components/HotelContext.jsx +++ b/src/components/HotelContext.jsx @@ -291,7 +291,29 @@ export function HotelProvider({ accessToken, children, resClientId}) { } - // --- WS USE EFFECT ---- + // --- ADMIN PORTAL ---- + + function registerUser(username,password,hotel_ids, displayname) { + + const payload = { + username, + password, + hotel_ids, + displayname + } + + console.log("Reg") + + const res = fetch(`${API_BASE}/auth/register`, { + method: "PUT", + headers: {"Content-Type": "application/json"}, + body: JSON.stringify(payload), + } + ) + + } + + @@ -372,16 +394,14 @@ export function HotelProvider({ accessToken, children, resClientId}) { users, usersById, clientId, - updateRoomStatus, - fetchMessages, - fetchConvUsers, - sendMessage, + fetchHotelUsers, - addUserToConv, - createConversation, - fetchHotelInventory, - updateItemAmount, - createItem + updateRoomStatus, + fetchMessages, fetchConvUsers, sendMessage, + addUserToConv, createConversation, + fetchHotelInventory, updateItemAmount, createItem, + + registerUser }} > {children} diff --git a/src/components/MainApp.jsx b/src/components/MainApp.jsx index 3f200af..0e0aa7e 100644 --- a/src/components/MainApp.jsx +++ b/src/components/MainApp.jsx @@ -4,6 +4,7 @@ import ChatWidget from "./widget/chatWidget" import InventoryWidget from "./widget/inventoryWidget"; import "./MainApp.css" +import AdminWidget from "./widget/adminWidget"; export default function MainAppWrapper({resClientId}) { const accessToken = localStorage.getItem("access_tokens"); @@ -31,10 +32,11 @@ function MainApp() {

Dashboard

+ - +
); diff --git a/src/components/widget/adminWidget.jsx b/src/components/widget/adminWidget.jsx new file mode 100644 index 0000000..71fbd91 --- /dev/null +++ b/src/components/widget/adminWidget.jsx @@ -0,0 +1,64 @@ +import { useState } from "react"; + +import { useHotel } from "../HotelContext"; + + +export default function AdminWidget() { + + const [username, setUserName] = useState(""); + const [password, setPassword] = useState(""); + const [hotel_ids, setHotelIds] = useState([]); + const [display_name, setDisplayName] = useState(""); + + const { + registerUser + } = useHotel() + + + const createUser = (username, password, hotel_ids, display_name) => { + + registerUser(username, password, hotel_ids, display_name); + + } + + + return( + +
+ setUserName(e.target.value)} + placeholder="NomDeCompte" + type="text" /> + + setPassword(e.target.value)} + placeholder="Mot de Passe" + type="text" /> + + setDisplayName(e.target.value)} + placeholder="Nome afficher" + type="text" /> + + setHotelIds(e.target.value.split(",").map(Number))} + placeholder="hotels" + type="text" /> + + +
+ + ) + + +} \ No newline at end of file