1- import { useEffect , useState } from 'react' ;
2- import { Status } from '@bull-board/api/typings/app' ;
31import { STATUSES } from '@bull-board/api/src/constants/statuses' ;
2+ import { Status } from '@bull-board/api/typings/app' ;
3+ import { useEffect , useState } from 'react' ;
44import { useSettingsStore } from './useSettings' ;
55
66export const availableJobTabs = [ 'Data' , 'Options' , 'Logs' , 'Error' ] as const ;
77
88export type TabsType = ( typeof availableJobTabs ) [ number ] ;
99
10- export function useDetailsTabs ( currentStatus : Status , isJobFailed : boolean ) {
10+ export function useDetailsTabs ( currentStatus : Status ) {
1111 const [ tabs , updateTabs ] = useState < TabsType [ ] > ( [ ] ) ;
1212 const { defaultJobTab } = useSettingsStore ( ) ;
1313
@@ -16,18 +16,18 @@ export function useDetailsTabs(currentStatus: Status, isJobFailed: boolean) {
1616 ) ;
1717
1818 useEffect ( ( ) => {
19- let nextState : TabsType [ ] = availableJobTabs . filter ( ( tab ) => tab !== 'Error' ) ;
20- if ( isJobFailed ) {
21- nextState = [ ... nextState , 'Error' ] ;
22- } else if ( currentStatus === STATUSES . failed ) {
23- nextState = [ 'Error' , ...nextState ] ;
19+ let nextTabs : TabsType [ ] = availableJobTabs . filter ( ( tab ) => tab !== 'Error' ) ;
20+ if ( currentStatus === STATUSES . failed ) {
21+ nextTabs = [ 'Error' , ... nextTabs ] ;
22+ } else {
23+ nextTabs = [ ...nextTabs , 'Error' ] ;
2424 }
2525
26- updateTabs ( nextState ) ;
26+ updateTabs ( nextTabs ) ;
2727 } , [ currentStatus ] ) ;
2828
2929 useEffect ( ( ) => {
30- if ( ! tabs . includes ( defaultJobTab ) ) {
30+ if ( ! tabs . includes ( defaultJobTab ) || currentStatus === STATUSES . failed ) {
3131 setSelectedTab ( tabs [ 0 ] ) ;
3232 } else {
3333 setSelectedTab ( defaultJobTab ) ;
0 commit comments