duckduckgo / iOS

DuckDuckGo iOS Application
https://itunes.apple.com/us/app/duckduckgo-privacy-browser/id663592361?mt=8
Apache License 2.0
1.79k stars 405 forks source link

Onboarding Intro - Text typing animation #3015

Closed alessandroboron closed 6 days ago

alessandroboron commented 1 week ago

Task/Issue URL: https://app.asana.com/0/1206329551987282/1207585462837399/f CC: @SabrinaTardio

Description:

This PR adds the text animation to the Dax Onboarding intro dialogs. I found the animation code in the macOS project and made changes to cater to the new requirements. E.g. On Android, in some dialogs we have to start animating the text upon an event and not when the view appears.

Steps to test this PR:

Scenario 1 - Intro Dax Dialog

  1. Tap the ⚙️ icon located on the Address bar right-hand side. (iPad tap … button first)
  2. Scroll to the bottom and select All Debug Options under Debug section.
  3. Scroll to the bottom and select Show New Onboarding Intro.
  4. Ensure the copy animates for the Dax Dialog and the "Let’s do it!” button appears after the text finishes animating.
  5. Repeat the step. This time, tap the Dax dialog before the text finishes animating and ensure the animation stops and the views appear immediately.

Scenario 2 - Browsers Comparison Dax Dialog

  1. Tap the ⚙️ icon located on the Address bar right-hand side. (iPad tap … button first)
  2. Scroll to the bottom and select All Debug Options under Debug section.
  3. Scroll to the bottom and select Show New Onboarding Intro.
  4. Tap the "Let’s do it!” button.
  5. Ensure the title animates of the Browser comparison Dax Dialog animates. Ensure that the chart and the "Choose Your Browser" button appear together after the text finishes animating.
  6. Repeat the step. This time, tap the Dax dialog before the text finishes animating and ensure the animation stops and the views appear immediately.

Definition of Done (Internal Only):

Copy Testing:

Orientation Testing:

Device Testing:

OS Testing:

Theme Testing:

Internal references:

Software Engineering Expectations Technical Design Template

github-actions[bot] commented 1 week ago

:no_entry_sign: The Asana task linked in the PR description is not added to iOS App Board project.

  1. Verify that the correct task is linked in the PR.
    • :warning: Please use the actual implementation task, rather than the Code Review subtask.
  2. Verify that the task is added to iOS App Board project.
  3. When ready, remove the bot: not in app board label to retrigger the check.
github-actions[bot] commented 1 week ago
Warnings
:warning: PR has more than 500 lines of code changing. Consider splitting into smaller PRs if possible.

Generated by :no_entry_sign: dangerJS against b0fff436fa6fd168b91270b788b32596c2dff507

alessandroboron commented 6 days ago

This is looking solid. The text animation doesn't look very much like typing, more like a fade in per character, but it works. Will let you wrangle that with design folk.

Good catch about the animation 💪! I fixed it. It was an opacity with a long duration set on the parent view. I removed it as it wasn’t needed and the characters don’t fade in.