/* * Copyright 2020 Actyx AG * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* eslint-disable prefer-const */ import * as React from 'react'; import { theme } from '../../theme'; const SIZE = 48; type Props = Readonly<{ networkStatus: 'connected' | 'partiallyConnected' | 'disconnected'; variant: 'light' | 'dark'; color?: string; onSelect?: () => void; }>; const renderIcons = ( networkStatus: 'connected' | 'partiallyConnected' | 'disconnected', fillColor: string ) => { const icons = { connected: ( ), partiallyConnected: ( ), disconnected: ( ) }; return icons[networkStatus]; }; export const NetworkStatusIcon = ({ networkStatus, variant, color, onSelect }: Props) => (
{renderIcons( networkStatus, color ? color : variant === 'light' ? theme.palette.common.white : theme.palette.common.black )}
);