2025-06-09 10:17:12 +05:00
|
|
|
import React from 'react';
|
|
|
|
|
import { createRoot } from 'react-dom/client';
|
|
|
|
|
import { HashRouter } from 'react-router-dom';
|
|
|
|
|
import { useIpStore } from './src/store';
|
|
|
|
|
import { useEffect } from 'react';
|
2025-07-07 17:35:46 +05:00
|
|
|
import { useCheckAdmin } from './src/utils/checkAdmin';
|
2025-06-09 10:17:12 +05:00
|
|
|
|
|
|
|
|
import {
|
|
|
|
|
ModalProvider,
|
|
|
|
|
useModalContext,
|
|
|
|
|
ThemeProvider
|
|
|
|
|
} from './src/store';
|
|
|
|
|
|
2025-07-07 17:35:46 +05:00
|
|
|
import WindowComponent from './src/components/modalwindows/modalWindow';
|
|
|
|
|
import Router from './src/router';
|
|
|
|
|
import { I18nProvider } from "./src/utils/i18n/provider";
|
|
|
|
|
import { useLanguage } from "./src/hooks/useSettings";
|
2025-06-09 10:17:12 +05:00
|
|
|
|
2025-07-07 17:35:46 +05:00
|
|
|
const AppWithProviders = () => {
|
|
|
|
|
const currentLanguage = useLanguage();
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<I18nProvider initialLanguage={currentLanguage}>
|
|
|
|
|
<ThemeProvider>
|
|
|
|
|
<HashRouter>
|
|
|
|
|
<ModalProvider>
|
|
|
|
|
<MainComponent />
|
|
|
|
|
</ModalProvider>
|
|
|
|
|
</HashRouter>
|
|
|
|
|
</ThemeProvider>
|
|
|
|
|
</I18nProvider>
|
|
|
|
|
);
|
|
|
|
|
};
|
2025-06-09 10:17:12 +05:00
|
|
|
|
2025-07-07 17:35:46 +05:00
|
|
|
const MainComponent = () => {
|
|
|
|
|
const checkAdmin = useCheckAdmin();
|
|
|
|
|
const { ipAddress } = useIpStore();
|
2025-06-09 10:17:12 +05:00
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
const checkAdminStatus = async () => {
|
2025-07-07 17:35:46 +05:00
|
|
|
await checkAdmin();
|
|
|
|
|
};
|
|
|
|
|
checkAdminStatus();
|
|
|
|
|
}, [ipAddress]);
|
2025-06-09 10:17:12 +05:00
|
|
|
|
|
|
|
|
const { isOpen, modalType, modalData } = useModalContext();
|
|
|
|
|
return (
|
2025-07-07 17:35:46 +05:00
|
|
|
<>
|
|
|
|
|
<WindowComponent isOpen={isOpen} type={modalType} data={modalData} />
|
|
|
|
|
<Router />
|
|
|
|
|
</>
|
2025-06-09 10:17:12 +05:00
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const container = document.getElementById('root');
|
|
|
|
|
if (!container) {
|
|
|
|
|
throw new Error('Root element with id "root" not found');
|
|
|
|
|
}
|
2025-07-07 17:35:46 +05:00
|
|
|
|
2025-06-09 10:17:12 +05:00
|
|
|
const root = createRoot(container);
|
2025-07-07 17:35:46 +05:00
|
|
|
root.render(<AppWithProviders />);
|