kopia lustrzana https://github.com/mifi/lossless-cut
74 wiersze
1.9 KiB
TypeScript
74 wiersze
1.9 KiB
TypeScript
import { Suspense, StrictMode } from 'react';
|
|
import { createRoot } from 'react-dom/client';
|
|
import { MotionConfig } from 'framer-motion';
|
|
import { enableMapSet } from 'immer';
|
|
import * as Electron from 'electron';
|
|
import Remote from '@electron/remote';
|
|
|
|
import 'sweetalert2/dist/sweetalert2.css';
|
|
|
|
import '@fontsource/open-sans/300.css';
|
|
import '@fontsource/open-sans/300-italic.css';
|
|
import '@fontsource/open-sans/400.css';
|
|
import '@fontsource/open-sans/400-italic.css';
|
|
import '@fontsource/open-sans/500.css';
|
|
import '@fontsource/open-sans/500-italic.css';
|
|
import '@fontsource/open-sans/600.css';
|
|
import '@fontsource/open-sans/600-italic.css';
|
|
import '@fontsource/open-sans/700.css';
|
|
import '@fontsource/open-sans/700-italic.css';
|
|
import '@fontsource/open-sans/800.css';
|
|
import '@fontsource/open-sans/800-italic.css';
|
|
|
|
import type * as main from '../../main/index';
|
|
|
|
import App from './App';
|
|
import ErrorBoundary from './ErrorBoundary';
|
|
import './i18n';
|
|
|
|
import './main.css';
|
|
|
|
|
|
type TypedRemote = Omit<typeof Remote, 'require'> & {
|
|
require: <T extends string>(module: T) => (
|
|
T extends './index.js' ? typeof main :
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
any
|
|
);
|
|
}
|
|
|
|
declare global {
|
|
interface Window {
|
|
require: <T extends string>(module: T) => (
|
|
T extends '@electron/remote' ? TypedRemote :
|
|
T extends 'electron' ? typeof Electron :
|
|
T extends 'file-url' ? typeof import('file-url') :
|
|
// todo more
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
any
|
|
);
|
|
}
|
|
}
|
|
|
|
|
|
enableMapSet();
|
|
|
|
const { app } = window.require('@electron/remote');
|
|
|
|
console.log('Version', app.getVersion());
|
|
|
|
|
|
const container = document.getElementById('root')!;
|
|
const root = createRoot(container);
|
|
root.render(
|
|
<StrictMode>
|
|
<ErrorBoundary>
|
|
<Suspense fallback={<div />}>
|
|
<MotionConfig reducedMotion="user">
|
|
<App />
|
|
</MotionConfig>
|
|
</Suspense>
|
|
</ErrorBoundary>
|
|
</StrictMode>,
|
|
);
|