@@ -34,10 +34,7 @@ export default function SelectVersion({
34
34
}
35
35
setConfig0 ( obj ) ;
36
36
} ;
37
-
38
37
const [ tag , setTag ] = useState < string > ( configuration . tag ?? "" ) ;
39
- const [ refreshing , setRefreshing ] = useState < boolean > ( false ) ;
40
- const [ error , setError ] = useState < string > ( "" ) ;
41
38
const [ tag_filesystem , set_tag_filesystem ] = useState < string > (
42
39
configuration . tag_filesystem ?? "" ,
43
40
) ;
@@ -94,26 +91,7 @@ export default function SelectVersion({
94
91
95
92
return (
96
93
< div style = { style } >
97
- < Button
98
- size = "small"
99
- style = { { float : "right" } }
100
- onClick = { async ( ) => {
101
- try {
102
- setError ( "" ) ;
103
- setRefreshing ( true ) ;
104
- await forceRefreshImages ( ) ;
105
- } catch ( err ) {
106
- setError ( `${ err } ` ) ;
107
- } finally {
108
- setRefreshing ( false ) ;
109
- }
110
- } }
111
- disabled = { refreshing }
112
- >
113
- < Icon name = "refresh" /> Refresh{ refreshing ? "ing..." : "" } Images
114
- { refreshing && < Spin style = { { marginLeft : "10px" } } /> }
115
- </ Button >
116
- < ShowError error = { error } setError = { setError } />
94
+ < RefreshImagesButton size = { "small" } style = { { float : "right" } } />
117
95
< SelectTag
118
96
style = { { marginBottom : "5px" } }
119
97
label = {
@@ -193,7 +171,7 @@ function toOption(x: {
193
171
< Tooltip
194
172
title = {
195
173
< >
196
- { x . tag ?? x . label ?? "" } { " " } { x . description ?? "" }
174
+ { x . tag ?? x . label ?? "" } { x . description ?? "" }
197
175
</ >
198
176
}
199
177
>
@@ -231,3 +209,31 @@ function SelectTag({ disabled, tag, setTag, options, label, style }) {
231
209
</ div >
232
210
) ;
233
211
}
212
+
213
+ export function RefreshImagesButton ( { size, style } : { size ?; style ? } ) {
214
+ const [ refreshing , setRefreshing ] = useState < boolean > ( false ) ;
215
+ const [ error , setError ] = useState < string > ( "" ) ;
216
+ return (
217
+ < div style = { style } >
218
+ < Button
219
+ size = { size }
220
+ onClick = { async ( ) => {
221
+ try {
222
+ setError ( "" ) ;
223
+ setRefreshing ( true ) ;
224
+ await forceRefreshImages ( ) ;
225
+ } catch ( err ) {
226
+ setError ( `${ err } ` ) ;
227
+ } finally {
228
+ setRefreshing ( false ) ;
229
+ }
230
+ } }
231
+ disabled = { refreshing }
232
+ >
233
+ < Icon name = "refresh" /> Refresh{ refreshing ? "ing..." : "" } Images
234
+ { refreshing && < Spin style = { { marginLeft : "10px" } } /> }
235
+ </ Button >
236
+ < ShowError error = { error } setError = { setError } />
237
+ </ div >
238
+ ) ;
239
+ }
0 commit comments