UNPKG

@letanure/resend-cli

Version:

A command-line interface for Resend email API

45 lines 1.84 kB
import { useInputSelector } from '../components/forms/useInputSelector.js'; import { listContacts } from '../modules/contacts/list/action.js'; import { displayFields } from '../modules/contacts/list/fields.js'; export function useContactSelector({ audienceId, onSelect }) { return useInputSelector({ title: 'Contacts', loadFunction: async (data, apiKey) => { const result = await listContacts(data, apiKey); if (result.success && result.data) { // Transform contacts to SelectableItem format const transformedData = result.data.data.map((contact) => ({ id: contact.id, email: contact.email, first_name: contact.first_name, last_name: contact.last_name, created_at: contact.created_at, unsubscribed: contact.unsubscribed, })); return { ...result, data: { data: transformedData }, }; } return { success: false, error: result.error || 'Failed to load contacts', }; }, formatData: (data) => { return data.data.map((contact) => ({ id: contact.id, email: contact.email, firstName: contact.first_name || '', lastName: contact.last_name || '', subscribed: contact.unsubscribed ? 'No' : 'Yes', created_at: new Date(contact.created_at).toLocaleString(), })); }, displayFields, loadData: { audienceId }, noDataMessage: 'No contacts found in this audience.', onSelect, }); } //# sourceMappingURL=useContactSelector.js.map