1
- import { useEffect , useState } from "react" ;
1
+ import { useEffect , useState } from "react" ;
2
2
import { apiRequest } from "../../util/api/apiRequest.ts" ;
3
3
import {
4
+ IconContainer ,
4
5
StyledLink ,
5
6
StyledTable ,
6
7
TableCell ,
@@ -47,6 +48,12 @@ export default function ShowAllUrls() {
47
48
} ) ;
48
49
}
49
50
51
+ function handleCopyClick ( url : string ) {
52
+ navigator . clipboard . writeText ( url ) . then ( ( ) => {
53
+
54
+ } ) ;
55
+ }
56
+
50
57
return (
51
58
< TableContainer >
52
59
{ loading && < p > Loading...</ p > }
@@ -70,9 +77,16 @@ export default function ShowAllUrls() {
70
77
< TableRow key = { url . id } >
71
78
< TableCell > { url . id } </ TableCell >
72
79
< TableCell >
73
- < StyledLink href = { import . meta. env . VITE_BASE_URL + url . shortUrl } target = "_blank" rel = "noopener noreferrer" >
74
- { url . shortUrl }
75
- </ StyledLink >
80
+ < IconContainer >
81
+ < Icon icon = "copy" onClick = { ( ) => {
82
+ handleCopyClick ( import . meta. env . VITE_BASE_URL + url . shortUrl )
83
+ } } />
84
+ < StyledLink href = { import . meta. env . VITE_BASE_URL + url . shortUrl } target = "_blank"
85
+ rel = "noopener noreferrer" >
86
+ { url . shortUrl }
87
+ </ StyledLink >
88
+
89
+ </ IconContainer >
76
90
</ TableCell >
77
91
< TableCell >
78
92
< StyledLink href = { url . longUrl } target = "_blank" rel = "noopener noreferrer" >
@@ -82,7 +96,9 @@ export default function ShowAllUrls() {
82
96
< TableCell > { new Date ( url . createdAt ) . toLocaleString ( ) } </ TableCell >
83
97
< TableCell > { url . createdBy || "Unknown" } </ TableCell >
84
98
< TableCell > { url . clicks } </ TableCell >
85
- < TableCell > < Icon icon = "close" onClick = { ( ) => { handleDeleteClick ( url . id ) } } > </ Icon > </ TableCell >
99
+ < TableCell > < Icon icon = "close" onClick = { ( ) => {
100
+ handleDeleteClick ( url . id )
101
+ } } > </ Icon > </ TableCell >
86
102
</ TableRow >
87
103
) ) }
88
104
</ tbody >
0 commit comments