feat: revamp contact detail, filters, and add photo/print/duplicate

This commit is contained in:
Linus Rath
2026-04-21 21:16:54 +02:00
parent 92c7f74420
commit f032758303
25 changed files with 2177 additions and 596 deletions
@@ -60,10 +60,8 @@ describe('ContactDetail', () => {
it('calls onDelete when delete button is clicked', () => {
const onDelete = vi.fn();
render(<ContactDetail contact={contact} onEdit={vi.fn()} onDelete={onDelete} />);
const deleteButton = screen.getAllByRole('button').find(
btn => btn.className.includes('text-red')
);
fireEvent.click(deleteButton!);
fireEvent.click(screen.getByLabelText('detail.more_actions'));
fireEvent.click(screen.getByRole('menuitem', { name: /context_menu\.delete/ }));
expect(onDelete).toHaveBeenCalledOnce();
});
});
@@ -36,7 +36,6 @@ const defaultProps = {
onSearchChange: vi.fn(),
onSelectContact: vi.fn(),
onCreateNew: vi.fn(),
categoryLabel: 'All Contacts',
selectedContactIds: new Set<string>(),
onToggleSelection: vi.fn(),
onSelectRangeContacts: vi.fn(),
@@ -79,8 +78,4 @@ describe('ContactList', () => {
expect(screen.getByText('bulk.export')).toBeInTheDocument();
});
it('shows category label with count', () => {
render(<ContactList {...defaultProps} />);
expect(screen.getByText('All Contacts (2)')).toBeInTheDocument();
});
});