// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. import React, {ComponentType, createContext} from 'react'; type Props = { url: string; children: React.ReactNode; } type WithServerUrlProps = { serverUrl: string; } const ServerUrlContext = createContext(''); const {Provider, Consumer} = ServerUrlContext; function ServerUrlProvider({url, children}: Props) { return ( {children} ); } export function withServerUrl(Component: ComponentType): ComponentType { return function ServerUrlComponent(props) { return ( {(serverUrl: string) => ( )} ); }; } export function useServerUrl(): string { return React.useContext(ServerUrlContext); } export default ServerUrlProvider;