fix: update BreadcrumbBar component to correctly assign keys and enhance error handling in EnterpriseDetailPageProvider

This commit is contained in:
Firman Ramdhani
2026-07-16 10:51:06 +07:00
parent 9b09938a50
commit ed6e8f31ee
2 changed files with 12 additions and 12 deletions
@@ -80,7 +80,6 @@ function BreadcrumbBar({ breadcrumbs }: BreadcrumbBarProps) {
const isText = item.type === 'text';
const isLast = index === breadcrumbs.length - 1;
const sharedProps = {
key: index,
c: !isLast ? ('dimmed' as const) : undefined,
size: 'xs' as const,
fw: 500,
@@ -92,11 +91,13 @@ function BreadcrumbBar({ breadcrumbs }: BreadcrumbBarProps) {
};
return !isText ? (
<Anchor {...sharedProps} href={item.href}>
<Anchor key={index} {...sharedProps} href={item.href}>
{item.label}
</Anchor>
) : (
<Text {...sharedProps}>{item.label}</Text>
<Text key={index} {...sharedProps}>
{item.label}
</Text>
);
})}
</Breadcrumbs>
@@ -79,13 +79,12 @@ export function EnterpriseDetailPageProvider<E extends BaseEntity = BaseEntity>(
setDetailData(data as E);
if (onDetailLoaded) onDetailLoaded(data as E);
}
} catch (error) {
// FIXME => remove this example later;
const data = { id: 1, code: 'ABCD-0001', status: 'open' } as any;
setDetailData(data as E);
if (onDetailLoaded) onDetailLoaded(data as E);
console.error('Failed to load detail data', error);
} catch (error: any) {
notifications.show({
title: t('common:notifications.errorTitle'),
message: error?.message,
color: 'red',
});
} finally {
setIsLoading(false);
}
@@ -202,7 +201,7 @@ export function EnterpriseDetailPageProvider<E extends BaseEntity = BaseEntity>(
: currentConfig?.successMessage;
notifications.show({
title: t('common:notifications.successTitle', { defaultValue: 'Success' }),
title: t('common:notifications.successTitle'),
message: customSuccessMessage || defaultSuccessMessage,
color: 'teal',
});
@@ -227,7 +226,7 @@ export function EnterpriseDetailPageProvider<E extends BaseEntity = BaseEntity>(
: currentConfig?.errorMessage;
notifications.show({
title: t('common:notifications.errorTitle', { defaultValue: 'Error' }),
title: t('common:notifications.errorTitle'),
message: customErrorMessage || defaultErrorMessage,
color: 'red',
});