From b5b653a76f62a5d36f1c6c8cd6f2265a206e7e20 Mon Sep 17 00:00:00 2001 From: Alban Bailly Date: Fri, 25 Apr 2025 10:50:29 -0400 Subject: [PATCH 1/2] fix wrong history instance for bucket deep nav --- .../BucketDetail/BucketBreadcrumb.tsx | 22 ++++++++++++++----- .../BucketDetail/BucketDetail.tsx | 6 +---- .../BucketDetail/BucketProperties.tsx | 2 +- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketBreadcrumb.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketBreadcrumb.tsx index 1496d1a5dd6..9828f3474ef 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketBreadcrumb.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketBreadcrumb.tsx @@ -1,3 +1,4 @@ +import { useNavigate, useParams } from '@tanstack/react-router'; import * as React from 'react'; import { useWindowDimensions } from 'src/hooks/useWindowDimensions'; @@ -13,12 +14,15 @@ import { interface Props { bucketName: string; - history: any; prefix: string; } export const BucketBreadcrumb = (props: Props) => { - const { bucketName, history, prefix } = props; + const { bucketName, prefix } = props; + const navigate = useNavigate(); + const { clusterId } = useParams({ + from: '/object-storage/buckets/$clusterId/$bucketName', + }); const { width } = useWindowDimensions(); const bucketPath = bucketName + '/' + prefix; @@ -38,7 +42,11 @@ export const BucketBreadcrumb = (props: Props) => { {/* Bucket name */} { - history.push({ search: '?prefix=' }); + navigate({ + to: '/object-storage/buckets/$clusterId/$bucketName', + params: { clusterId, bucketName }, + search: { prefix: '' }, + }); }} variant="body1" > @@ -66,7 +74,11 @@ export const BucketBreadcrumb = (props: Props) => { } const prefixString = prefixArrayToString(prefixArray, idx); - history.push({ search: '?prefix=' + prefixString }); + navigate({ + to: '/object-storage/buckets/$clusterId/$bucketName', + params: { clusterId, bucketName }, + search: { prefix: prefixString }, + }); }} variant="body1" > @@ -76,7 +88,7 @@ export const BucketBreadcrumb = (props: Props) => { ); })} - + ); }; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.tsx index 9ee1fedde94..94145d5692e 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.tsx @@ -355,11 +355,7 @@ export const BucketDetail = () => { return ( <> - + { return ( <> - + {hostname} From 136cb3a9fd72723d6580f5fdd87e5c5a23753e15 Mon Sep 17 00:00:00 2001 From: Alban Bailly Date: Fri, 25 Apr 2025 11:00:38 -0400 Subject: [PATCH 2/2] Added changeset: OBJ bucket nested breadcrumb navigation --- packages/manager/.changeset/pr-12112-fixed-1745593237854.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 packages/manager/.changeset/pr-12112-fixed-1745593237854.md diff --git a/packages/manager/.changeset/pr-12112-fixed-1745593237854.md b/packages/manager/.changeset/pr-12112-fixed-1745593237854.md new file mode 100644 index 00000000000..e3eacc5a8f8 --- /dev/null +++ b/packages/manager/.changeset/pr-12112-fixed-1745593237854.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Fixed +--- + +OBJ bucket nested breadcrumb navigation ([#12112](https://github.com/linode/manager/pull/12112))