diff --git a/packages/next/src/client/components/react-dev-overlay/_experimental/internal/components/Errors/dev-tools-indicator/internal/next-logo.stories.tsx b/packages/next/src/client/components/react-dev-overlay/_experimental/internal/components/Errors/dev-tools-indicator/internal/next-logo.stories.tsx index 55f4c3881c397..5fda7e623a357 100644 --- a/packages/next/src/client/components/react-dev-overlay/_experimental/internal/components/Errors/dev-tools-indicator/internal/next-logo.stories.tsx +++ b/packages/next/src/client/components/react-dev-overlay/_experimental/internal/components/Errors/dev-tools-indicator/internal/next-logo.stories.tsx @@ -1,5 +1,6 @@ import type { Meta, StoryObj } from '@storybook/react' import { NextLogo } from './next-logo' +import { withShadowPortal } from '../../../../storybook/with-shadow-portal' const meta: Meta = { component: NextLogo, @@ -7,8 +8,9 @@ const meta: Meta = { layout: 'centered', }, args: { - onClick: () => alert('Clicked!'), + onClick: () => console.log('Clicked!'), }, + decorators: [withShadowPortal], } export default meta @@ -69,3 +71,11 @@ export const Rendering: Story = { isDevRendering: true, }, } + +export const RenderingWithError: Story = { + args: { + issueCount: 1, + isDevBuilding: false, + isDevRendering: true, + }, +} diff --git a/packages/next/src/client/components/react-dev-overlay/_experimental/internal/components/Errors/dev-tools-indicator/internal/next-logo.tsx b/packages/next/src/client/components/react-dev-overlay/_experimental/internal/components/Errors/dev-tools-indicator/internal/next-logo.tsx index 2953d5158ef46..31357dd8b0b74 100644 --- a/packages/next/src/client/components/react-dev-overlay/_experimental/internal/components/Errors/dev-tools-indicator/internal/next-logo.tsx +++ b/packages/next/src/client/components/react-dev-overlay/_experimental/internal/components/Errors/dev-tools-indicator/internal/next-logo.tsx @@ -1,7 +1,7 @@ import { useEffect, useState } from 'react' import { noop as css } from '../../../../../../internal/helpers/noop-template' -interface Props extends React.ComponentProps<'svg'> { +interface Props extends React.ComponentProps<'button'> { issueCount: number onClick: () => void isDevBuilding: boolean @@ -16,6 +16,7 @@ export const NextLogo = ({ ...props }: Props) => { const [isLoading, setIsLoading] = useState(false) + const [isPressed, setIsPressed] = useState(false) // Only shows the loading state after a 200ms delay when building or rendering, // to avoid flashing the loading state for quick updates @@ -31,47 +32,71 @@ export const NextLogo = ({ }, [isDevBuilding, isDevRendering]) return ( -
+