Skip to content

Commit

Permalink
Breadcrumbs display name support
Browse files Browse the repository at this point in the history
  • Loading branch information
Elson9 committed Jun 19, 2024
1 parent 3ebeada commit b29a5dc
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 19 deletions.
30 changes: 22 additions & 8 deletions src/nextapp/shared/hooks/use-namespace-breadcrumbs.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { useAuth } from '@/shared/services/auth';
import useCurrentNamespace from '@/shared/hooks/use-current-namespace';

type Breadcrumb = {
href?: string;
Expand All @@ -8,14 +8,28 @@ type Breadcrumb = {
const useNamespaceBreadcrumbs = (
appendedBreadcrumbs: Breadcrumb[] = []
): Breadcrumb[] => {
const { user } = useAuth();
const namespace = useCurrentNamespace();

if (user) {
return [
{ href: '/manager/gateways', text: 'My Gateways' },
{ href: '/manager/namespaces', text: `Gateway (${user.namespace})` },
...appendedBreadcrumbs,
];
if (namespace.isSuccess && !namespace.isFetching) {
if (namespace.data?.currentNamespace?.displayName) {
return [
{ href: '/manager/gateways', text: 'My Gateways' },
{
href: '/manager/namespaces',
text: `${namespace.data?.currentNamespace?.displayName}`,
},
...appendedBreadcrumbs,
];
} else {
return [
{ href: '/manager/gateways', text: 'My Gateways' },
{
href: '/manager/namespaces',
text: `${namespace.data?.currentNamespace?.name}`,
},
...appendedBreadcrumbs,
];
}
}

return appendedBreadcrumbs;
Expand Down
26 changes: 15 additions & 11 deletions src/nextapp/shared/hooks/use-namespace-root-breadcrumbs.ts
Original file line number Diff line number Diff line change
@@ -1,24 +1,28 @@
import { useAuth } from '@/shared/services/auth';
import useCurrentNamespace from '@/shared/hooks/use-current-namespace';

type Breadcrumb = {
href?: string;
text: string;
};

const useNamespaceRootBreadcrumbs = (): Breadcrumb[] => {
const { user } = useAuth();
const namespace = useCurrentNamespace();

if (user && user.namespace) {
return [
{ href: '/manager/gateways', text: 'My Gateways' },
{ text: `Gateway (${user.namespace})` },
];
if (namespace.isSuccess && !namespace.isFetching) {
if (namespace.data?.currentNamespace?.displayName) {
return [
{ href: '/manager/gateways', text: 'My Gateways' },
{ text: `${namespace.data?.currentNamespace?.displayName}` },
];
} else {
return [
{ href: '/manager/gateways', text: 'My Gateways' },
{ text: `${namespace.data?.currentNamespace?.name}` },
];
}
}

return [
{ href: '/manager/gateways', text: 'My Gateways' },
{ text: 'Gateway' },
];
return [{ href: '/manager/gateways', text: 'My Gateways' }];
};

export default useNamespaceRootBreadcrumbs;

0 comments on commit b29a5dc

Please sign in to comment.