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 IdeContainer from 'src/components/IdeContainer'
|
||||||
import { IdeContext } from 'src/pages/DevIdePage/DevIdePage'
|
import { IdeContext } from 'src/pages/DevIdePage/DevIdePage'
|
||||||
import { isBrowser } from '@redwoodjs/prerender/browserUtils'
|
import { isBrowser } from '@redwoodjs/prerender/browserUtils'
|
||||||
import { handleRenderVerbose } from './useRender'
|
import { useRender } from './useRender'
|
||||||
import { decode } from 'src/helpers/compress'
|
import { decode } from 'src/helpers/compress'
|
||||||
import { flow } from 'lodash/fp'
|
import { flow } from 'lodash/fp'
|
||||||
import OutBound from 'src/components/OutBound'
|
import OutBound from 'src/components/OutBound'
|
||||||
@@ -22,6 +22,7 @@ const prepareEncodedUrl = flow(decodeURIComponent, githubSafe)
|
|||||||
const IdeToolbarNew = ({ cadPackage }) => {
|
const IdeToolbarNew = ({ cadPackage }) => {
|
||||||
const { state, thunkDispatch } = useContext(IdeContext)
|
const { state, thunkDispatch } = useContext(IdeContext)
|
||||||
const [shouldShowConstructionMessage, setShouldShowConstructionMessage] = useState(true)
|
const [shouldShowConstructionMessage, setShouldShowConstructionMessage] = useState(true)
|
||||||
|
const handleRender = useRender()
|
||||||
const scriptKey = 'encoded_script'
|
const scriptKey = 'encoded_script'
|
||||||
const scriptKeyV2 = 'encoded_script_v2'
|
const scriptKeyV2 = 'encoded_script_v2'
|
||||||
const fetchText = 'fetch_text_v1'
|
const fetchText = 'fetch_text_v1'
|
||||||
@@ -62,9 +63,6 @@ const IdeToolbarNew = ({ cadPackage }) => {
|
|||||||
}
|
}
|
||||||
window.location.hash = ''
|
window.location.hash = ''
|
||||||
}, [cadPackage])
|
}, [cadPackage])
|
||||||
function handleRender() {
|
|
||||||
return handleRenderVerbose({thunkDispatch, state})
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="h-full flex">
|
<div className="h-full flex">
|
||||||
|
|||||||
@@ -3,23 +3,21 @@ import { requestRender } from 'src/helpers/hooks/useIdeState'
|
|||||||
import { useContext } from 'react'
|
import { useContext } from 'react'
|
||||||
import { IdeContext } from 'src/pages/DevIdePage/DevIdePage'
|
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 = () => {
|
export const useRender = () => {
|
||||||
const { state, thunkDispatch } = useContext(IdeContext)
|
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