Fix bug caused by using workspaces everywhere
Updated default values
This commit is contained in:
parent
8a4c513331
commit
1256e268b2
@ -48,8 +48,8 @@ export default function New({ workspace }) {
|
||||
image_src: null,
|
||||
description: null,
|
||||
name: null,
|
||||
cores: 1,
|
||||
memory: 1024,
|
||||
cores: 2,
|
||||
memory: 2768,
|
||||
gpu_count: 0,
|
||||
cpu_allocation_method: "Inherit",
|
||||
docker_registry: "https://index.docker.io/v1/",
|
||||
@ -59,13 +59,12 @@ export default function New({ workspace }) {
|
||||
image_type: 'Container',
|
||||
}
|
||||
|
||||
const [workspace, setWorkspace] = useState(defaultState)
|
||||
const [combined, setCombined] = useState(defaultState)
|
||||
|
||||
const router = useRouter()
|
||||
// const { workspace } = router.query
|
||||
|
||||
useEffect(() => {
|
||||
console.log(workspace)
|
||||
if(workspace === null) {
|
||||
description.current.value = ''
|
||||
name.current.value = ''
|
||||
@ -73,7 +72,7 @@ export default function New({ workspace }) {
|
||||
setCategories(null)
|
||||
setArchitecture(null)
|
||||
setIcon(null)
|
||||
setWorkspace(defaultState)
|
||||
setCombined(defaultState)
|
||||
}
|
||||
else if (workspace && workspace[0]) {
|
||||
const workspaceDetails = allworkspaces.workspaces.find(el => el.name === atob(workspace[0]))
|
||||
@ -100,8 +99,8 @@ export default function New({ workspace }) {
|
||||
|
||||
setInlineImage('../../icons/' + workspaceDetails.image_src)
|
||||
|
||||
setWorkspace({
|
||||
...workspace,
|
||||
setCombined({
|
||||
...combined,
|
||||
...workspaceDetails
|
||||
})
|
||||
}
|
||||
@ -109,8 +108,8 @@ export default function New({ workspace }) {
|
||||
|
||||
const displayWorkspace = () => {
|
||||
return {
|
||||
...workspace,
|
||||
// categories: JSON.stringify(workspace.categories)
|
||||
...combined,
|
||||
// categories: JSON.stringify(combined.categories)
|
||||
}
|
||||
}
|
||||
|
||||
@ -130,21 +129,21 @@ export default function New({ workspace }) {
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
if (workspace && workspace.friendly_name) {
|
||||
if (combined && combined.friendly_name) {
|
||||
const updateWorkspace = {
|
||||
...workspace
|
||||
...combined
|
||||
}
|
||||
updateWorkspace.image_src = friendlyUrl(updateWorkspace.friendly_name) + '.' + ext
|
||||
setWorkspace(updateWorkspace)
|
||||
setCombined(updateWorkspace)
|
||||
}
|
||||
}, [ext])
|
||||
|
||||
const updateCategories = (items) => {
|
||||
const updateWorkspace = {
|
||||
...workspace
|
||||
...combined
|
||||
}
|
||||
updateWorkspace.categories = items.map(cat => cat.value)
|
||||
setWorkspace(updateWorkspace)
|
||||
setCombined(updateWorkspace)
|
||||
let catMap = []
|
||||
updateWorkspace.categories.map((e) => catMap.push({
|
||||
label: e,
|
||||
@ -155,10 +154,10 @@ export default function New({ workspace }) {
|
||||
|
||||
const updateArchitecture = (items) => {
|
||||
const updateWorkspace = {
|
||||
...workspace
|
||||
...combined
|
||||
}
|
||||
updateWorkspace.architecture = items.map(arch => arch.value)
|
||||
setWorkspace(updateWorkspace)
|
||||
setCombined(updateWorkspace)
|
||||
let archMap = []
|
||||
updateWorkspace.architecture.map((e) => archMap.push({
|
||||
label: e,
|
||||
@ -184,25 +183,25 @@ export default function New({ workspace }) {
|
||||
const downloadZip = () => {
|
||||
var JSZip = require("jszip");
|
||||
const zip = new JSZip()
|
||||
const folder = zip.folder(workspace.friendly_name)
|
||||
folder.file('workspace.json', JSON.stringify(workspace, null, 2))
|
||||
const folder = zip.folder(combined.friendly_name)
|
||||
folder.file('workspace.json', JSON.stringify(combined, null, 2))
|
||||
if (icon) {
|
||||
folder.file(workspace.image_src, icon.file)
|
||||
folder.file(combined.image_src, icon.file)
|
||||
}
|
||||
else if (inlineImage) {
|
||||
const promise = fetch(inlineImage).then(response => response.blob())
|
||||
folder.file(workspace.image_src, promise)
|
||||
folder.file(combined.image_src, promise)
|
||||
}
|
||||
zip.generateAsync({ type: "blob" })
|
||||
.then(function (content) {
|
||||
// Force down of the Zip file
|
||||
saveAs(content, friendlyUrl(workspace.friendly_name) + '.zip');
|
||||
saveAs(content, friendlyUrl(combined.friendly_name) + '.zip');
|
||||
});
|
||||
}
|
||||
|
||||
const handleChange = (event) => {
|
||||
const updateWorkspace = {
|
||||
...workspace
|
||||
...combined
|
||||
}
|
||||
updateWorkspace[event.target.name] = event.target.value
|
||||
if (event.target.name === 'icon') {
|
||||
@ -220,7 +219,7 @@ export default function New({ workspace }) {
|
||||
updateWorkspace.image_src = friendlyUrl(updateWorkspace.friendly_name) + '.' + ext
|
||||
}
|
||||
|
||||
setWorkspace(updateWorkspace)
|
||||
setCombined(updateWorkspace)
|
||||
}
|
||||
|
||||
const options = [
|
||||
@ -295,7 +294,7 @@ export default function New({ workspace }) {
|
||||
</div>
|
||||
</div>
|
||||
<div className='w-full lg:w-1/2 p-16 bg-slate-100'>
|
||||
<Workspace workspace={workspace} icon={icon} inlineImage={inlineImage} />
|
||||
<Workspace workspace={combined} icon={icon} inlineImage={inlineImage} />
|
||||
<pre className='my-8 overflow-y-auto text-xs'>{JSON.stringify(displayWorkspace(), null, 2)}</pre>
|
||||
<button onClick={downloadZip} className='p-4 relative z-10 px-5 bg-cyan-700 border-t border-white/20 border-solid hover:bg-slate-900 transition m-2 rounded items-center text-white/70 flex cursor-pointer'>Download</button>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user