diff --git a/src/components/RenameHeader.tsx b/src/components/RenameHeader.tsx index e497e37c9..120b0c87a 100644 --- a/src/components/RenameHeader.tsx +++ b/src/components/RenameHeader.tsx @@ -36,6 +36,7 @@ const RenameHeader: FC = ({ }) => { const canRename = renameDisabledReason === undefined; const enableRename = () => { + window.dispatchEvent(new Event("resize")); if (!canRename || !formik) { return; } @@ -48,76 +49,73 @@ const RenameHeader: FC = ({ return (

{name}

- {isLoaded ? ( -
-
+ + ) : ( +
  • + + {name} + +
  • + )} + + + {!formik?.values.isRenaming && centerControls} +
    {isLoaded && !formik?.values.isRenaming && (
    {controls}
    )} diff --git a/src/pages/instances/InstanceDetail.tsx b/src/pages/instances/InstanceDetail.tsx index 154e79fe7..9fb94e77d 100644 --- a/src/pages/instances/InstanceDetail.tsx +++ b/src/pages/instances/InstanceDetail.tsx @@ -54,6 +54,7 @@ const InstanceDetail: FC = () => { name={name} instance={instance} project={project} + isLoading={isLoading} /> } contentClassName="detail-page" diff --git a/src/pages/instances/InstanceDetailHeader.tsx b/src/pages/instances/InstanceDetailHeader.tsx index c8481e5d8..12de39058 100644 --- a/src/pages/instances/InstanceDetailHeader.tsx +++ b/src/pages/instances/InstanceDetailHeader.tsx @@ -21,9 +21,15 @@ interface Props { name: string; instance?: LxdInstance; project: string; + isLoading: boolean; } -const InstanceDetailHeader: FC = ({ name, instance, project }) => { +const InstanceDetailHeader: FC = ({ + name, + instance, + project, + isLoading, +}) => { const eventQueue = useEventQueue(); const navigate = useNavigate(); const toastNotify = useToastNotification(); @@ -87,33 +93,39 @@ const InstanceDetailHeader: FC = ({ name, instance, project }) => { }); return ( - - Instances - , - ]} - renameDisabledReason={ - instance?.status !== "Stopped" - ? "Stop the instance to rename" - : undefined - } - centerControls={ - instance ? ( -
    - {instance.status} - -
    - ) : null - } - controls={ - instance ? : null - } - isLoaded={Boolean(instance)} - formik={formik} - /> + !isLoading && ( + + Instances + , + ]} + renameDisabledReason={ + !instance + ? "Invalid Instance: Cannot be renamed" + : instance?.status !== "Stopped" + ? "Stop the instance to rename" + : undefined + } + centerControls={ + instance ? ( +
    + {instance.status} + +
    + ) : null + } + controls={ + instance ? ( + + ) : null + } + isLoaded={Boolean(instance)} + formik={formik} + /> + ) ); }; diff --git a/src/sass/_rename_header.scss b/src/sass/_rename_header.scss index b27766242..e1798fa29 100644 --- a/src/sass/_rename_header.scss +++ b/src/sass/_rename_header.scss @@ -24,7 +24,7 @@ $colors--light-theme--background-hover, $colors--light-theme--background-hover ) - no-repeat 1rem; + no-repeat; } } diff --git a/src/sass/styles.scss b/src/sass/styles.scss index caf8d324e..43c6475d6 100644 --- a/src/sass/styles.scss +++ b/src/sass/styles.scss @@ -202,6 +202,10 @@ body { .p-breadcrumbs__items { margin-bottom: 0; + + .continuous-breadcrumb { + display: inline; + } } .p-breadcrumbs__item { @@ -213,6 +217,19 @@ body { padding-top: 0; } + .continuous-breadcrumb::after { + content: "/"; + padding: 0 5px; // Adjust spacing as needed + } + + .continuous-breadcrumb:last-child::after { + content: ""; // Remove the slash from the last item + } + + .p-breadcrumbs__item::before { + content: none; + } + .p-breadcrumbs__item:first-of-type { margin-right: $sph--x-small; }