mattermost-mobile/app/context/device/index.tsx
Elias Nahum 190be37fe0
Random fixes (#8874)
* sort desc lastAccessAt server in security manager

* do not export let binding in context/device
2025-05-20 22:40:11 +08:00

36 lines
1,012 B
TypeScript

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import RNUtils, {type SplitViewResult} from '@mattermost/rnutils';
import React, {createContext, useEffect, useState} from 'react';
import {NativeEventEmitter} from 'react-native';
type Props = {
children: React.ReactNode;
}
const emitter = new NativeEventEmitter(RNUtils);
let info = RNUtils.isRunningInSplitView();
export const DeviceContext = createContext(info);
const {Provider} = DeviceContext;
const DeviceInfoProvider = ({children}: Props) => {
const [deviceInfo, setDeviceInfo] = useState(info);
useEffect(() => {
const listener = emitter.addListener('SplitViewChanged', (result: SplitViewResult) => {
setDeviceInfo(result);
info = result;
});
return () => listener.remove();
}, []);
return (
<Provider value={deviceInfo}>
{children}
</Provider>);
};
export default DeviceInfoProvider;