5
5
*/
6
6
7
7
import { useContext , useState } from "react" ;
8
- import SelectableCardSolid from "../components/SelectableCardSolid" ;
9
8
import { getGitpodService } from "../service/service" ;
10
9
import { UserContext } from "../user-context" ;
11
10
import { trackEvent } from "../Analytics" ;
12
11
import { WorkspaceClasses } from "@gitpod/gitpod-protocol" ;
12
+ import WorkspaceClass from "../components/WorkspaceClass" ;
13
13
14
14
interface SelectWorkspaceClassProps {
15
15
enabled : boolean ;
@@ -19,11 +19,11 @@ export default function SelectWorkspaceClass(props: SelectWorkspaceClassProps) {
19
19
const { user } = useContext ( UserContext ) ;
20
20
21
21
const [ workspaceClass , setWorkspaceClass ] = useState < string > (
22
- user ?. additionalData ?. workspaceClasses ?. regular || "standard" ,
22
+ user ?. additionalData ?. workspaceClasses ?. regular || "g1- standard" ,
23
23
) ;
24
24
const actuallySetWorkspaceClass = async ( value : string ) => {
25
25
const additionalData = user ?. additionalData || { } ;
26
- const prevWorkspaceClass = additionalData ?. workspaceClasses ?. regular || "standard" ;
26
+ const prevWorkspaceClass = additionalData ?. workspaceClasses ?. regular || "g1- standard" ;
27
27
const workspaceClasses = ( additionalData ?. workspaceClasses || { } ) as WorkspaceClasses ;
28
28
workspaceClasses . regular = value ;
29
29
workspaceClasses . prebuild = value ;
@@ -48,41 +48,24 @@ export default function SelectWorkspaceClass(props: SelectWorkspaceClassProps) {
48
48
Choose the workspace machine type for your workspaces.
49
49
</ p >
50
50
< div className = "mt-4 space-x-3 flex" >
51
- < SelectableCardSolid
52
- className = "w-36 h-32"
53
- title = "Standard"
54
- selected = { workspaceClass === "standard" }
55
- onClick = { ( ) => actuallySetWorkspaceClass ( "standard" ) }
56
- >
57
- < div className = "flex-grow flex items-end p-1" >
58
- < svg width = "112" height = "64" fill = "none" xmlns = "http://www.w3.org/2000/svg" >
59
- < path
60
- d = "M0 8a8 8 0 0 1 8-8h16a8 8 0 1 1 0 16H8a8 8 0 0 1-8-8ZM0 32a8 8 0 0 1 8-8h16a8 8 0 1 1 0 16H8a8 8 0 0 1-8-8ZM0 56a8 8 0 0 1 8-8h16a8 8 0 1 1 0 16H8a8 8 0 0 1-8-8ZM40 6a6 6 0 0 1 6-6h60a6 6 0 0 1 6 6v28a6 6 0 0 1-6 6H46a6 6 0 0 1-6-6V6Z"
61
- fill = "#D6D3D1"
62
- />
63
- </ svg >
64
- </ div >
65
- </ SelectableCardSolid >
66
- < SelectableCardSolid
67
- className = "w-36 h-32"
68
- title = "XL"
69
- selected = { workspaceClass === "XL" }
70
- onClick = { ( ) => actuallySetWorkspaceClass ( "XL" ) }
71
- >
72
- < div className = "flex-grow flex items-end p-1" >
73
- < svg width = "112" height = "64" fill = "none" xmlns = "http://www.w3.org/2000/svg" >
74
- < path
75
- d = "M0 8a8 8 0 0 1 8-8h16a8 8 0 1 1 0 16H8a8 8 0 0 1-8-8ZM40 6a6 6 0 0 1 6-6h60a6 6 0 0 1 6 6v28a6 6 0 0 1-6 6H46a6 6 0 0 1-6-6V6Z"
76
- fill = "#D9D9D9"
77
- />
78
- < path
79
- d = "M84 0h22a6 6 0 0 1 6 6v28a6 6 0 0 1-6 6H68L84 0ZM0 32a8 8 0 0 1 8-8h16a8 8 0 1 1 0 16H8a8 8 0 0 1-8-8Z"
80
- fill = "#78716C"
81
- />
82
- < path d = "M0 56a8 8 0 0 1 8-8h16a8 8 0 1 1 0 16H8a8 8 0 0 1-8-8Z" fill = "#D9D9D9" />
83
- </ svg >
84
- </ div >
85
- </ SelectableCardSolid >
51
+ < WorkspaceClass
52
+ additionalStyles = "w-80 h-32"
53
+ selected = { workspaceClass === "g1-standard" }
54
+ onClick = { ( ) => actuallySetWorkspaceClass ( "g1-standard" ) }
55
+ category = "GENERAL PURPOSE"
56
+ friendlyName = "Standard"
57
+ description = "Up to 4 vCPU, 8GB memory, 30GB disk"
58
+ powerUps = { 1 }
59
+ />
60
+ < WorkspaceClass
61
+ additionalStyles = "w-80 h-32"
62
+ selected = { workspaceClass === "g1-large" }
63
+ onClick = { ( ) => actuallySetWorkspaceClass ( "g1-large" ) }
64
+ category = "GENERAL PURPOSE"
65
+ friendlyName = "Large"
66
+ description = "Up to 8 vCPU, 16GB memory, 50GB disk"
67
+ powerUps = { 2 }
68
+ />
86
69
</ div >
87
70
</ div >
88
71
) ;
0 commit comments