Skip to content

Commit a803285

Browse files
svenefftingeroboquat
authored andcommitted
[t&p] add workspaces to teams
fixes #4921
1 parent d28d433 commit a803285

File tree

12 files changed

+354
-184
lines changed

12 files changed

+354
-184
lines changed

components/dashboard/src/App.tsx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,9 @@ function App() {
265265
if (resourceOrPrebuild === "configure") {
266266
return <ConfigureProject />;
267267
}
268+
if (resourceOrPrebuild === "workspaces") {
269+
return <Workspaces />;
270+
}
268271
if (resourceOrPrebuild === "prebuilds") {
269272
return <Prebuilds />;
270273
}
@@ -276,21 +279,28 @@ function App() {
276279
<Route exact path="/teams/new" component={NewTeam} />
277280
<Route exact path="/teams/join" component={JoinTeam} />
278281
</Route>
279-
{(teams || []).map(team => <Route key={`route-for-team-${team.slug}`} path={`/t/${team.slug}`}>
282+
{(teams || []).map(team =>
283+
<Route path={`/t/${team.slug}`} key={team.slug}>
280284
<Route exact path={`/t/${team.slug}`}>
281-
<Redirect to={`/t/${team.slug}/projects`} />
285+
<Redirect to={`/t/${team.slug}/workspaces`} />
282286
</Route>
283287
<Route exact path={`/t/${team.slug}/:maybeProject/:resourceOrPrebuild?`} render={(props) => {
284288
const { maybeProject, resourceOrPrebuild } = props.match.params;
285289
if (maybeProject === "projects") {
286290
return <Projects />;
287291
}
292+
if (maybeProject === "workspaces") {
293+
return <Workspaces />;
294+
}
288295
if (maybeProject === "members") {
289296
return <Members />;
290297
}
291298
if (resourceOrPrebuild === "configure") {
292299
return <ConfigureProject />;
293300
}
301+
if (resourceOrPrebuild === "workspaces") {
302+
return <Workspaces />;
303+
}
294304
if (resourceOrPrebuild === "prebuilds") {
295305
return <Prebuilds />;
296306
}

components/dashboard/src/Menu.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export default function Menu() {
4343
})();
4444
const prebuildId = (() => {
4545
const resource = projectName && match?.params?.segment3;
46-
if (resource !== "prebuilds" && resource !== "settings" && resource !== "configure") {
46+
if (resource !== "workspaces" && resource !== "prebuilds" && resource !== "settings" && resource !== "configure") {
4747
return resource;
4848
}
4949
})();
@@ -93,6 +93,10 @@ export default function Menu() {
9393
title: 'Branches',
9494
link: `${teamOrUserSlug}/${projectName}`
9595
},
96+
{
97+
title: 'Workspaces',
98+
link: `${teamOrUserSlug}/${projectName}/workspaces`
99+
},
96100
{
97101
title: 'Prebuilds',
98102
link: `${teamOrUserSlug}/${projectName}/prebuilds`
@@ -109,7 +113,11 @@ export default function Menu() {
109113
{
110114
title: 'Projects',
111115
link: `/t/${team.slug}/projects`,
112-
alternatives: [`/${team.slug}`]
116+
},
117+
{
118+
title: 'Workspaces',
119+
link: `/t/${team.slug}/workspaces`,
120+
alternatives: [`/t/${team.slug}`]
113121
},
114122
{
115123
title: 'Members',

components/dashboard/src/components/Header.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export default function Header(p: HeaderProps) {
2020
document.title = `${p.title} — Gitpod`;
2121
}, []);
2222
return <div className="lg:px-28 px-10 border-gray-200 dark:border-gray-800">
23-
<div className="flex pb-8 pt-6">
23+
<div className="flex py-10">
2424
<div className="">
2525
{typeof p.title === "string" ? (<h1 className="tracking-tight">{p.title}</h1>) : p.title}
2626
{typeof p.subtitle === "string" ? (<h2 className="tracking-wide">{p.subtitle}</h2>) : p.subtitle}

components/dashboard/src/index.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
}
6060

6161
a.gp-link {
62-
@apply underline underline-thickness-thin underline-offset-small text-gray-400 dark:text-gray-600 hover:text-gray-500 dark:hover:text-gray-500;
62+
@apply text-blue-500 hover:text-blue-600 dark:text-blue-400 dark:hover:text-blue-500;
6363
}
6464

6565
input[type=text], input[type=search], input[type=password], select {

components/dashboard/src/workspaces/StartWorkspaceModal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export function StartWorkspaceModal(p: StartWorkspaceModalProps) {
4343
<div className="border-t border-gray-200 dark:border-gray-800 mt-2 -mx-6 px-6 pt-2">
4444
<div className="flex">
4545
<TabMenuItem name='Recent' selected={selection === 'Recent'} onClick={() => setSelection('Recent')} />
46-
<TabMenuItem name='Examples' selected={selection === 'Examples'} onClick={() => setSelection('Examples')} />
46+
{p.examples.length>0 && <TabMenuItem name='Examples' selected={selection === 'Examples'} onClick={() => setSelection('Examples')} />}
4747
</div>
4848
</div>
4949
<div className="border-t border-gray-200 dark:border-gray-800 -mx-6 px-6 py-2">

0 commit comments

Comments
 (0)