Domain Flow — UI Mockups

Visual reference for DomainFlow module. All layouts derived from the actual Razor views and CSS in the codebase.

1. Domains Grid (Index View)

Domains — Acme Corp Campaign
Name Type GSuite GoDaddy GSuite/HMai Created Last used Valid until Redirect DNSCheck Action Retention
example-outreach.com GSuite gsuite-login-1
ACTIVE
Verified
01/03/2026 15/04/2026 01/03/2027 https://acme.com
outreach-corp.com Postal postal-login-1
Not set
Not set
15/01/2026 15/01/2027 https://corp.com
new-domain.com Outlook
CANCELLED
Failed
20/04/2026
old-outreach.com GSuite gsuite-login-2
ACTIVE
Verified
10/10/2025 05/12/2025 10/10/2026 https://old.com Keep

2a. Domain Accounts Grid (Level 1)

Rendered inline beneath an expanded domain row. Source: _DomainAccounts.cshtml

Accounts for example-outreach.com

2b. Email Profile Addresses Sub-Table (Level 2)

Rendered inline beneath an expanded account row. Source: _EmailAddressesByEmail.cshtml. Columns use fixed widths for consistent alignment across all expanded sub-tables.

Email Profile Addresses for john@example-outreach.com

Note: Set Up Status, Warm Up, and Edit/Finish Setup are on Level 1 (Domain Accounts Grid above), not on this sub-table. The sub-table is read-only except for the Active Sending toggle. Active Sending uses a confirmation modal scoped per sub-table instance.

3. "Add domain" Modal

Source: Index.cshtml — #newDomainModal

4. Add Domain — New (Purchase)

Source: EditCampaignDomain.cshtml — "New" radio selected

5. Add Domain — Client Owned

Source: EditCampaignDomain.cshtml — "Client owned" radio selected

5b. Add Multiple Domains (Bulk)

Source: Views/Shared/_EditCampaignDomainMultiple.cshtml — shared partial used by both DomainFlow and Campaign controllers

Footer button logic:
• If any row is "New" → show Purchase and save (enabled only when all "New" domains have been checked)
• If all rows are "Client owned" → show Save only
Request manual setup appears only when a GoDaddy error occurs during domain check

6. Select Existing Domain

Source: _SelectExistingDomain.cshtml

7. Init Domain Modal

Source: _InitDomain.cshtml

8. Email Account Type Selection

Source: Index.cshtml — #newAccountModal

9. Unified Creation Modal (All Types)

Source: _NewEmailAccount.cshtml — Single unified modal replacing the 4 separate type-specific partials (_NewEmailAccountGSuite, _NewEmailAccountOutlook, _NewEmailAccountPostal, _NewEmailAccountOther — all deleted). Sections show/hide via data-types attribute based on selected type.

Type-show/hide logic: The updateFormForType(type) function iterates over .type-section elements and toggles visibility based on whether the selected type appears in the element's data-types attribute. The same submit handler dispatches to the correct logic per type (Postal sequential, Outlook license-check, GSuite/Other batch).

9b. New Email Account — GSuite — MERGED

This individual GSuite modal has been merged into the Unified Creation Modal (Section 9). All 4 types (GSuite, Outlook, Postal, Other) now share a single _NewEmailAccount.cshtml view. This mockup is kept for historical reference only. See Section 9 for the current layout.

Source (historical): _NewEmailAccount.cshtml

10b. New Email Account — Outlook — MERGED

This individual Outlook modal has been merged into the Unified Creation Modal (Section 9). The separate _NewEmailAccountOutlook.cshtml has been deleted. See Section 9 for the current layout.

Source (historical): _NewEmailAccountOutlook.cshtml (deleted)

11b. New Email Account — Postal — MERGED

This individual Postal modal has been merged into the Unified Creation Modal (Section 9). The separate _NewEmailAccountPostal.cshtml has been deleted. See Section 9 for the current layout.

Source (historical): _NewEmailAccountPostal.cshtml (deleted)

12b. New Email Account — Other — MERGED

This individual Other modal has been merged into the Unified Creation Modal (Section 9). The separate _NewEmailAccountOther.cshtml has been deleted. See Section 9 for the current layout.

Source (historical): _NewEmailAccountOther.cshtml (deleted)

13. New SMTP User

Source: _NewSMTPUser.cshtml — Available for GSuite and Other domain types only

14. Select Existing Email Account

Source: _SelectExistingAccount.cshtml

15. Edit / Finish Email Account Setup — DEPRECATED

Source: _EditEmailAccount.cshtml (DEPRECATED) — Replaced by Section 18: Edit Account Level (Unified). The old _EditEmailAccount.cshtml view content has been replaced with a deprecation notice. All edit/finish-setup functionality now routes through _EditAccountLevel.cshtml with a two-column layout.

16. Active Sending Confirmation Modal

Source: _EmailAddressesByEmail.cshtml — #confirmStatusChangeModal (scoped per sub-table instance)


17. Warm-Up Schedule Setup ⚠️ DEPRECATED

Source: _WarmupScheduleSetup.cshtml

⚠️ This modal is deprecated. Warmup settings (Time Zone, Increase Type, Days, Active Inbound, Active Outbound) are now managed through the Edit Account Level modal (§18). The grid toggle now directly activates/deactivates ActiveInbound/ActiveOutbound on the existing WarmUpScheduleV2 without opening a separate modal.

18. Edit Account Level (Unified)

Source: _EditAccountLevel.cshtml — Replaces the old _EditEmailAccount.cshtml. Two-column layout for credentials + settings, with SMTP + Warmup in a full-width bottom row.


Domain Flow UI Mockups — Generated from Sodastream/Web/Web/Views/DomainFlow/*.cshtml