some css fix and websocket fix for item update

This commit is contained in:
2026-02-20 01:38:37 +01:00
parent e7a283b39e
commit aecad87a9a
19 changed files with 997 additions and 633 deletions

View File

@@ -1,4 +1,5 @@
import { useHotel } from "../HotelContext";
import { useHotel } from "../context/HotelContext";
import { useState, useEffect } from "react";
import { useRef } from "react";
@@ -110,17 +111,63 @@ function SenderBox({ conv_id, onSend, disabled }) {
};
return (
<div hidden={disabled} className="senderbox">
<div hidden={disabled} className="senderBox">
<input
className="textbox"
value={text}
onChange={e => setText(e.target.value)}
onKeyDown={e => e.key === "Enter" && handleSend() }
placeholder="Type a message…"
/>
<button onClick={handleSend}>Send</button>
<button className="sendbutton" onClick={handleSend}>Send</button>
</div>
);
}
function ConvCard({id, title, onOpenConv}) {
return(
<div className="convcard" onClick={() => onOpenConv(id)} >
<h3>ConvId : {id} </h3>
<h3>Name : {title}</h3>
</div>
)
}
function MessagesBox({ conv_id }) {
const { messagesByConvId, usersById, clientId } = useHotel();
const messages = messagesByConvId[conv_id] ?? [];
console.log(messagesByConvId);
console.log(usersById);
if (messages.length === 0) {
return <div className="messagesbox empty">No messages</div>;
}
return (
<div className="messageCard">
{messages
.slice()
.sort((a, b) => new Date(a.sent_at) - new Date(b.sent_at))
.map(msg => {
const isMine = msg.sender_id === clientId;
return (
<div key={msg.sent_at}
className={`msg ${isMine ? "msg--mine" : "msg--theirs"}`}>
<p>
<strong>Sender:</strong>{" "}
{usersById[msg.sender_id] ?? "Unknown user"}
</p>
<p>{msg.content}</p>
</div>
);
})}
</div>
);
}
function AddUsersMenu({ convId, usersById, fetchConvUsers, onValidate, onClose }) {
const [selected, setSelected] = useState(new Set());
@@ -197,53 +244,10 @@ function CreateConvMenu({onSend}) {
<input
value= {nameText}
onChange= {element => setNameText(element.target.value)}
onKeyDown={e => e.key === "Enter" && handleSend() }
placeholder="Ma Conversation"
/>
<button onClick= {handleSend}>Send</button>
</div>
)
}
function ConvCard({id, title, onOpenConv}) {
return(
<div className="convcard">
<h3>ConvId : {id} </h3>
<h3>Name : {title}</h3>
<p onClick={() => onOpenConv(id)}> GET MESSAAGE</p>
</div>
)
}
function MessagesBox({ conv_id }) {
const { messagesByConvId, usersById, clientId } = useHotel();
const messages = messagesByConvId[conv_id] ?? [];
console.log(messagesByConvId);
console.log(usersById);
if (messages.length === 0) {
return <div className="messagesbox empty">No messages</div>;
}
return (
<div className="messagebox">
{messages
.slice()
.sort((a, b) => new Date(a.sent_at) - new Date(b.sent_at))
.map(msg => {
const isMine = msg.sender_id === clientId;
return (
<div key={msg.sent_at}
className={`msg ${isMine ? "msg--mine" : "msg--theirs"}`}>
<p>
<strong>Sender:</strong>{" "}
{usersById[msg.sender_id] ?? "Unknown user"}
</p>
<p>{msg.content}</p>
</div>
);
})}
</div>
);
}