import { card, table, badge, button, input } from '@frontmcp/ui';
const usersTable = card(`
<div class="mb-4">
${input({
name: 'search',
placeholder: 'Search users...',
iconBefore: '🔍',
htmx: {
get: '/api/users/search',
trigger: 'keyup changed delay:300ms',
target: '#users-table',
},
})}
</div>
<div id="users-table">
${table({
variant: 'striped',
columns: [
{ key: 'name', header: 'Name', sortable: true },
{ key: 'email', header: 'Email' },
{
key: 'status',
header: 'Status',
render: (status) => badge(status, {
variant: status === 'Active' ? 'success' : 'default',
}),
},
{
key: 'actions',
header: '',
align: 'right',
render: (_, user) => `
${button('Edit', { variant: 'ghost', size: 'sm' })}
${button('Delete', { variant: 'ghost', size: 'sm' })}
`,
},
],
data: users,
emptyMessage: 'No users found',
})}
</div>
`, { title: 'Users' });