Bunch of tweaks

Resolves #225 and # 226
a weird state issue and some formatting
This commit is contained in:
Kurt Hutten
2021-03-10 20:47:40 +11:00
parent 3058170057
commit 02de0927ba
5 changed files with 60 additions and 17 deletions

View File

@@ -13,8 +13,9 @@ const welcomeMessage = `
%cHey, 👋.
%c______________________________________________________________________________
%cCadHub is in active development - Want to lend a hand?
%chttps://github.com/Irev-Dev/cadhub
%cCadHub is in active development - Want to lend a hand? %chttps://github.com/Irev-Dev/cadhub
%cOr get a sneak peak of work under construction? %chttps://cadhub.xyz/dev-ide
`
@@ -23,10 +24,12 @@ const Routes = () => {
() =>
console.log(
welcomeMessage,
'font-family: Georgia, serif; font-weight:bold; line-height: 2rem; font-size: 32px; color: #3c366b; padding-left: 5rem;',
'font-size: 10px; color:#D3D3D3; padding-left: 5rem;',
'font-family: "Ropa Sans",Georgia, serif; font-size: 16px;line-height:3rem; padding-left: 5rem;',
'font-family: Helvetica Neue, sans-serif; font-size: 16px; line-height: 1.5rem; color:#gray;padding-left: 5rem'
'font-family: Georgia, serif; font-weight:bold; line-height: 2rem; font-size: 32px; color: #3c366b',
'font-size: 10px; color:#D3D3D3',
'font-family: "Ropa Sans",Georgia, serif; font-size: 16px; line-height:3rem',
'font-family: Helvetica Neue, sans-serif; font-size: 16px; line-height: 1.5rem; color:#gray',
'font-family: "Ropa Sans",Georgia, serif; font-size: 16px; line-height:3rem',
'font-family: Helvetica Neue, sans-serif; font-size: 16px; line-height: 1.5rem'
),
[]
)

View File

@@ -328,8 +328,16 @@ const IdeToolbar = ({
transformOrigin={transformOrigin}
className="material-ui-overrides transform translate-y-4"
>
<div className="text-sm p-2 text-gray-500">
Press F5 to regenerate model
<div className="p-4">
<div className="text-sm p-2 text-gray-500">
Press F5 to regenerate model
</div>
<OutBound
className="text-gray-600 underline p-2"
to="https://ronie.medium.com/cascade-studio-tutorial-ee2f1c42c829"
>
See the tutorial
</OutBound>
</div>
</Popover>
</div>

View File

@@ -6,17 +6,33 @@ export const IdeContext = createContext()
const IdeToolbarNew = () => {
const [state, dispatch] = useIdeState()
function setIdeType(ide) { dispatch({ type: 'setIdeType', payload: { message: ide } }) }
function handleRender() { dispatch({ type: 'render', payload: { code: state.code } }) }
function setIdeType(ide) {
dispatch({ type: 'setIdeType', payload: { message: ide } })
}
function handleRender() {
dispatch({ type: 'render', payload: { code: state.code } })
}
return (
<IdeContext.Provider value={{ state, dispatch }}>
<div className="p-8 border-2">
<div>hi I'm the toolbar</div>
<nav class="flex">
<button onClick={() => setIdeType('openCascade')} class="p-2 br-2 border-2 m-2 bg-blue-200">Switch to OpenCascade</button>
<button onClick={() => setIdeType('openScad')} class="p-2 br-2 border-2 m-2 bg-indigo-200">Switch to OpenSCAD</button>
<button onClick={ handleRender } class="p-2 br-2 border-2 m-2">Render</button>
<nav className="flex">
<button
onClick={() => setIdeType('openCascade')}
className="p-2 br-2 border-2 m-2 bg-blue-200"
>
Switch to OpenCascade
</button>
<button
onClick={() => setIdeType('openScad')}
className="p-2 br-2 border-2 m-2 bg-indigo-200"
>
Switch to OpenSCAD
</button>
<button onClick={handleRender} className="p-2 br-2 border-2 m-2">
Render
</button>
</nav>
<IdeContainer />
</div>

View File

@@ -31,7 +31,8 @@ function Controls({ onCameraChange }) {
})
}
controls.current.addEventListener('end', callback)
return () => controls.current.removeEventListener('end', callback)
const oldCurrent = controls.current
return () => oldCurrent.removeEventListener('end', callback)
}
}, [])
@@ -69,7 +70,7 @@ function Box(props) {
</mesh>
)
}
let currentCode // I have no idea why this works and using state.code is the dispatch doesn't but it was always stale
const IdeViewer = () => {
const { state, dispatch } = useContext(IdeContext)
const [isDragging, setIsDragging] = useState(false)
@@ -81,6 +82,7 @@ const IdeViewer = () => {
window.URL.createObjectURL(state.objectData?.data),
[state.objectData]
)
currentCode = state.code
return (
<div className="p-8 border-2 m-2">
<div className="pb-4">
@@ -113,7 +115,7 @@ const IdeViewer = () => {
dispatch({
type: 'render',
payload: {
code: state.code,
code: currentCode,
camera: {
position,
rotation,

View File

@@ -1,6 +1,7 @@
import MainLayout from 'src/layouts/MainLayout'
import Seo from 'src/components/Seo/Seo'
import IdeToolbar from 'src/components/IdeToolbarNew'
import OutBound from 'src/components/OutBound'
const DevIdePage = () => {
return (
@@ -10,6 +11,19 @@ const DevIdePage = () => {
description="new ide in development"
lang="en-US"
/>
<div className="py-4 bg-pink-200">
<div className="mx-auto max-w-6xl">
Woah, woah. You shouldn't be here! We're still working on this. Since
you've seen it now, have a look what{' '}
<OutBound
className="text-pink-700"
to="https://github.com/Irev-Dev/cadhub/discussions/212"
>
we've got planned
</OutBound>
.
</div>
</div>
<IdeToolbar />
</MainLayout>
)