Clean up IdeToolbarNew
This commit is contained in:
@@ -2,7 +2,7 @@ import { useContext, useEffect, useState } from 'react'
|
||||
import IdeContainer from 'src/components/IdeContainer'
|
||||
import { IdeContext } from 'src/pages/DevIdePage/DevIdePage'
|
||||
import { isBrowser } from '@redwoodjs/prerender/browserUtils'
|
||||
import { handleRenderVerbose } from './useRender'
|
||||
import { useRender } from './useRender'
|
||||
import { decode } from 'src/helpers/compress'
|
||||
import { flow } from 'lodash/fp'
|
||||
import OutBound from 'src/components/OutBound'
|
||||
@@ -22,6 +22,7 @@ const prepareEncodedUrl = flow(decodeURIComponent, githubSafe)
|
||||
const IdeToolbarNew = ({ cadPackage }) => {
|
||||
const { state, thunkDispatch } = useContext(IdeContext)
|
||||
const [shouldShowConstructionMessage, setShouldShowConstructionMessage] = useState(true)
|
||||
const handleRender = useRender()
|
||||
const scriptKey = 'encoded_script'
|
||||
const scriptKeyV2 = 'encoded_script_v2'
|
||||
const fetchText = 'fetch_text_v1'
|
||||
@@ -62,9 +63,6 @@ const IdeToolbarNew = ({ cadPackage }) => {
|
||||
}
|
||||
window.location.hash = ''
|
||||
}, [cadPackage])
|
||||
function handleRender() {
|
||||
return handleRenderVerbose({thunkDispatch, state})
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="h-full flex">
|
||||
|
||||
@@ -3,23 +3,21 @@ import { requestRender } from 'src/helpers/hooks/useIdeState'
|
||||
import { useContext } from 'react'
|
||||
import { IdeContext } from 'src/pages/DevIdePage/DevIdePage'
|
||||
|
||||
export const handleRenderVerbose = ({thunkDispatch, state}) => {
|
||||
thunkDispatch((dispatch, getState) => {
|
||||
const state = getState()
|
||||
dispatch({ type: 'setLoading' })
|
||||
requestRender({
|
||||
state,
|
||||
dispatch,
|
||||
code: state.code,
|
||||
viewerSize: state.viewerSize,
|
||||
camera: state.camera,
|
||||
})
|
||||
})
|
||||
localStorage.setItem(makeCodeStoreKey(state.ideType), state.code)
|
||||
}
|
||||
|
||||
export const useRender = () => {
|
||||
const { state, thunkDispatch } = useContext(IdeContext)
|
||||
return () => handleRenderVerbose({thunkDispatch, state})
|
||||
return () => {
|
||||
thunkDispatch((dispatch, getState) => {
|
||||
const state = getState()
|
||||
dispatch({ type: 'setLoading' })
|
||||
requestRender({
|
||||
state,
|
||||
dispatch,
|
||||
code: state.code,
|
||||
viewerSize: state.viewerSize,
|
||||
camera: state.camera,
|
||||
})
|
||||
})
|
||||
localStorage.setItem(makeCodeStoreKey(state.ideType), state.code)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user