Allow setting of favourite serp easter egg logo #7467
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Task/Issue URL: https://app.asana.com/1/137249556945/project/1207908166761516/task/1212553599261552?focus=true
Description
This PR adds the ability for users to set a SERP Easter Egg logo as their favourite, which will then display on all DuckDuckGo search result pages.
Features implemented:
- Display a title telling the user they've discovered an Easter Egg logo
- Added a button to set/unset the logo as favourite
- Only plays once per unique logo URL
- Skips animation for favourite logos
- Waits for image crossfade to complete before animating
- Preserve existing Easter Egg when onViewModeChanged is called
- Distinguish between SerpLogo.Normal (explicitly no Easter Egg) and null (pending state)
- Reset to Dax logo when favourite preference changes
Steps to test this PR
Easter Egg Discovery
Setting a Favourite Logo
Resetting to Default
Flag off
UI changes