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.
		
		
		
		
		
			
		
			
				
	
	
		
			22 lines
		
	
	
		
			801 B
		
	
	
	
		
			TypeScript
		
	
			
		
		
	
	
			22 lines
		
	
	
		
			801 B
		
	
	
	
		
			TypeScript
		
	
| import { find } from 'lodash';
 | |
| import { Dispatch } from '@reduxjs/toolkit';
 | |
| import { applyPrimaryColor } from '../state/ducks/primaryColor';
 | |
| import { ColorsType, COLORS, getPrimaryColors, PrimaryColorStateType } from './constants/colors';
 | |
| 
 | |
| export function findPrimaryColorId(hexCode: string): PrimaryColorStateType | undefined {
 | |
|   const primaryColors = getPrimaryColors();
 | |
|   return find(primaryColors, { color: hexCode })?.id;
 | |
| }
 | |
| 
 | |
| export async function switchPrimaryColorTo(color: PrimaryColorStateType, dispatch?: Dispatch) {
 | |
|   if (window.Events) {
 | |
|     await window.Events.setPrimaryColorSetting(color);
 | |
|   }
 | |
| 
 | |
|   document.documentElement.style.setProperty(
 | |
|     '--primary-color',
 | |
|     COLORS.PRIMARY[`${color.toUpperCase() as keyof ColorsType['PRIMARY']}`]
 | |
|   );
 | |
|   dispatch?.(applyPrimaryColor(color));
 | |
| }
 |