From f7ae3104ea5594829ddb645ae2c38e0b3e5aefd3 Mon Sep 17 00:00:00 2001 From: Thibault Le Ouay Date: Wed, 10 Apr 2024 17:05:22 +0200 Subject: [PATCH] fix: status widget rerendering --- .../(marketing)/status-widget-container.tsx | 2 +- .../src/components/(marketing)/status-widget.tsx | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/apps/marketing/src/components/(marketing)/status-widget-container.tsx b/apps/marketing/src/components/(marketing)/status-widget-container.tsx index 025c2df56..71fbec9cb 100644 --- a/apps/marketing/src/components/(marketing)/status-widget-container.tsx +++ b/apps/marketing/src/components/(marketing)/status-widget-container.tsx @@ -6,7 +6,7 @@ import { StatusWidget } from './status-widget'; export function StatusWidgetContainer() { return ( }> - + ); } diff --git a/apps/marketing/src/components/(marketing)/status-widget.tsx b/apps/marketing/src/components/(marketing)/status-widget.tsx index 1c94c0707..0b6b8aaa6 100644 --- a/apps/marketing/src/components/(marketing)/status-widget.tsx +++ b/apps/marketing/src/components/(marketing)/status-widget.tsx @@ -1,7 +1,6 @@ -import { use, useMemo } from 'react'; +import { memo, use } from 'react'; -import type { Status } from '@openstatus/react'; -import { getStatus } from '@openstatus/react'; +import { type Status, getStatus } from '@openstatus/react'; import { cn } from '@documenso/ui/lib/utils'; @@ -45,9 +44,8 @@ const getStatusLevel = (level: Status) => { }[level]; }; -export function StatusWidget() { - const getStatusMemoized = useMemo(async () => getStatus('documenso-status'), []); - const { status } = use(getStatusMemoized); +export const StatusWidget = memo(function StatusWidget({ slug }: { slug: string }) { + const { status } = use(getStatus(slug)); const level = getStatusLevel(status); return ( @@ -72,4 +70,4 @@ export function StatusWidget() { ); -} +});