diff --git a/components/dashboard/src/workspaces/Workspaces.tsx b/components/dashboard/src/workspaces/Workspaces.tsx
index fc059cf727168e..0b8236893257fb 100644
--- a/components/dashboard/src/workspaces/Workspaces.tsx
+++ b/components/dashboard/src/workspaces/Workspaces.tsx
@@ -5,7 +5,7 @@
*/
import { useContext, useEffect, useState } from "react";
-import { Project, Team, WhitelistedRepository, Workspace, WorkspaceInfo } from "@gitpod/gitpod-protocol";
+import { WhitelistedRepository, Workspace, WorkspaceInfo } from "@gitpod/gitpod-protocol";
import Header from "../components/Header";
import DropDown from "../components/DropDown";
import { WorkspaceModel } from "./workspace-model";
@@ -15,8 +15,6 @@ import { StartWorkspaceModal, WsStartEntry } from "./StartWorkspaceModal";
import { ItemsList } from "../components/ItemsList";
import { getCurrentTeam, TeamsContext } from "../teams/teams-context";
import { useLocation, useRouteMatch } from "react-router";
-import { toRemoteURL } from "../projects/render-utils";
-import { Link, useHistory } from "react-router-dom";
export interface WorkspacesProps {
}
@@ -29,33 +27,16 @@ export interface WorkspacesState {
export default function () {
const location = useLocation();
- const history = useHistory();
const { teams } = useContext(TeamsContext);
const team = getCurrentTeam(location, teams);
const match = useRouteMatch<{ team: string, resource: string }>("/(t/)?:team/:resource");
const projectSlug = match?.params?.resource !== 'workspaces' ? match?.params?.resource : undefined;
- const [projects, setProjects] = useState
([]);
const [activeWorkspaces, setActiveWorkspaces] = useState([]);
const [inactiveWorkspaces, setInactiveWorkspaces] = useState([]);
const [repos, setRepos] = useState([]);
const [isTemplateModelOpen, setIsTemplateModelOpen] = useState(false);
const [workspaceModel, setWorkspaceModel] = useState();
- const [teamsProjects, setTeamsProjects] = useState([]);
- const [teamsWorkspaceModel, setTeamsWorkspaceModel] = useState();
- const [teamsActiveWorkspaces, setTeamsActiveWorkspaces] = useState([]);
-
- const newProjectUrl = !!team ? `/new?team=${team.slug}` : '/new?user=1';
- const onNewProject = () => {
- history.push(newProjectUrl);
- }
-
- const fetchTeamsProjects = async () => {
- const projectsPerTeam = await Promise.all((teams || []).map(t => getGitpodService().server.getTeamProjects(t.id)));
- const allTeamsProjects = projectsPerTeam.flat(1);
- setTeamsProjects(allTeamsProjects);
- return allTeamsProjects;
- }
useEffect(() => {
// only show example repos on the global user context
@@ -63,30 +44,7 @@ export default function () {
getGitpodService().server.getFeaturedRepositories().then(setRepos);
}
(async () => {
- const projects = (!!team
- ? await getGitpodService().server.getTeamProjects(team.id)
- : await getGitpodService().server.getUserProjects());
-
- let project: Project | undefined = undefined;
- if (projectSlug) {
- project = projects.find(p => p.slug ? p.slug === projectSlug : p.name === projectSlug);
- if (project) {
- setProjects([project]);
- }
- } else {
- setProjects(projects);
- }
- let workspaceModel;
- if (!!project) {
- workspaceModel = new WorkspaceModel(setActiveWorkspaces, setInactiveWorkspaces, Promise.resolve([project.id]), false);
- } else if (!!team) {
- workspaceModel = new WorkspaceModel(setActiveWorkspaces, setInactiveWorkspaces, getGitpodService().server.getTeamProjects(team?.id).then(projects => projects.map(p => p.id)), false);
- } else {
- workspaceModel = new WorkspaceModel(setActiveWorkspaces, setInactiveWorkspaces, getGitpodService().server.getUserProjects().then(projects => projects.map(p => p.id)), true);
- // Don't await
- const teamsProjectIdsPromise = fetchTeamsProjects().then(tp => tp.map(p => p.id));
- setTeamsWorkspaceModel(new WorkspaceModel(setTeamsActiveWorkspaces, () => {}, teamsProjectIdsPromise, false));
- }
+ const workspaceModel = new WorkspaceModel(setActiveWorkspaces, setInactiveWorkspaces);
setWorkspaceModel(workspaceModel);
})();
}, [teams, location]);
@@ -95,16 +53,6 @@ export default function () {
const hideStartWSModal = () => setIsTemplateModelOpen(false);
const getRecentSuggestions: () => WsStartEntry[] = () => {
- if (projectSlug || team) {
- return projects.map(p => {
- const remoteUrl = toRemoteURL(p.cloneUrl);
- return {
- title: (team ? team.name + '/' : '') + p.name,
- description: remoteUrl,
- startUrl: gitpodHostUrl.withContext(remoteUrl).toString()
- };
- });
- }
if (workspaceModel) {
const all = workspaceModel.getAllFetchedWorkspaces();
if (all && all.size > 0) {
@@ -169,9 +117,6 @@ export default function () {