@@ -5,19 +5,14 @@ import { makeStyles } from "@material-ui/core/styles"
5
5
import CloudCircleIcon from "@material-ui/icons/CloudCircle"
6
6
import Link from "next/link"
7
7
import React from "react"
8
-
8
+ import * as Constants from "./constants"
9
9
import * as API from "../../api"
10
+ import { WorkspaceSection } from "./WorkspaceSection"
10
11
11
12
export interface WorkspaceProps {
12
13
workspace : API . Workspace
13
14
}
14
15
15
- namespace Constants {
16
- export const TitleIconSize = 48
17
- export const CardRadius = 8
18
- export const CardPadding = 20
19
- }
20
-
21
16
/**
22
17
* Workspace is the top-level component for viewing an individual workspace
23
18
*/
@@ -26,7 +21,32 @@ export const Workspace: React.FC<WorkspaceProps> = ({ workspace }) => {
26
21
27
22
return (
28
23
< div className = { styles . root } >
29
- < WorkspaceHeader workspace = { workspace } />
24
+ < div className = { styles . vertical } >
25
+ < WorkspaceHeader workspace = { workspace } />
26
+ < div className = { styles . horizontal } >
27
+ < div className = { styles . sidebarContainer } >
28
+ < WorkspaceSection title = "Applications" >
29
+ < Placeholder />
30
+ </ WorkspaceSection >
31
+ < WorkspaceSection title = "Dev URLs" >
32
+ < Placeholder />
33
+ </ WorkspaceSection >
34
+ < WorkspaceSection title = "Resources" >
35
+ < Placeholder />
36
+ </ WorkspaceSection >
37
+ </ div >
38
+ < div className = { styles . timelineContainer } >
39
+ < WorkspaceSection title = "Timeline" >
40
+ < div
41
+ className = { styles . vertical }
42
+ style = { { justifyContent : "center" , alignItems : "center" , height : "300px" } }
43
+ >
44
+ < Placeholder />
45
+ </ div >
46
+ </ WorkspaceSection >
47
+ </ div >
48
+ </ div >
49
+ </ div >
30
50
</ div >
31
51
)
32
52
}
@@ -63,6 +83,18 @@ export const WorkspaceHeroIcon: React.FC = () => {
63
83
)
64
84
}
65
85
86
+ /**
87
+ * Temporary placeholder component until we have the sections implemented
88
+ * Can be removed once the Workspace page has all the necessary sections
89
+ */
90
+ const Placeholder : React . FC = ( ) => {
91
+ return (
92
+ < div style = { { textAlign : "center" , opacity : "0.5" } } >
93
+ < Typography variant = "caption" > Not yet implemented</ Typography >
94
+ </ div >
95
+ )
96
+ }
97
+
66
98
export const useStyles = makeStyles ( ( theme ) => {
67
99
return {
68
100
root : {
@@ -81,6 +113,15 @@ export const useStyles = makeStyles((theme) => {
81
113
border : `1px solid ${ theme . palette . divider } ` ,
82
114
borderRadius : Constants . CardRadius ,
83
115
padding : Constants . CardPadding ,
116
+ margin : theme . spacing ( 1 ) ,
117
+ } ,
118
+ sidebarContainer : {
119
+ display : "flex" ,
120
+ flexDirection : "column" ,
121
+ flex : "0 0 350px" ,
122
+ } ,
123
+ timelineContainer : {
124
+ flex : 1 ,
84
125
} ,
85
126
icon : {
86
127
width : Constants . TitleIconSize ,
0 commit comments