Skip to content

[Existing app][Contacts Import] Polish existing interaction states and copy #991

Description

@kryputh

Summary

Improve the existing Contacts Import surface. This issue is intentionally scoped to existing app code and should not introduce a new standalone tool or unrelated feature.

Current area

import wizard steps, contact parser, malformed row handling, preview data, and contact import types

Relevant paths

  • src/features/contacts/ImportWizard.tsx
  • src/features/contacts/parseContacts.ts
  • src/features/contacts/types.ts

Goal

improve the current contacts import wizard so contact data parsing is transparent and recoverable.

Work focus

Tighten the existing visual and interaction states: default, hover, focus, active, disabled, loading, empty, and error. Keep the current product behavior, but make the surface feel intentional and consistent with the Stealth Mail visual system.

Acceptance criteria

  • Existing behavior remains intact; this is polish, not a new module.
  • Primary and secondary actions have clear labels, disabled states, loading states, and empty states where applicable.
  • The surface uses existing tokens/components before introducing new styling.
  • Screenshots or a short before/after note are included in the PR.

Scope guardrails

  • Keep the work inside the relevant existing app/module paths above unless a small shared helper is clearly justified.
  • Do not add a new V1/V2 tool folder for this issue.
  • Do not use real user data, secrets, private keys, or live customer mail.
  • Keep copy and UI aligned with the Stealth Mail safety, speed, and sender-control positioning.

Suggested validation

  • Run the most relevant unit or e2e tests for the touched area.
  • Run �un x tsc --noEmit and �un run lint when the local environment supports the project dependency install.

Metadata

Metadata

Assignees

Labels

GrantFox OSSGrantFox open-source contribution issueMaybe RewardedPotentially rewardable contributor issueOfficial CampaignOfficial campaign issueTestingTesting workUIUser interface workenhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions