@@ -22,8 +22,11 @@ import { UserContext } from '../../context';
2222import CodeActionButton from '../../components/CustomButtons/CodeActionButton' ;
2323import { trimTrailingDotGit } from '../../../db/helper' ;
2424import { fetchRemoteRepositoryData } from '../../utils' ;
25+
2526import { RepoView , SCMRepositoryMetadata } from '../../types' ;
2627import { UserContextType } from '../../context' ;
28+ import UserLink from '../../components/UserLink/UserLink' ;
29+ import DeleteRepoDialog from './Components/DeleteRepoDialog' ;
2730
2831const useStyles = makeStyles ( ( theme ) => ( {
2932 root : {
@@ -41,10 +44,11 @@ const RepoDetails: React.FC = () => {
4144 const navigate = useNavigate ( ) ;
4245 const classes = useStyles ( ) ;
4346 const [ repo , setRepo ] = useState < RepoView | null > ( null ) ;
44- const [ , setAuth ] = useState ( true ) ;
45- const [ isLoading , setIsLoading ] = useState ( true ) ;
46- const [ isError , setIsError ] = useState ( false ) ;
47- const [ remoteRepoData , setRemoteRepoData ] = React . useState < SCMRepositoryMetadata | null > ( null ) ;
47+ const [ confirmDeleteOpen , setConfirmDeleteOpen ] = useState < boolean > ( false ) ;
48+ const [ , setAuth ] = useState < boolean > ( true ) ;
49+ const [ isLoading , setIsLoading ] = useState < boolean > ( true ) ;
50+ const [ isError , setIsError ] = useState < boolean > ( false ) ;
51+ const [ remoteRepoData , setRemoteRepoData ] = useState < SCMRepositoryMetadata | null > ( null ) ;
4852 const { user } = useContext < UserContextType > ( UserContext ) ;
4953 const { id : repoId } = useParams < { id : string } > ( ) ;
5054
@@ -103,7 +107,7 @@ const RepoDetails: React.FC = () => {
103107 variant = 'contained'
104108 color = 'secondary'
105109 data-testid = 'delete-repo-button'
106- onClick = { ( ) => removeRepository ( repo . _id ! ) }
110+ onClick = { ( ) => setConfirmDeleteOpen ( true ) }
107111 >
108112 < Delete />
109113 </ Button >
@@ -183,7 +187,7 @@ const RepoDetails: React.FC = () => {
183187 { repo . users ?. canAuthorise ?. map ( ( username ) => (
184188 < TableRow key = { username } >
185189 < TableCell align = 'left' >
186- < a href = { `/dashboard/user/ ${ username } ` } > { username } </ a >
190+ < UserLink username = { username } / >
187191 </ TableCell >
188192 { user . admin && (
189193 < TableCell align = 'right' component = 'th' scope = 'row' >
@@ -226,7 +230,7 @@ const RepoDetails: React.FC = () => {
226230 { repo . users ?. canPush ?. map ( ( username ) => (
227231 < TableRow key = { username } >
228232 < TableCell align = 'left' >
229- < a href = { `/dashboard/user/ ${ username } ` } > { username } </ a >
233+ < UserLink username = { username } / >
230234 </ TableCell >
231235 { user . admin && (
232236 < TableCell align = 'right' component = 'th' scope = 'row' >
@@ -249,6 +253,13 @@ const RepoDetails: React.FC = () => {
249253 </ CardBody >
250254 </ Card >
251255 </ GridItem >
256+
257+ < DeleteRepoDialog
258+ repoName = { repo . name }
259+ open = { confirmDeleteOpen }
260+ onClose = { ( ) => setConfirmDeleteOpen ( false ) }
261+ onConfirm = { ( ) => removeRepository ( repo . _id ! ) }
262+ />
252263 </ GridContainer >
253264 ) ;
254265} ;
0 commit comments