@@ -24,6 +24,7 @@ import { createApiClient } from "@app/lib/api";
24
24
import { useEnvContext } from "@app/hooks/useEnvContext" ;
25
25
import moment from "moment" ;
26
26
import { ApiKeysDataTable } from "./ApiKeysDataTable" ;
27
+ import { useTranslations } from "next-intl" ;
27
28
28
29
export type ApiKeyRow = {
29
30
id : string ;
@@ -45,14 +46,16 @@ export default function ApiKeysTable({ apiKeys }: ApiKeyTableProps) {
45
46
46
47
const api = createApiClient ( useEnvContext ( ) ) ;
47
48
49
+ const t = useTranslations ( ) ;
50
+
48
51
const deleteSite = ( apiKeyId : string ) => {
49
52
api . delete ( `/api-key/${ apiKeyId } ` )
50
53
. catch ( ( e ) => {
51
- console . error ( "Error deleting API key" , e ) ;
54
+ console . error ( t ( 'apiKeysErrorDelete' ) , e ) ;
52
55
toast ( {
53
56
variant : "destructive" ,
54
- title : "Error deleting API key" ,
55
- description : formatAxiosError ( e , "Error deleting API key" )
57
+ title : t ( 'apiKeysErrorDelete' ) ,
58
+ description : formatAxiosError ( e , t ( 'apiKeysErrorDeleteMessage' ) )
56
59
} ) ;
57
60
} )
58
61
. then ( ( ) => {
@@ -86,15 +89,15 @@ export default function ApiKeysTable({ apiKeys }: ApiKeyTableProps) {
86
89
setSelected ( apiKeyROw ) ;
87
90
} }
88
91
>
89
- < span > View settings </ span >
92
+ < span > { t ( 'viewSettings' ) } </ span >
90
93
</ DropdownMenuItem >
91
94
< DropdownMenuItem
92
95
onClick = { ( ) => {
93
96
setSelected ( apiKeyROw ) ;
94
97
setIsDeleteModalOpen ( true ) ;
95
98
} }
96
99
>
97
- < span className = "text-red-500" > Delete </ span >
100
+ < span className = "text-red-500" > { t ( 'delete' ) } </ span >
98
101
</ DropdownMenuItem >
99
102
</ DropdownMenuContent >
100
103
</ DropdownMenu >
@@ -111,7 +114,7 @@ export default function ApiKeysTable({ apiKeys }: ApiKeyTableProps) {
111
114
column . toggleSorting ( column . getIsSorted ( ) === "asc" )
112
115
}
113
116
>
114
- Name
117
+ { t ( 'name' ) }
115
118
< ArrowUpDown className = "ml-2 h-4 w-4" />
116
119
</ Button >
117
120
) ;
@@ -141,7 +144,7 @@ export default function ApiKeysTable({ apiKeys }: ApiKeyTableProps) {
141
144
< div className = "flex items-center justify-end" >
142
145
< Link href = { `/admin/api-keys/${ r . id } ` } >
143
146
< Button variant = { "outlinePrimary" } className = "ml-2" >
144
- Edit
147
+ { t ( 'edit' ) }
145
148
< ArrowRight className = "ml-2 w-4 h-4" />
146
149
</ Button >
147
150
</ Link >
@@ -163,27 +166,24 @@ export default function ApiKeysTable({ apiKeys }: ApiKeyTableProps) {
163
166
dialog = {
164
167
< div className = "space-y-4" >
165
168
< p >
166
- Are you sure you want to remove the API key{ " " }
167
- < b > { selected ?. name || selected ?. id } </ b > ?
169
+ { t ( 'apiKeysQuestionRemove' , { selectedApiKey : selected ?. name || selected ?. id } ) }
168
170
</ p >
169
171
170
172
< p >
171
173
< b >
172
- Once removed, the API key will no longer be
173
- able to be used.
174
+ { t ( 'apiKeysMessageRemove' ) }
174
175
</ b >
175
176
</ p >
176
177
177
178
< p >
178
- To confirm, please type the name of the API key
179
- below.
179
+ { t ( 'apiKeysMessageConfirm' ) }
180
180
</ p >
181
181
</ div >
182
182
}
183
- buttonText = "Confirm Delete API Key"
183
+ buttonText = { t ( 'apiKeysDeleteConfirm' ) }
184
184
onConfirm = { async ( ) => deleteSite ( selected ! . id ) }
185
185
string = { selected . name }
186
- title = "Delete API Key"
186
+ title = { t ( 'apiKeysDelete' ) }
187
187
/>
188
188
) }
189
189
0 commit comments