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 { COLORS, ColorsType, 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));
 | 
						|
}
 |