feat(web): preview composer image attachments (#1322)

* feat(web): preview composer image attachments

* fix(web): address composer preview review
This commit is contained in:
Ananovo
2026-08-03 18:04:51 +08:00
committed by GitHub
parent 0f78bfdc9a
commit 2be5a07aae
6 changed files with 266 additions and 161 deletions
+18
View File
@@ -40,4 +40,22 @@ describe('ImagePreview gallery navigation', () => {
fireEvent.keyDown(window, { key: 'ArrowLeft' })
expect(screen.getByRole('dialog', { name: 'First image' })).toBeInTheDocument()
})
it('keeps named galleries separate from ungrouped previews', () => {
render(
<>
<ImagePreview src="/sent.png" fileName="sent.png" label="Sent image" />
<ImagePreview src="/draft-one.png" fileName="draft-one.png" label="First draft" galleryId="composer-attachments" />
<ImagePreview src="/draft-two.png" fileName="draft-two.png" label="Second draft" galleryId="composer-attachments" />
</>
)
fireEvent.click(screen.getByRole('button', { name: /first draft/i }))
const dialog = screen.getByRole('dialog', { name: 'First draft' })
expect(within(dialog).getByText('1 / 2')).toBeInTheDocument()
fireEvent.click(within(dialog).getByRole('button', { name: 'Next image' }))
expect(screen.getByRole('dialog', { name: 'Second draft' })).toBeInTheDocument()
expect(within(screen.getByRole('dialog')).queryByRole('img', { name: 'Sent image' })).not.toBeInTheDocument()
})
})