diff --git a/components/dashboard/src/components/Tooltip.tsx b/components/dashboard/src/components/Tooltip.tsx
new file mode 100644
index 00000000000000..fbcf30cfc422a7
--- /dev/null
+++ b/components/dashboard/src/components/Tooltip.tsx
@@ -0,0 +1,33 @@
+/**
+ * Copyright (c) 2021 Gitpod GmbH. All rights reserved.
+ * Licensed under the GNU Affero General Public License (AGPL).
+ * See License-AGPL.txt in the project root for license information.
+ */
+
+import { useState } from 'react';
+
+export interface TooltipProps {
+ children: React.ReactChild[] | React.ReactChild;
+ content: string;
+}
+
+function Tooltip(props: TooltipProps) {
+ const [expanded, setExpanded] = useState(false);
+
+ return (
+
setExpanded(false)} onMouseEnter={() => setExpanded(true)} className="relative">
+
+ {props.children}
+
+ {expanded ?
+
+ {props.content}
+
+ :
+ null
+ }
+
+ );
+}
+
+export default Tooltip;
\ No newline at end of file
diff --git a/components/dashboard/src/workspaces/WorkspaceEntry.tsx b/components/dashboard/src/workspaces/WorkspaceEntry.tsx
index 4a15f59d1bcb0c..2a997a1cd9f140 100644
--- a/components/dashboard/src/workspaces/WorkspaceEntry.tsx
+++ b/components/dashboard/src/workspaces/WorkspaceEntry.tsx
@@ -13,7 +13,11 @@ import { getGitpodService } from '../service/service';
import Modal from '../components/Modal';
import { MouseEvent, useState } from 'react';
import { WorkspaceModel } from './workspace-model';
+import Tooltip from '../components/Tooltip';
+function getLabel(state: WorkspaceInstancePhase) {
+ return state.substr(0,1).toLocaleUpperCase() + state.substr(1);
+}
export function WorkspaceEntry({ desc, model }: { desc: WorkspaceInfo, model: WorkspaceModel }) {
const [isModalVisible, setModalVisible] = useState(false);
@@ -100,20 +104,23 @@ export function WorkspaceEntry({ desc, model }: { desc: WorkspaceInfo, model: Wo
setChangesModalVisible(true);
}
return