diff --git a/packages/client/src/feedback.test.ts b/packages/client/src/feedback.test.ts index 50b5fec..135d629 100644 --- a/packages/client/src/feedback.test.ts +++ b/packages/client/src/feedback.test.ts @@ -245,6 +245,34 @@ describe('feedback overlay', () => { expect(pushSpy.mock.calls[0]?.[2]).not.toHaveProperty('url') }) + it('shows a context-first status when screenshot support is disabled in config', async () => { + initFeedback( + resolveConfig({ + endpoint: '/api/test-feedback', + feedback: { + enabled: true, + annotations: false, + allowScreenshotToggle: false, + allowContextToggle: true, + defaultIncludeScreenshot: false, + defaultIncludeContext: true, + }, + }), + ) + + const target = createTarget() + + showFeedbackDialog(target, 120, 80) + await flushUi() + + const status = document.getElementById('__sf_status') as HTMLDivElement + const detailsToggle = document.getElementById('__sf_details_toggle') as HTMLButtonElement + + expect(status.textContent).toBe('Page context will be attached to this report.') + expect(detailsToggle.textContent).toContain('Context on') + expect(detailsToggle.textContent).not.toContain('Screenshot') + }) + it('expands and collapses the details disclosure', async () => { const target = createTarget() diff --git a/packages/client/src/feedback.ts b/packages/client/src/feedback.ts index 1a0d132..df61782 100644 --- a/packages/client/src/feedback.ts +++ b/packages/client/src/feedback.ts @@ -532,7 +532,13 @@ export function showFeedbackDialog( } if (!snapshot.includeScreenshot) { - updateStatus('Screenshot will be skipped for this report.') + updateStatus( + screenshotControlVisible + ? 'Screenshot will be skipped for this report.' + : snapshot.includeContext + ? 'Page context will be attached to this report.' + : '', + ) schedulePosition() return }