import { Theme } from '@reactive-resume/schema'; import get from 'lodash/get'; import { useTranslation } from 'next-i18next'; import ColorAvatar from '@/components/shared/ColorAvatar'; import ColorPicker from '@/components/shared/ColorPicker'; import Heading from '@/components/shared/Heading'; import { colorOptions } from '@/config/colors'; import { useAppDispatch, useAppSelector } from '@/store/hooks'; import { setResumeState } from '@/store/resume/resumeSlice'; import styles from './Theme.module.scss'; const Theme = () => { const { t } = useTranslation(); const dispatch = useAppDispatch(); const { background, text, primary } = useAppSelector((state) => get(state.resume, 'metadata.theme')); const handleChange = (property: string, color: string) => { dispatch(setResumeState({ path: `metadata.theme.${property}`, value: color })); }; return ( <>
{colorOptions.map((color) => ( handleChange('primary', color)} /> ))}
handleChange('primary', color)} /> handleChange('background', color)} /> handleChange('text', color)} />
); }; export default Theme;