{customizerParams.map((param, index) => {
const otherProps = {
diff --git a/app/web/src/components/IdeWrapper/useRender.ts b/app/web/src/components/IdeWrapper/useRender.ts
index 4ac6312..cec3da8 100644
--- a/app/web/src/components/IdeWrapper/useRender.ts
+++ b/app/web/src/components/IdeWrapper/useRender.ts
@@ -3,7 +3,7 @@ import { useIdeContext } from 'src/helpers/hooks/useIdeContext'
export const useRender = () => {
const { state, thunkDispatch } = useIdeContext()
- return () => {
+ return (disableParams = false) => {
thunkDispatch((dispatch, getState) => {
const state = getState()
dispatch({ type: 'setLoading' })
@@ -13,7 +13,7 @@ export const useRender = () => {
code: state.code,
viewerSize: state.viewerSize,
camera: state.camera,
- parameters: state.currentParameters,
+ parameters: disableParams ? {} : state.currentParameters,
})
})
localStorage.setItem(makeCodeStoreKey(state.ideType), state.code)
diff --git a/app/web/src/helpers/hooks/useIdeState.ts b/app/web/src/helpers/hooks/useIdeState.ts
index ee6d337..8746b3f 100644
--- a/app/web/src/helpers/hooks/useIdeState.ts
+++ b/app/web/src/helpers/hooks/useIdeState.ts
@@ -108,16 +108,24 @@ const reducer = (state: State, { type, payload }): State => {
}
case 'updateCode':
return { ...state, code: payload }
+ case 'resetCustomizer':
+ const resetParameters = {}
+ state.customizerParams.forEach(({ name, initial }) => {
+ resetParameters[name] = initial
+ })
+ return {
+ ...state,
+ currentParameters: resetParameters,
+ }
case 'healthyRender':
const currentParameters = {}
const customizerParams: CadhubParams[] = payload.customizerParams || []
customizerParams.forEach((param) => {
-
currentParameters[param.name] =
- typeof state?.currentParameters?.[param.name] === 'undefined' || !state.isCustomizerOpen
- ? param.initial
- : state?.currentParameters?.[param.name]
+ typeof state?.currentParameters?.[param.name] === 'undefined'
+ ? param.initial
+ : state?.currentParameters?.[param.name]
})
return {
...state,
@@ -150,7 +158,7 @@ const reducer = (state: State, { type, payload }): State => {
case 'setCustomizerOpenState':
return {
...state,
- isCustomizerOpen: payload
+ isCustomizerOpen: payload,
}
case 'setLayout':
return {