import React from "react";
import { createRoot } from "react-dom/client";
import { BrowserRouter } from "react-router-dom";
import App from "./App.jsx";
import "./styles.css";
const showRuntimeError = (message, source, line, column, error) => {
const root = document.getElementById("root");
if (!root) return;
root.innerHTML = `
Runtime error
${message}
${source || ""}:${line || ""}:${column || ""}
${error?.stack || ""}
`;
};
window.addEventListener("error", (event) => {
showRuntimeError(event.message, event.filename, event.lineno, event.colno, event.error);
});
window.addEventListener("unhandledrejection", (event) => {
showRuntimeError(event.reason?.message || String(event.reason), "", "", "", event.reason);
});
class ErrorBoundary extends React.Component {
constructor(props) {
super(props);
this.state = { error: null };
}
static getDerivedStateFromError(error) {
return { error };
}
componentDidCatch(error) {
showRuntimeError(error.message, "", "", "", error);
}
render() {
if (this.state.error) {
return null;
}
return this.props.children;
}
}
createRoot(document.getElementById("root")).render(
);