Skip to content

Commit 7cad06e

Browse files
committed
fix: failed status should show Error tab at start
1 parent c47af53 commit 7cad06e

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

packages/ui/src/components/JobCard/Details/Details.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ interface DetailsProps {
1313
}
1414

1515
export const Details = ({ status, job, actions }: DetailsProps) => {
16-
const { tabs, selectedTab } = useDetailsTabs(status, job.isFailed);
16+
const { tabs, selectedTab } = useDetailsTabs(status);
1717
const { t } = useTranslation();
1818

1919
if (tabs.length === 0) {

packages/ui/src/hooks/useDetailsTabs.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import { useEffect, useState } from 'react';
2-
import { Status } from '@bull-board/api/typings/app';
31
import { STATUSES } from '@bull-board/api/src/constants/statuses';
2+
import { Status } from '@bull-board/api/typings/app';
3+
import { useEffect, useState } from 'react';
44
import { useSettingsStore } from './useSettings';
55

66
export const availableJobTabs = ['Data', 'Options', 'Logs', 'Error'] as const;
77

88
export 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

Comments
 (0)