Phase 1C: Frontend unified contact UI
This commit is contained in:
@@ -264,6 +264,30 @@ export function ContactsListPage() {
|
||||
|
||||
<div className="flex-1" />
|
||||
|
||||
{/* Type filter toggle */}
|
||||
<div className="flex items-center gap-0.5 bg-secondary-100 rounded-md p-0.5 mr-1">
|
||||
{[
|
||||
{ value: 'all' as ContactFilter, label: t('common.all') },
|
||||
{ value: 'company' as ContactFilter, label: t('contacts.companies') },
|
||||
{ value: 'person' as ContactFilter, label: t('contacts.persons') },
|
||||
].map((opt) => (
|
||||
<button
|
||||
key={opt.value}
|
||||
onClick={() => handleSelectFilter(opt.value)}
|
||||
className={clsx(
|
||||
'px-2 py-1 rounded text-xs font-medium transition-colors min-h-touch',
|
||||
selectedFilter === opt.value
|
||||
? 'bg-white text-primary-600 shadow-sm'
|
||||
: 'text-secondary-500 hover:text-secondary-700',
|
||||
)}
|
||||
aria-label={opt.label}
|
||||
aria-pressed={selectedFilter === opt.value}
|
||||
>
|
||||
{opt.label}
|
||||
</button>
|
||||
))}
|
||||
</div>
|
||||
|
||||
{/* View mode toggle */}
|
||||
<div className="flex items-center gap-0.5 bg-secondary-100 rounded-md p-0.5">
|
||||
{viewModeOptions.map((opt) => (
|
||||
|
||||
Reference in New Issue
Block a user