@@ -34,10 +34,7 @@ export default function SelectVersion({
3434 }
3535 setConfig0 ( obj ) ;
3636 } ;
37-
3837 const [ tag , setTag ] = useState < string > ( configuration . tag ?? "" ) ;
39- const [ refreshing , setRefreshing ] = useState < boolean > ( false ) ;
40- const [ error , setError ] = useState < string > ( "" ) ;
4138 const [ tag_filesystem , set_tag_filesystem ] = useState < string > (
4239 configuration . tag_filesystem ?? "" ,
4340 ) ;
@@ -94,26 +91,7 @@ export default function SelectVersion({
9491
9592 return (
9693 < 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" } } />
11795 < SelectTag
11896 style = { { marginBottom : "5px" } }
11997 label = {
@@ -193,7 +171,7 @@ function toOption(x: {
193171 < Tooltip
194172 title = {
195173 < >
196- { x . tag ?? x . label ?? "" } { " " } { x . description ?? "" }
174+ { x . tag ?? x . label ?? "" } { x . description ?? "" }
197175 </ >
198176 }
199177 >
@@ -231,3 +209,31 @@ function SelectTag({ disabled, tag, setTag, options, label, style }) {
231209 </ div >
232210 ) ;
233211}
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