# Call list redesign
Design only. Grounded in `/workspace/dh/repo` `artifacts/dialhawk/src/pages/ai-dialer.tsx` and the Contacts redesign at `/workspace/design/contacts-redesign/after/`. Example data only (555 numbers, example.com). No code was changed. No mobile app, no call tracking, no cost wording, no agent-type badges, no AI call type.

This pack: `01-contacts`, `02-create`, `03-live`, `04-finished` (HTML + 1440 PNG). 390 PNG for screens 1 and 3. Index at `index.html`.

## What changes, in short
Start from people on Contacts. One noun — **Call list** — replaces dialer, list, and campaign. A call list calls a **segment**, a **tag**, or a **prepared list** (workflows feed a call list this way; segmenting is not in this build, but the feed is shown). “What are these calls for?” sets the goal. Calling times use smart defaults and hide behind **Change calling times**. Start is blocked by a **Needed to start** checklist, same pattern as the builder’s Needed to publish. Statuses are **Not started**, **Calling**, and **Finished**. Paused is an action on a calling list, explained in a sentence. Results come first. **Call no-answers again** reruns the people who were not reached.

## Old fields — where they go

| Current field (ai-dialer.tsx) | In this design |
|---|---|
| Campaign / dialer / list name | The list is titled from the purpose (or the segment, until a purpose is written). No separate name field. |
| Description | Replaced by **What are these calls for?** (the goal). |
| AI agent | Picked on Contacts after Call, **names only**. Shown as Staff on the create screen. |
| AI call type | **Gone.** Not shown anywhere. |
| Template | **Gone.** The purpose question replaces templates. |
| Workflow / workflow picker | **Gone** from this UI. Workflows can still prepare a list; that prepared list appears on Contacts and can be called. |
| Timezone | Default: each contact’s local time. Only visible under **Change calling times**. |
| Quiet start / end | Reframed as calling times. Default: weekdays 9:00 AM–8:00 PM, local to the contact. Behind **Change calling times**. |
| Weekend calling | Behind **Change calling times**. Default off (weekdays). |
| Daily cap, calls/min | Behind **Change calling times**. Not on the first screen. |
| Compliance acknowledgment + terms version | Accepted **once per company**, not per list. Do not show the legal terms version on the list. If the company has already accepted, the create screen is silent about it. If not, that belongs in Settings or a one-time company step — not on every list. |
| Statuses Draft / Setup needed / Queued / Running / Paused / Done / Failed | **Not started** (includes setup and queued). **Calling**. **Finished**. **Paused** is an action state of Calling (“Paused. 18 of 42 called. Quiet hours start at 8:00 PM in each person’s time.”). A failure is a sentence under the status, not a fourth badge (“Stopped. The number used to call was disconnected.”). |

**Needed to start** (blocks Start, same amber card and “Finish N things” button as Needed to publish): audience is already the segment, so it is not a blocker. Remaining examples: purpose not written, no number to call from. Agent is already chosen on the previous step. Terms are not a per-list blocker.

## Screens
1. **Contacts with a segment selected.** Saved segments rail (All contacts, Warm callbacks, New seller leads) plus a **Prepared lists** group (“Open house Saturday · From Workflows”) and tag chips. The old toolbar action “Add selected to dialer list” is gone. **Call 42 people** is the primary action; then a picker, “Who should make these calls?”, with agent names only. 2 do-not-contact in the segment are skipped at start, not called.
2. **New call list.** Purpose question (empty, so it blocks). Smart-defaults line for calling times, **Change calling times** collapsed. Checklist, 2 left. Staff is Kate. Call from is not set (jumped from the checklist, amber ring).
3. **Live, status Calling.** Progress 18 of 42. “Calling Maria Lopez now…” with her number and local time. Pause. Recent results stream in (talked, no answer, booked, needs follow-up, hung up).
4. **Finished.** Results first: Called 42, Talked 19, Booked 4, Needs follow-up 6. Sentence: “Finished all 42 people. 15 had no answer.” Needs-follow-up list reuses the call-results pattern (amber, not red). **Call no-answers again** starts a new list of those 15, same purpose, staff, and calling times.

## Open questions
- Is a prepared list just a saved segment that a workflow created, or a separate object? The mock treats it as another row you can Call.
- Should “Lists” disappear from the nav entirely (this pack already folds it into Call lists)?
- Rerun: a new call list (as mocked) or a resume of the same list? A new list is simpler and keeps the finished results intact.
- If the company has never accepted calling terms, is that a Settings step, or a one-time gate on the first Start, still not shown as a versioned block on the list?
- When quiet hours begin mid-run, do we auto-pause with the sentence, or finish the person already ringing and then pause?
- Does “Call from” always have to be chosen, or can it default to the company’s only number when there is one (and then it would not be a blocker)?
