diff --git a/gbajs3/src/components/modals/controls/control-profiles.tsx b/gbajs3/src/components/modals/controls/control-profiles.tsx index 331df9e3..cc2ea4a4 100644 --- a/gbajs3/src/components/modals/controls/control-profiles.tsx +++ b/gbajs3/src/components/modals/controls/control-profiles.tsx @@ -5,7 +5,10 @@ import { useState } from 'react'; import { BiTrash, BiEdit, BiSave } from 'react-icons/bi'; import { styled } from 'styled-components'; -import { useLayoutContext } from '../../../hooks/context.tsx'; +import { + useInitialBoundsContext, + useLayoutContext +} from '../../../hooks/context.tsx'; import { virtualControlProfilesLocalStorageKey } from '../../controls/consts.tsx'; import { CenteredText, StyledBiPlus } from '../../shared/styled.tsx'; @@ -167,6 +170,7 @@ export const ControlProfiles = ({ id }: ControlProfilesProps) => { VirtualControlProfiles | undefined >(virtualControlProfilesLocalStorageKey); const { layouts, setLayouts } = useLayoutContext(); + const { clearInitialBounds } = useInitialBoundsContext(); const addProfile = () => { setVirtualControlProfiles((prevState) => [ @@ -180,6 +184,11 @@ export const ControlProfiles = ({ id }: ControlProfilesProps) => { ]); }; + const loadProfile = (layouts: Layouts) => { + setLayouts(layouts); + clearInitialBounds(); + }; + const updateProfile = (id: string, updatedName: string) => { setVirtualControlProfiles((prevState) => prevState?.map((profile) => { @@ -208,7 +217,7 @@ export const ControlProfiles = ({ id }: ControlProfilesProps) => { setLayouts(profile.layouts)} + loadProfile={() => loadProfile(profile.layouts)} onSubmit={(name) => updateProfile(profile.id, name)} />