import React from "react"; import { JsonView, darkStyles } from "react-json-view-lite"; import "react-json-view-lite/dist/index.css"; import { type WsMessage } from "../api/WsApi"; import { useUserInfo } from "../widgets/dashboard/BaseAuthenticatedPage"; import { MatrixGWRouteContainer } from "../widgets/MatrixGWRouteContainer"; import { MatrixWS, WSState } from "../widgets/messages/MatrixWS"; import { NotLinkedAccountMessage } from "../widgets/NotLinkedAccountMessage"; type TimestampedMessages = WsMessage & { time: number }; export function WSDebugRoute(): React.ReactElement { const user = useUserInfo(); const [state, setState] = React.useState(WSState.Closed); const [messages, setMessages] = React.useState([]); const handleMessage = (msg: WsMessage) => { setMessages((l) => [...l, msg]); }; if (!user.info.matrix_account_connected) return ; return ( {/* Status bar */}
State: {state}
{/* WS messages list */} {messages.map((msg, id) => (
level < 2} style={{ ...darkStyles, container: "", }} />
))}
); }