@@ -13,6 +13,7 @@ import { getGitpodService } from '../service/service';
13
13
import Modal from '../components/Modal' ;
14
14
import { MouseEvent , useState } from 'react' ;
15
15
import { WorkspaceModel } from './workspace-model' ;
16
+ import Tooltip from '../components/Tooltip' ;
16
17
17
18
18
19
export function WorkspaceEntry ( { desc, model } : { desc : WorkspaceInfo , model : WorkspaceModel } ) {
@@ -100,20 +101,23 @@ export function WorkspaceEntry({ desc, model }: { desc: WorkspaceInfo, model: Wo
100
101
setChangesModalVisible ( true ) ;
101
102
}
102
103
return < div >
103
- < a className = "rounded-xl whitespace-nowrap flex space-x-2 py-6 px-6 w-full justify-between hover:bg-gray-100 focus:bg-gitpod-kumquat-light cursor-pointer group" href = { startUrl . toString ( ) } >
104
+ < div className = "rounded-xl whitespace-nowrap flex space-x-2 py-6 px-6 w-full justify-between hover:bg-gray-100 focus:bg-gitpod-kumquat-light group" >
104
105
< div className = "pr-3 self-center" >
105
- < div className = { stateClassName } >
106
-
107
- </ div >
106
+ < Tooltip content = { state } >
107
+ < div className = { stateClassName } >
108
+ </ div >
109
+ </ Tooltip >
108
110
</ div >
109
111
< div className = "flex flex-col w-3/12" >
110
- < div className = "font-medium text-gray-800 truncate" > { ws . id } </ div >
111
- < a href = { project ? 'https://' + project : undefined } > < div className = "text-sm overflow-ellipsis truncate text-gray-400" > { project || 'Unknown' } </ div > </ a >
112
+ < a href = { startUrl . toString ( ) } > < div className = "font-medium text-gray-800 truncate hover:text-blue-500 " > { ws . id } </ div > </ a >
113
+ < a href = { project ? 'https://' + project : undefined } > < div className = "text-sm overflow-ellipsis truncate text-gray-400 hover:text-blue-400 " > { project || 'Unknown' } </ div > </ a >
112
114
</ div >
113
115
< div className = "flex w-4/12 truncate overflow-ellipsis" >
114
116
< div className = "flex flex-col" >
115
117
< div className = "font-medium text-gray-500 overflow-ellipsis truncate" > { ws . description } </ div >
116
- < div className = "text-sm text-gray-400 overflow-ellipsis truncate" > { ws . contextURL } </ div >
118
+ < a href = { ws . contextURL } >
119
+ < div className = "text-sm text-gray-400 overflow-ellipsis truncate hover:text-blue-400" > { ws . contextURL } </ div >
120
+ </ a >
117
121
</ div >
118
122
</ div >
119
123
< div className = "flex w-2/12 truncate" onClick = { numberOfChanges > 0 ? showChanges : undefined } >
@@ -127,19 +131,21 @@ export function WorkspaceEntry({ desc, model }: { desc: WorkspaceInfo, model: Wo
127
131
}
128
132
</ div >
129
133
</ div >
130
- < div className = "flex w-2/12 self-center space-x-2 truncate" >
131
- < div className = "text-sm text-gray-400 truncate" > { moment ( WorkspaceInfo . lastActiveISODate ( desc ) ) . fromNow ( ) } </ div >
134
+ < div className = "flex w-2/12 self-center" >
135
+ < Tooltip content = { `Created ${ moment ( desc . workspace . creationTime ) . fromNow ( ) } ` } >
136
+ < div className = "text-sm w-full text-gray-400 truncate" > { moment ( WorkspaceInfo . lastActiveISODate ( desc ) ) . fromNow ( ) } </ div >
137
+ </ Tooltip >
132
138
</ div >
133
139
< div className = "flex w-8 self-center hover:bg-gray-200 rounded-md cursor-pointer" >
134
140
< ContextMenu menuEntries = { menuEntries } >
135
141
< img className = "w-8 h-8 p-1" src = { ThreeDots } alt = "Actions" />
136
142
</ ContextMenu >
137
143
</ div >
138
- </ a >
144
+ </ div >
139
145
< Modal visible = { isChangesModalVisible } onClose = { ( ) => setChangesModalVisible ( false ) } >
140
146
{ getChangesPopup ( pendingChanges ) }
141
147
</ Modal >
142
- < Modal visible = { isModalVisible } onClose = { ( ) => setModalVisible ( false ) } onEnter = { ( ) => { model . deleteWorkspace ( ws . id ) ; return true ; } } >
148
+ < Modal visible = { isModalVisible } onClose = { ( ) => setModalVisible ( false ) } onEnter = { ( ) => { model . deleteWorkspace ( ws . id ) ; return true ; } } >
143
149
< div >
144
150
< h3 className = "pb-2" > Delete Workspace</ h3 >
145
151
< div className = "border-t border-b border-gray-200 mt-2 -mx-6 px-6 py-2" >
0 commit comments