From 2657a9e63de3cda087302ed66019d239dae3a4eb Mon Sep 17 00:00:00 2001 From: Andy Aylward Date: Sun, 12 Oct 2025 14:43:37 -0400 Subject: [PATCH] [golf] clean up share button containers --- .../components/PermalinkDisplay.module.css | 3 -- src/apps/golf/components/PermalinkDisplay.tsx | 30 +++++---------- .../__tests__/PermalinkDisplay.test.tsx | 38 ++++--------------- 3 files changed, 17 insertions(+), 54 deletions(-) diff --git a/src/apps/golf/components/PermalinkDisplay.module.css b/src/apps/golf/components/PermalinkDisplay.module.css index 701e1fd..c59b99b 100644 --- a/src/apps/golf/components/PermalinkDisplay.module.css +++ b/src/apps/golf/components/PermalinkDisplay.module.css @@ -1,7 +1,4 @@ .permalinkDisplay { - background: rgba(255, 255, 255, 0.1); - border: 1px solid rgba(255, 255, 255, 0.2); - border-radius: 8px; padding: 12px; margin: 8px 0; } diff --git a/src/apps/golf/components/PermalinkDisplay.tsx b/src/apps/golf/components/PermalinkDisplay.tsx index 719627c..b178537 100644 --- a/src/apps/golf/components/PermalinkDisplay.tsx +++ b/src/apps/golf/components/PermalinkDisplay.tsx @@ -62,7 +62,7 @@ const PermalinkDisplay = ({ label, url, onCopy }: PermalinkDisplayProps) => { case 'error': return 'Failed' default: - return 'Copy Link' + return label } } @@ -81,26 +81,14 @@ const PermalinkDisplay = ({ label, url, onCopy }: PermalinkDisplayProps) => { return (
-
- {label} - -
-
- e.currentTarget.select()} - /> -
+
) } diff --git a/src/apps/golf/components/__tests__/PermalinkDisplay.test.tsx b/src/apps/golf/components/__tests__/PermalinkDisplay.test.tsx index 6040458..a676f45 100644 --- a/src/apps/golf/components/__tests__/PermalinkDisplay.test.tsx +++ b/src/apps/golf/components/__tests__/PermalinkDisplay.test.tsx @@ -46,9 +46,8 @@ describe('PermalinkDisplay', () => { describe('Rendering', () => { it('renders the component with label and URL', () => { render() - + expect(screen.getByText('Share Room')).toBeInTheDocument() - expect(screen.getByDisplayValue('https://example.com/golf/room/ABC123')).toBeInTheDocument() expect(screen.getByRole('button', { name: /copy share room/i })).toBeInTheDocument() }) @@ -57,26 +56,18 @@ describe('PermalinkDisplay', () => { label: 'Share Game', url: 'https://example.com/golf/room/ABC123/game/XYZ789' } - + render() - + expect(screen.getByText('Share Game')).toBeInTheDocument() - expect(screen.getByDisplayValue('https://example.com/golf/room/ABC123/game/XYZ789')).toBeInTheDocument() expect(screen.getByRole('button', { name: /copy share game/i })).toBeInTheDocument() }) it('renders copy button with initial text', () => { render() - - const copyButton = screen.getByRole('button', { name: /copy share room/i }) - expect(copyButton).toHaveTextContent('Copy Link') - }) - it('renders URL input as readonly', () => { - render() - - const urlInput = screen.getByDisplayValue(defaultProps.url) - expect(urlInput).toHaveAttribute('readonly') + const copyButton = screen.getByRole('button', { name: /copy share room/i }) + expect(copyButton).toHaveTextContent('Share Room') }) }) @@ -100,7 +91,7 @@ describe('PermalinkDisplay', () => { // Wait for reset await waitFor(() => { - expect(copyButton).toHaveTextContent('Copy Link') + expect(copyButton).toHaveTextContent('Share Room') }, { timeout: 3000 }) }) @@ -132,7 +123,7 @@ describe('PermalinkDisplay', () => { // Wait for reset await waitFor(() => { - expect(copyButton).toHaveTextContent('Copy Link') + expect(copyButton).toHaveTextContent('Share Room') }, { timeout: 3000 }) }) }) @@ -261,24 +252,11 @@ describe('PermalinkDisplay', () => { // Wait for the timeout to reset the button await waitFor(() => { - expect(copyButton).toHaveTextContent('Copy Link') + expect(copyButton).toHaveTextContent('Share Room') }, { timeout: 3000 }) }) }) - describe('URL Input Interactions', () => { - it('selects all text when URL input is clicked', () => { - render() - - const urlInput = screen.getByDisplayValue(defaultProps.url) as HTMLInputElement - const selectSpy = vi.spyOn(urlInput, 'select') - - fireEvent.click(urlInput) - - expect(selectSpy).toHaveBeenCalled() - }) - }) - describe('Accessibility', () => { it('has proper aria-label for copy button', () => { render()