2022-12-12 18:41:31 +03:00
|
|
|
import './index.css';
|
2022-12-10 12:14:48 +03:00
|
|
|
|
2023-04-10 16:41:42 +03:00
|
|
|
import './cloak-mode.css';
|
|
|
|
|
2024-03-04 14:38:46 +03:00
|
|
|
// Polyfill needed for Firefox < 122
|
|
|
|
// https://bugzilla.mozilla.org/show_bug.cgi?id=1423593
|
2024-03-04 18:41:21 +03:00
|
|
|
import '@formatjs/intl-segmenter/polyfill';
|
2022-12-12 18:41:31 +03:00
|
|
|
import { render } from 'preact';
|
2023-01-20 19:23:59 +03:00
|
|
|
import { HashRouter } from 'react-router-dom';
|
2022-12-10 12:14:48 +03:00
|
|
|
|
2022-12-12 18:41:31 +03:00
|
|
|
import { App } from './app';
|
|
|
|
|
|
|
|
if (import.meta.env.DEV) {
|
|
|
|
import('preact/debug');
|
|
|
|
}
|
2022-12-10 12:14:48 +03:00
|
|
|
|
2023-10-16 16:35:56 +03:00
|
|
|
// AbortSignal.timeout polyfill
|
|
|
|
// Temporary fix from https://github.com/mo/abortcontroller-polyfill/issues/73#issuecomment-1541180943
|
|
|
|
// Incorrect implementation, but should be good enough for now
|
|
|
|
if ('AbortSignal' in window) {
|
|
|
|
AbortSignal.timeout =
|
|
|
|
AbortSignal.timeout ||
|
|
|
|
((duration) => {
|
|
|
|
const controller = new AbortController();
|
|
|
|
setTimeout(() => controller.abort(), duration);
|
|
|
|
return controller.signal;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2023-01-20 19:23:59 +03:00
|
|
|
render(
|
|
|
|
<HashRouter>
|
|
|
|
<App />
|
|
|
|
</HashRouter>,
|
|
|
|
document.getElementById('app'),
|
|
|
|
);
|
2023-01-11 04:47:46 +03:00
|
|
|
|
2023-02-02 12:29:57 +03:00
|
|
|
// Storage cleanup
|
2023-01-11 04:47:46 +03:00
|
|
|
setTimeout(() => {
|
|
|
|
try {
|
2023-02-02 12:29:57 +03:00
|
|
|
// Clean up iconify localStorage
|
2023-01-11 04:47:46 +03:00
|
|
|
Object.keys(localStorage).forEach((key) => {
|
|
|
|
if (key.startsWith('iconify')) {
|
|
|
|
localStorage.removeItem(key);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
Object.keys(sessionStorage).forEach((key) => {
|
|
|
|
if (key.startsWith('iconify')) {
|
|
|
|
sessionStorage.removeItem(key);
|
|
|
|
}
|
|
|
|
});
|
2023-02-02 12:29:57 +03:00
|
|
|
|
|
|
|
// Clean up old settings key
|
|
|
|
localStorage.removeItem('settings:boostsCarousel');
|
2023-01-11 04:47:46 +03:00
|
|
|
} catch (e) {}
|
|
|
|
}, 5000);
|
2023-04-10 16:41:42 +03:00
|
|
|
|
|
|
|
window.__CLOAK__ = () => {
|
|
|
|
document.body.classList.toggle('cloak');
|
|
|
|
};
|