Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[NT-1064] Feature Native Project Cards #1215

Merged
merged 16 commits into from
Jun 8, 2020
Merged

Conversation

ifbarrera
Copy link
Contributor

📲 What

The complete redesigned native project cards experiment.

Includes:

👀 See

Simulator Screen Shot - iPhone 8 - 2020-06-08 at 10 20 53

✅ Acceptance criteria

This work has all been reviewed.

ifbarrera added 16 commits May 7, 2020 13:34
* Add native project cards experiment

* Passing experiment variant to DiscoveryViewController

* Move optimizely configuration logic to DiscoveryViewModel

* Improving logic flow

* OptimizelyClientConfigurationFailed notification

* Formatting

* Cleaning up logging, lines

* Update necessary screenshots

* Removing force unwrap, moving around adding of subviews
…kstarter/ios-oss into feature-native-project-cards

# Conflicts:
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_de_device_pad@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_de_device_phone4_7inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_de_device_phone4inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_de_device_phone5_5inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_de_device_phone5_8inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_en_device_pad@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_en_device_phone4_7inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_en_device_phone4inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_en_device_phone5_5inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_en_device_phone5_8inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_es_device_pad@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_es_device_phone4_7inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_es_device_phone4inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_es_device_phone5_5inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_es_device_phone5_8inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_fr_device_pad@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_fr_device_phone4_7inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_fr_device_phone4inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_fr_device_phone5_5inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_fr_device_phone5_8inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_ja_device_pad@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_ja_device_phone4_7inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_ja_device_phone4inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_ja_device_phone5_5inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_ja_device_phone5_8inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Onboarding_lang_de_device_pad@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Onboarding_lang_de_device_phone4_7inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Onboarding_lang_de_device_phone5_8inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Onboarding_lang_en_device_pad@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Onboarding_lang_en_device_phone4_7inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Onboarding_lang_en_device_phone5_8inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Onboarding_lang_es_device_pad@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Onboarding_lang_es_device_phone4_7inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Onboarding_lang_es_device_phone5_8inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Onboarding_lang_fr_device_pad@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Onboarding_lang_fr_device_phone4_7inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Onboarding_lang_fr_device_phone5_8inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Onboarding_lang_ja_device_pad@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Onboarding_lang_ja_device_phone4_7inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Onboarding_lang_ja_device_phone5_8inch@2x.png
* View setup for DiscoveryProjectCardCell

* Add DiscoveryProjectCardViewModel

* Hooking up new project cards to data source, tweaking UI

* Attributed percent funded and backer count

* Aligning icons taking into account font descenders

* Add “Save” icon and VM

* Make “checkoutAdapatableStackViewStyle” into global style

* Rename some things to prevent naming clashing

* Adding VM tests

* Formatting

* Icon tweaks

* Adding DiscoveryProjectsDataSource test

* formatting

* Add IconImageSize private enum
* Add DiscoveryProjectTagPillCell

* Add DiscoveryProjectTagPillViewModel

* Hook up tags collection view with data source and view model

* Setting data source, tweaking layout

* Simplify layout, using a rootStackView

* Formatting

* Fixing layout issues

* Tests

* Increasing content resistance priority

* Cleanup

* Consolidate tags tests in a better way
…feature-native-project-cards

# Conflicts:
#	Kickstarter-iOS/Views/Cells/PledgePaymentMethodCell.swift
* Add Project Card Clicked event

* Use shared var for recommended params
* Setting up project status views

* Add project status label outputs to VM

* Removing priority on image view

* VM tests

* Screenshot tests

* Formatting

* Revert priority

* Fix autolayout issue causing images to be too small

* Formatting

* Removing record mode

* Layout if needed after collection view resize
* “Youre a backer” label, tests, screenshots

* Update Youre a backer string
* Facepile view

* Facepile VM tests

* Screenshot tests

* Formatting

* Revert testing code

* Use switch statement

* formatting
* Add variant to projects output

* Use new project card cells

* VM, Data source and Screenshot tests + fixing save button position

* Recreate project card snapshots with updated save button position

* Formatting

* Updating social screenshots

* Fixing test
…feature-native-project-cards

# Conflicts:
#	Library/ViewModels/DiscoveryPageViewModel.swift
#	Library/ViewModels/DiscoveryPageViewModelTests.swift
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_de_device_pad@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_de_device_phone4_7inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_de_device_phone4inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_de_device_phone5_5inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_de_device_phone5_8inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_en_device_pad@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_en_device_phone4_7inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_en_device_phone4inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_en_device_phone5_5inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_en_device_phone5_8inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_es_device_pad@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_es_device_phone4_7inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_es_device_phone4inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_es_device_phone5_5inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_es_device_phone5_8inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_fr_device_pad@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_fr_device_phone4_7inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_fr_device_phone4inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_fr_device_phone5_5inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_fr_device_phone5_8inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_ja_device_pad@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_ja_device_phone4_7inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_ja_device_phone4inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_ja_device_phone5_5inch@2x.png
#	Screenshots/_64/Kickstarter_Framework_iOSTests.DiscoveryPageViewControllerTests/testView_Editorial_LoggedOut_lang_ja_device_phone5_8inch@2x.png
* Updating strings

* Using updated strings

* Screenshots

* Optimizely properties added to project card clicked event

* Social strings

* Opty props

* Screenshots, contentInset, background color

* Refactor tagsCollectionView configuration

* Update strings again

* Strings

* Strings

* Re-recording screenshots with new strings

* Formatting

* Removing debugging comments

* Screenshots
…feature-native-project-cards

# Conflicts:
#	Library/Strings.swift
@ifbarrera ifbarrera changed the title [NT-1064] Feature native project cards [NT-1064] Feature Native Project Cards Jun 8, 2020
Copy link
Contributor

@justinswart justinswart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work on this!

@ifbarrera ifbarrera merged commit a4aeae5 into master Jun 8, 2020
@ifbarrera ifbarrera deleted the feature-native-project-cards branch June 8, 2020 23:49
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants