2023-12-08 19:47:48 +00:00
|
|
|
import { useContext } from "react";
|
|
|
|
|
import { Button, Modal } from "react-bootstrap";
|
|
|
|
|
import { APIContext } from "../context";
|
|
|
|
|
import { ErrorComponent } from "./ErrorComponent";
|
|
|
|
|
import { LogStream } from "./LogStream";
|
|
|
|
|
|
|
|
|
|
interface Props {
|
|
|
|
|
show: boolean;
|
|
|
|
|
onClose: () => void;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export const LogStreamModal: React.FC<Props> = ({ show, onClose }) => {
|
|
|
|
|
const api = useContext(APIContext);
|
2023-12-09 13:50:56 +00:00
|
|
|
let logsUrl = api.getStreamLogsUrl();
|
2023-12-08 19:47:48 +00:00
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<Modal size="xl" show={show} onHide={onClose}>
|
|
|
|
|
<Modal.Header closeButton>
|
|
|
|
|
<Modal.Title>rqbit server logs</Modal.Title>
|
|
|
|
|
</Modal.Header>
|
|
|
|
|
<Modal.Body>
|
2023-12-09 13:50:56 +00:00
|
|
|
{logsUrl ? (
|
|
|
|
|
<LogStream url={logsUrl} />
|
2023-12-08 19:47:48 +00:00
|
|
|
) : (
|
|
|
|
|
<ErrorComponent
|
|
|
|
|
error={{ text: "HTTP API not available to stream logs" }}
|
|
|
|
|
></ErrorComponent>
|
|
|
|
|
)}
|
|
|
|
|
</Modal.Body>
|
|
|
|
|
<Modal.Footer>
|
|
|
|
|
<Button variant="primary" onClick={onClose}>
|
|
|
|
|
Close
|
|
|
|
|
</Button>
|
|
|
|
|
</Modal.Footer>
|
|
|
|
|
</Modal>
|
|
|
|
|
);
|
|
|
|
|
};
|