46 lines
902 B
TypeScript
46 lines
902 B
TypeScript
import React from 'react'
|
|
import ReactDOM from 'react-dom/client'
|
|
import App from './App'
|
|
import './index.css'
|
|
import { Provider } from "react-redux";
|
|
import { store } from "./store";
|
|
import { ToastProvider } from './helper/ToastContext';
|
|
|
|
declare global {
|
|
interface Window {
|
|
__allowClose__: boolean;
|
|
}
|
|
}
|
|
|
|
|
|
// renderer only
|
|
window.addEventListener("online", (e) => {
|
|
console.log("Network online (ignored)");
|
|
e.preventDefault();
|
|
});
|
|
|
|
window.addEventListener("offline", (e) => {
|
|
console.log("Network offline (ignored)");
|
|
e.preventDefault();
|
|
});
|
|
|
|
// Extra safety
|
|
window.__allowClose__ = false;
|
|
|
|
window.addEventListener("beforeunload", (e) => {
|
|
if (!window.__allowClose__) {
|
|
e.returnValue = false;
|
|
}
|
|
});
|
|
|
|
|
|
|
|
|
|
ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
|
|
<Provider store={store}>
|
|
<ToastProvider>
|
|
<App />
|
|
</ToastProvider>
|
|
</Provider>
|
|
)
|