Skip to content

Commit 91b6534

Browse files
committed
revert: Show restart button in the top bar
This reverts commit ac89a54.
1 parent d068c96 commit 91b6534

File tree

4 files changed

+18
-56
lines changed

4 files changed

+18
-56
lines changed

src/components/Breadcrumbs.tsx

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,12 @@
1-
import { RestartButton } from '@/components/RestartButton';
2-
import { isLocalStudio } from '@/config/constants';
3-
import { useInstanceClientIdParams } from '@/config/useInstanceClient';
41
import { Cluster, Instance, Organization } from '@/lib/api.patch';
52
import { capitalizeWords } from '@/lib/string/capitalizeWords';
6-
import { Link, useLocation, useParams, useRouteContext } from '@tanstack/react-router';
3+
import { Link, useLocation, useRouteContext } from '@tanstack/react-router';
74
import { HomeIcon } from 'lucide-react';
85
import { useMemo } from 'react';
96

10-
export function Breadcrumbs({ restartRequired }: { restartRequired?: boolean }) {
7+
export function Breadcrumbs() {
118
const location = useLocation();
12-
const { instanceId }: { instanceId?: string; clusterId: string; } = useParams({ strict: false });
13-
const targetNoun = (instanceId || isLocalStudio) ? 'Instance' : 'Cluster';
14-
const instanceParams = useInstanceClientIdParams();
15-
16-
const { organization, instance, cluster }: {
17-
organization?: Organization;
18-
instance?: Instance;
19-
cluster?: Cluster
20-
} = useRouteContext({ strict: false });
21-
9+
const { organization, instance, cluster }: { organization?: Organization; instance?: Instance; cluster?: Cluster } = useRouteContext({ strict: false });
2210
const breadcrumbs = useMemo(() => {
2311
const routeHistory = location.pathname.split('/')
2412
.filter((x) => x && x.length > 0);
@@ -79,14 +67,6 @@ export function Breadcrumbs({ restartRequired }: { restartRequired?: boolean })
7967
return (
8068
<div role="list" className="flex items-center space-x-0 lg:space-x-2 xl:space-x-4 sm:max-w-9/10 max-w-[calc(100%-56px)]">
8169
{...breadcrumbs}
82-
{restartRequired && <RestartButton
83-
className="animate-glow-pulse"
84-
targetNoun={targetNoun}
85-
instanceClient={instanceParams.instanceClient}
86-
operation="restart"
87-
hideText={true}
88-
tooltip={`This ${targetNoun} is requesting a restart, when convenient, to apply your latest changes.`}
89-
/>}
9070
</div>
9171
);
9272
}

src/components/RestartButton.tsx

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,19 @@ import { cx, VariantProps } from 'class-variance-authority';
88
import { RotateCcwIcon } from 'lucide-react';
99

1010
interface RestartButtonParams extends InstanceClientConfig, VariantProps<typeof buttonVariants> {
11+
targetNoun: 'Instance' | 'Cluster';
12+
operation: 'restart_service' | 'restart';
1113
className?: string;
1214
disabled?: boolean;
13-
hideText?: boolean;
14-
operation: 'restart_service' | 'restart';
15-
targetNoun: 'Instance' | 'Cluster';
16-
tooltip?: string;
1715
}
1816

1917
export function RestartButton({
20-
className,
21-
disabled,
22-
hideText,
18+
targetNoun,
2319
instanceClient,
2420
operation,
25-
targetNoun,
26-
tooltip,
2721
variant,
22+
className,
23+
disabled,
2824
}: RestartButtonParams) {
2925
const {
3026
onRestartClick: onRestartClusterClick,
@@ -40,15 +36,13 @@ export function RestartButton({
4036
disabled={disabled || isRestartPending || isRestartClusterPending}
4137
>
4238
<RotateCcwIcon />
43-
{hideText !== true && <span className="hidden md:inline-block">Restart {targetNoun}</span>}
39+
<span className="hidden md:inline-block">Restart {targetNoun}</span>
4440
</Button>
4541
</TooltipTrigger>
4642
<TooltipContent>
47-
{tooltip
48-
? tooltip
49-
: operation === 'restart_service'
50-
? 'Restarts all service threads to apply changes. No downtime expected. Performance may be briefly slower during restart.'
51-
: 'This fully restarts the Harper service and causes downtime.'}
43+
{operation === 'restart_service'
44+
? 'Restarts all service threads to apply changes. No downtime expected. Performance may be briefly slower during restart.'
45+
: 'This fully restarts the Harper service and causes downtime.'}
5246
</TooltipContent>
5347
</Tooltip>);
5448
}

src/features/instance/InstanceNavBar.tsx

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,11 @@ import {
88
DropdownMenuSeparator,
99
DropdownMenuTrigger,
1010
} from '@/components/ui/dropdownMenu';
11-
import { useInstanceClientIdParams } from '@/config/useInstanceClient';
1211
import { RegistrationInfoResponse } from '@/features/instance/operations/queries/getRegistrationInfo';
13-
import { getStatusQueryOptions } from '@/features/instance/operations/queries/getStatus';
1412
import { useInstanceManagePermission } from '@/hooks/usePermissions';
1513
import { excludeFalsy } from '@/lib/arrays/excludeFalsy';
1614
import { wasAReleasedBeforeB } from '@/lib/string/wasAReleasedBeforeB';
1715
import { buildAbsoluteLinkToPage } from '@/lib/urls/buildAbsoluteLinkToPage';
18-
import { useQuery } from '@tanstack/react-query';
1916
import { Link, useLoaderData, useParams } from '@tanstack/react-router';
2017
import { DatabaseIcon, GaugeIcon, Menu, NotepadTextIcon, PackageIcon, ServerIcon, SettingsIcon } from 'lucide-react';
2118
import { ReactNode, useMemo } from 'react';
@@ -33,11 +30,6 @@ export function InstanceNavBar() {
3330
const canManage = useInstanceManagePermission();
3431
const params = useParams({ strict: false });
3532

36-
37-
const instanceParams = useInstanceClientIdParams();
38-
const { data: statusData } = useQuery(getStatusQueryOptions(instanceParams));
39-
const restartRequired = statusData?.restartRequired ?? false;
40-
4133
const { version }: RegistrationInfoResponse = useLoaderData({ strict: false });
4234
const apisAvailable = wasAReleasedBeforeB('4.7.0-beta.7', version);
4335
const statusAvailable = wasAReleasedBeforeB('4.6.0', version);
@@ -78,16 +70,16 @@ export function InstanceNavBar() {
7870
].filter(excludeFalsy) satisfies Link[], [canManage, params, apisAvailable, statusAvailable]);
7971
return (
8072
<>
81-
<DesktopInstanceNavBar links={links} restartRequired={restartRequired} />
82-
<MobileInstanceNavBar links={links} restartRequired={restartRequired} />
73+
<DesktopInstanceNavBar links={links} />
74+
<MobileInstanceNavBar links={links} />
8375
</>
8476
);
8577
}
8678

87-
function DesktopInstanceNavBar({ links, restartRequired }: { links: Link[], restartRequired: boolean }) {
79+
function DesktopInstanceNavBar({ links }: { links: Link[] }) {
8880
return (
8981
<div className="hidden md:flex items-center justify-between h-full text-sm text-white">
90-
<Breadcrumbs restartRequired={restartRequired} />
82+
<Breadcrumbs />
9183
<div className="flex space-x-2">
9284
{links.map(({ shortName, ...link }) => (
9385
<Link
@@ -108,11 +100,11 @@ function DesktopInstanceNavBar({ links, restartRequired }: { links: Link[], rest
108100
);
109101
}
110102

111-
function MobileInstanceNavBar({ links, restartRequired }: { links: Link[], restartRequired: boolean }) {
103+
function MobileInstanceNavBar({ links }: { links: Link[] }) {
112104
return (
113105
<>
114106
<div className="flex md:hidden items-center justify-between p-2 text-white">
115-
<Breadcrumbs restartRequired={restartRequired} />
107+
<Breadcrumbs />
116108
<DropdownMenu>
117109
<DropdownMenuTrigger asChild>
118110
<Button variant="ghost" className="p-0">

src/features/instance/operations/queries/getStatus.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,6 @@ interface StatusResponse {
4040
export function getStatusQueryOptions({ entityId, instanceClient }: InstanceClientIdConfig) {
4141
return queryOptions({
4242
queryKey: [entityId, 'get_status'] as const,
43-
staleTime: 9_000,
44-
refetchInterval: 10_000,
45-
retryDelay: 10_000,
46-
throwOnError: false,
4743
queryFn: async () => {
4844
const { data } = await instanceClient.post<StatusResponse>('/', {
4945
operation: 'get_status',

0 commit comments

Comments
 (0)