mirror of
https://github.com/usebruno/bruno.git
synced 2026-07-07 22:18:33 +00:00
42 lines
1.0 KiB
JavaScript
42 lines
1.0 KiB
JavaScript
import React, { useEffect } from 'react';
|
|
import { useDispatch } from 'react-redux';
|
|
import { refreshScreenWidth } from 'providers/ReduxStore/slices/app';
|
|
import ConfirmAppClose from './ConfirmAppClose';
|
|
import useIpcEvents from './useIpcEvents';
|
|
import useTelemetry from './useTelemetry';
|
|
import StyledWrapper from './StyledWrapper';
|
|
|
|
export const AppContext = React.createContext();
|
|
|
|
export const AppProvider = (props) => {
|
|
useTelemetry();
|
|
useIpcEvents();
|
|
|
|
const dispatch = useDispatch();
|
|
|
|
useEffect(() => {
|
|
dispatch(refreshScreenWidth());
|
|
}, []);
|
|
|
|
useEffect(() => {
|
|
const handleResize = () => {
|
|
dispatch(refreshScreenWidth());
|
|
};
|
|
|
|
window.addEventListener('resize', handleResize);
|
|
|
|
return () => window.removeEventListener('resize', handleResize);
|
|
}, []);
|
|
|
|
return (
|
|
<AppContext.Provider {...props} value="appProvider">
|
|
<StyledWrapper>
|
|
<ConfirmAppClose />
|
|
{props.children}
|
|
</StyledWrapper>
|
|
</AppContext.Provider>
|
|
);
|
|
};
|
|
|
|
export default AppProvider;
|