You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			TypeScript
		
	
| import React from 'react';
 | |
| import styled, { DefaultTheme } from 'styled-components';
 | |
| import { useNetwork } from '../../../hooks/useNetwork';
 | |
| 
 | |
| type ContainerProps = {
 | |
|   show: boolean;
 | |
| };
 | |
| 
 | |
| const OfflineContainer = styled.div<ContainerProps>`
 | |
|   background: ${props => props.theme.colors.accent};
 | |
|   color: ${props => props.theme.colors.textColor};
 | |
|   padding: ${props => (props.show ? props.theme.common.margins.sm : '0px')};
 | |
|   margin: ${props => (props.show ? props.theme.common.margins.xs : '0px')};
 | |
|   height: ${props => (props.show ? 'auto' : '0px')};
 | |
|   overflow: hidden;
 | |
|   transition: ${props => props.theme.common.animations.defaultDuration};
 | |
| `;
 | |
| 
 | |
| const OfflineTitle = styled.h3`
 | |
|   padding-top: 0px;
 | |
|   margin-top: 0px;
 | |
| `;
 | |
| 
 | |
| const OfflineMessage = styled.div``;
 | |
| 
 | |
| export const SessionOffline = (props: { theme: DefaultTheme }) => {
 | |
|   const isOnline = useNetwork();
 | |
| 
 | |
|   return (
 | |
|     <OfflineContainer show={!isOnline}>
 | |
|       <OfflineTitle>{window.i18n('offline')}</OfflineTitle>
 | |
|       <OfflineMessage>{window.i18n('checkNetworkConnection')}</OfflineMessage>
 | |
|     </OfflineContainer>
 | |
|   );
 | |
| };
 |