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.
		
		
		
		
		
			
		
			
				
	
	
		
			18 lines
		
	
	
		
			718 B
		
	
	
	
		
			TypeScript
		
	
			
		
		
	
	
			18 lines
		
	
	
		
			718 B
		
	
	
	
		
			TypeScript
		
	
| import { createSelector } from '@reduxjs/toolkit';
 | |
| import { useSelector } from 'react-redux';
 | |
| import { ThemeStateType } from '../../themes/constants/colors';
 | |
| import { checkDarkTheme, checkLightTheme } from '../../util/theme';
 | |
| import { StateType } from '../reducer';
 | |
| 
 | |
| export const getTheme = (state: StateType): ThemeStateType => state.theme;
 | |
| 
 | |
| const getIsDarkTheme = createSelector(getTheme, (state): boolean => checkDarkTheme(state));
 | |
| 
 | |
| const getIsLightTheme = createSelector(getTheme, (state): boolean => checkLightTheme(state));
 | |
| 
 | |
| export const useTheme = () => useSelector(getTheme);
 | |
| 
 | |
| export const useIsDarkTheme = () => useSelector(getIsDarkTheme);
 | |
| 
 | |
| export const useIsLightTheme = () => useSelector(getIsLightTheme);
 |