Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Jobs List Screen #200

Merged
merged 12 commits into from
Jul 16, 2024
Merged

Jobs List Screen #200

merged 12 commits into from
Jul 16, 2024

Conversation

tobitech
Copy link
Contributor

Story: https://app.shortcut.com/smileid/story/12793

Summary

  • Introduce new Jobs tab that will show the list of jobs saved on the device.
  • Setup Core Data stack to manage CRUD operations for jobs
  • Refresh the entire app when Smile Config is updated.
  • Add unknown case to ActionResult to handle values that aren't captured by the enum.

Known Issues

N/A

Test Instructions

  • Launch the app and perform a verification request. That request should be saved and visible on the new Jobs List screen.
  • Tap the Jobs tab to view the list of jobs and their statuses.

Screenshots

Jobs List Empty State

* change folder structure. add smileid theme background to the jobs screen.

* add icon computed property to the job type

* design implementation for empty state view

* move reusable views into components group

* add background and spacers to empty state view

* code formatting

* make user id and job id copyable.

* expand job item when container is tapped
* change folder structure. add smileid theme background to the jobs screen.

* add icon computed property to the job type

* design implementation for empty state view

* move reusable views into components group

* some project restructuring

* add core data model file to the project. define an entity for job and add configure its attributes. generate model class

* setup core data stack with persistent container and save and delete model object functionalities.

* add an error model

* setup core data stack with preview version. add create function to the job managed object.

* implement new static functions for fetching jobs and saving new jobs.

* add update and delete jobs static functions

* code formatting.

* model target changes.

* change path of xcdatamodel file in pbxproj file.

* move model file back to models group.

* remove hard coded path
* add a view model for jobs view and a provider to handle data store.

* add a confirmation to clear jobs action.

* save information from successful jobs in the corresponding delegate methods.

* some code formatting

* specify todos - to be removed after clarification.

* move the creation of user id and job id to HomeViewModel and pass the values into the different jobs screen.

* code formatting.

* update job complete for smart selfie authentication
* improve error handling for functionalities using the data store. introduce new model to handle updating each job status.

* update all the necessary details of a job stored locally from the api response.

* code formatting

* update job element model
* change job timestamp to date type. add a sort descriptor to jobs fetch request.

* make job timestamp a non-optional date. add errorDescription to data store error model. correct attribute key for sortdescriptor.

* inject userId and jobId from home view model into the verification product flows.

* add a new case for ActionResult.

* rename sortdescriptor
* restore ipad support and disable ipad multitasking

* fix tab bar background issue caused by toast view.
* use newly generated userid for authentication jobs. pass in userId and jobId into authentication request.

* bump build number.

* hide clear jobs button if there are no jobs
* add an indeterminate linear progress view to job list item and show it when fetching job status.

* add isProduction and partnerId attributes to Job model.

* inject config into the JobsViewModel to gain access to partnerId

* code formatting.

* add a new ActionResult not previously added.
hide progress view when get status task is canceled

* add an unknown case to ActionResult. Display partnerId and environment on JobListeItem

* add doc to newly introduced unknown case.

* shorten the doc text for unknown case
* move smile config decoding and initialisation into root view model. add a closure to send back update config to root view.

* update init method

* bump build number. prevent joblistitem preview from running in release environment.
@tobitech tobitech self-assigned this Jul 15, 2024
Copy link

github-actions bot commented Jul 15, 2024

Warnings
⚠️ The source files were changed, but the tests remain unmodified. Consider updating or adding to the tests to match the source changes.

Generated by 🚫 Danger Swift against 48beb52

@tobitech tobitech marked this pull request as ready for review July 15, 2024 21:03
@tobitech tobitech requested a review from a team as a code owner July 15, 2024 21:03
Copy link
Contributor

@vanshg vanshg left a comment

Choose a reason for hiding this comment

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

Nice work!

@tobitech tobitech merged commit 6a08af2 into main Jul 16, 2024
3 checks passed
@tobitech tobitech deleted the jobs-list-screen branch July 16, 2024 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants