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,
|
image_src: null,
|
||||||
description: null,
|
description: null,
|
||||||
name: null,
|
name: null,
|
||||||
cores: 1,
|
cores: 2,
|
||||||
memory: 1024,
|
memory: 2768,
|
||||||
gpu_count: 0,
|
gpu_count: 0,
|
||||||
cpu_allocation_method: "Inherit",
|
cpu_allocation_method: "Inherit",
|
||||||
docker_registry: "https://index.docker.io/v1/",
|
docker_registry: "https://index.docker.io/v1/",
|
||||||
@ -59,13 +59,12 @@ export default function New({ workspace }) {
|
|||||||
image_type: 'Container',
|
image_type: 'Container',
|
||||||
}
|
}
|
||||||
|
|
||||||
const [workspace, setWorkspace] = useState(defaultState)
|
const [combined, setCombined] = useState(defaultState)
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
// const { workspace } = router.query
|
// const { workspace } = router.query
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
console.log(workspace)
|
|
||||||
if(workspace === null) {
|
if(workspace === null) {
|
||||||
description.current.value = ''
|
description.current.value = ''
|
||||||
name.current.value = ''
|
name.current.value = ''
|
||||||
@ -73,7 +72,7 @@ export default function New({ workspace }) {
|
|||||||
setCategories(null)
|
setCategories(null)
|
||||||
setArchitecture(null)
|
setArchitecture(null)
|
||||||
setIcon(null)
|
setIcon(null)
|
||||||
setWorkspace(defaultState)
|
setCombined(defaultState)
|
||||||
}
|
}
|
||||||
else if (workspace && workspace[0]) {
|
else if (workspace && workspace[0]) {
|
||||||
const workspaceDetails = allworkspaces.workspaces.find(el => el.name === atob(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)
|
setInlineImage('../../icons/' + workspaceDetails.image_src)
|
||||||
|
|
||||||
setWorkspace({
|
setCombined({
|
||||||
...workspace,
|
...combined,
|
||||||
...workspaceDetails
|
...workspaceDetails
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -109,8 +108,8 @@ export default function New({ workspace }) {
|
|||||||
|
|
||||||
const displayWorkspace = () => {
|
const displayWorkspace = () => {
|
||||||
return {
|
return {
|
||||||
...workspace,
|
...combined,
|
||||||
// categories: JSON.stringify(workspace.categories)
|
// categories: JSON.stringify(combined.categories)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,21 +129,21 @@ export default function New({ workspace }) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (workspace && workspace.friendly_name) {
|
if (combined && combined.friendly_name) {
|
||||||
const updateWorkspace = {
|
const updateWorkspace = {
|
||||||
...workspace
|
...combined
|
||||||
}
|
}
|
||||||
updateWorkspace.image_src = friendlyUrl(updateWorkspace.friendly_name) + '.' + ext
|
updateWorkspace.image_src = friendlyUrl(updateWorkspace.friendly_name) + '.' + ext
|
||||||
setWorkspace(updateWorkspace)
|
setCombined(updateWorkspace)
|
||||||
}
|
}
|
||||||
}, [ext])
|
}, [ext])
|
||||||
|
|
||||||
const updateCategories = (items) => {
|
const updateCategories = (items) => {
|
||||||
const updateWorkspace = {
|
const updateWorkspace = {
|
||||||
...workspace
|
...combined
|
||||||
}
|
}
|
||||||
updateWorkspace.categories = items.map(cat => cat.value)
|
updateWorkspace.categories = items.map(cat => cat.value)
|
||||||
setWorkspace(updateWorkspace)
|
setCombined(updateWorkspace)
|
||||||
let catMap = []
|
let catMap = []
|
||||||
updateWorkspace.categories.map((e) => catMap.push({
|
updateWorkspace.categories.map((e) => catMap.push({
|
||||||
label: e,
|
label: e,
|
||||||
@ -155,10 +154,10 @@ export default function New({ workspace }) {
|
|||||||
|
|
||||||
const updateArchitecture = (items) => {
|
const updateArchitecture = (items) => {
|
||||||
const updateWorkspace = {
|
const updateWorkspace = {
|
||||||
...workspace
|
...combined
|
||||||
}
|
}
|
||||||
updateWorkspace.architecture = items.map(arch => arch.value)
|
updateWorkspace.architecture = items.map(arch => arch.value)
|
||||||
setWorkspace(updateWorkspace)
|
setCombined(updateWorkspace)
|
||||||
let archMap = []
|
let archMap = []
|
||||||
updateWorkspace.architecture.map((e) => archMap.push({
|
updateWorkspace.architecture.map((e) => archMap.push({
|
||||||
label: e,
|
label: e,
|
||||||
@ -184,25 +183,25 @@ export default function New({ workspace }) {
|
|||||||
const downloadZip = () => {
|
const downloadZip = () => {
|
||||||
var JSZip = require("jszip");
|
var JSZip = require("jszip");
|
||||||
const zip = new JSZip()
|
const zip = new JSZip()
|
||||||
const folder = zip.folder(workspace.friendly_name)
|
const folder = zip.folder(combined.friendly_name)
|
||||||
folder.file('workspace.json', JSON.stringify(workspace, null, 2))
|
folder.file('workspace.json', JSON.stringify(combined, null, 2))
|
||||||
if (icon) {
|
if (icon) {
|
||||||
folder.file(workspace.image_src, icon.file)
|
folder.file(combined.image_src, icon.file)
|
||||||
}
|
}
|
||||||
else if (inlineImage) {
|
else if (inlineImage) {
|
||||||
const promise = fetch(inlineImage).then(response => response.blob())
|
const promise = fetch(inlineImage).then(response => response.blob())
|
||||||
folder.file(workspace.image_src, promise)
|
folder.file(combined.image_src, promise)
|
||||||
}
|
}
|
||||||
zip.generateAsync({ type: "blob" })
|
zip.generateAsync({ type: "blob" })
|
||||||
.then(function (content) {
|
.then(function (content) {
|
||||||
// Force down of the Zip file
|
// Force down of the Zip file
|
||||||
saveAs(content, friendlyUrl(workspace.friendly_name) + '.zip');
|
saveAs(content, friendlyUrl(combined.friendly_name) + '.zip');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleChange = (event) => {
|
const handleChange = (event) => {
|
||||||
const updateWorkspace = {
|
const updateWorkspace = {
|
||||||
...workspace
|
...combined
|
||||||
}
|
}
|
||||||
updateWorkspace[event.target.name] = event.target.value
|
updateWorkspace[event.target.name] = event.target.value
|
||||||
if (event.target.name === 'icon') {
|
if (event.target.name === 'icon') {
|
||||||
@ -220,7 +219,7 @@ export default function New({ workspace }) {
|
|||||||
updateWorkspace.image_src = friendlyUrl(updateWorkspace.friendly_name) + '.' + ext
|
updateWorkspace.image_src = friendlyUrl(updateWorkspace.friendly_name) + '.' + ext
|
||||||
}
|
}
|
||||||
|
|
||||||
setWorkspace(updateWorkspace)
|
setCombined(updateWorkspace)
|
||||||
}
|
}
|
||||||
|
|
||||||
const options = [
|
const options = [
|
||||||
@ -295,7 +294,7 @@ export default function New({ workspace }) {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className='w-full lg:w-1/2 p-16 bg-slate-100'>
|
<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>
|
<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>
|
<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>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user