From d033fdc4a10b3b05813de1f4073a1b256059f12c Mon Sep 17 00:00:00 2001 From: David Crespo Date: Wed, 17 Apr 2024 17:17:15 -0500 Subject: [PATCH 1/4] fake refresh button --- app/components/RefreshButton.tsx | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/app/components/RefreshButton.tsx b/app/components/RefreshButton.tsx index aa59eb5bea..a17dad7423 100644 --- a/app/components/RefreshButton.tsx +++ b/app/components/RefreshButton.tsx @@ -6,14 +6,32 @@ * Copyright Oxide Computer Company */ +import { useState } from 'react' + import { Refresh16Icon } from '@oxide/design-system/icons/react' import { Button } from '~/ui/lib/Button' +import { SpinnerLoader } from '~/ui/lib/Spinner' +import { useTimeout } from '~/ui/lib/use-timeout' export function RefreshButton({ onClick }: { onClick: () => void }) { + // fake timer on fetching because it's too annoying to actually track it + const [refreshing, setRefreshing] = useState(false) + useTimeout(() => setRefreshing(false), refreshing ? 500 : null) + return ( - ) } From 5b489e1908d9d5b461759b209a76e25cfb5c2626 Mon Sep 17 00:00:00 2001 From: David Crespo Date: Wed, 17 Apr 2024 17:24:07 -0500 Subject: [PATCH 2/4] actually don't fake it! --- app/components/RefreshButton.tsx | 10 ++++------ app/pages/project/instances/InstancesPage.tsx | 2 +- .../project/instances/instance/InstancePage.tsx | 17 +++++++++++------ 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/app/components/RefreshButton.tsx b/app/components/RefreshButton.tsx index a17dad7423..009be6b462 100644 --- a/app/components/RefreshButton.tsx +++ b/app/components/RefreshButton.tsx @@ -12,20 +12,18 @@ import { Refresh16Icon } from '@oxide/design-system/icons/react' import { Button } from '~/ui/lib/Button' import { SpinnerLoader } from '~/ui/lib/Spinner' -import { useTimeout } from '~/ui/lib/use-timeout' -export function RefreshButton({ onClick }: { onClick: () => void }) { - // fake timer on fetching because it's too annoying to actually track it +export function RefreshButton({ onClick }: { onClick: () => Promise }) { const [refreshing, setRefreshing] = useState(false) - useTimeout(() => setRefreshing(false), refreshing ? 500 : null) return (