Commit Graph

56 Commits

Author SHA1 Message Date
aae4f5b67c fixed issues with stackview stretching + updated biolabel
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-02-06 17:49:50 -06:00
7b65685d1a added push for the details
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-02-06 15:17:57 -06:00
3a9399f076 initial cut for Details VC
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-02-06 15:17:38 -06:00
9102f8d3c6 created details viewmodel
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-02-06 15:17:20 -06:00
c2768a4864 clear cache - refactor to use version numbers
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-02-06 14:02:30 -06:00
4270b609ed updated with Cache for employees
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-02-06 14:02:15 -06:00
0f9515b90b refactored out passing service mode
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-21 14:12:07 -06:00
0f4cd465b1 fixed a few bugs for refreshControl and footerView
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-21 14:02:32 -06:00
52d02ea3a1 now using diffable datasource
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>

# Conflicts:
#	EmployeeDirectory/ViewControllers/EmployeesViewController.swift

Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-21 13:59:17 -06:00
28bbade08f fixed bug
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-21 12:43:07 -06:00
d9ca737896 more updates to ReadMe
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-21 09:38:19 -06:00
415f7aa030 updated Readme
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-21 09:37:14 -06:00
bf70ccb19a finished the readme
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-21 09:35:01 -06:00
8efd109a46 updated test cases for new Testing Framework macros.
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-21 09:20:41 -06:00
6f7a43d15e commented code
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-21 09:15:12 -06:00
069cc8c06a commented the code and refactored to new shared.
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-21 09:14:15 -06:00
c127a6c465 commented the code and removed self.
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-21 09:13:41 -06:00
f5c1a64e40 add shared property
commented the code

Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-21 09:13:21 -06:00
f07089a1fc commented the code.
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-21 09:12:56 -06:00
0ad993ca6b refactored to use 1 method and commented the code.
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-21 09:11:06 -06:00
43a3c456f7 only using portrait mode for devices
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-21 09:10:34 -06:00
0895013cdc updated README with comments
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 19:43:01 -06:00
9849636a1b added telephone number formatter
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 19:42:42 -06:00
ee4d976b2b added other labels to the employee cell
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 19:33:49 -06:00
a1214cf38b forgot a hashvalue always changes so I can't use that, therefore I created extension on URL for a UniqueIdentifier based of crypto that will always be the same.
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 19:28:06 -06:00
887cfd99ea wired up the ViewModel's SmallPhoto property change event with Combine
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 19:20:08 -06:00
9d3a23e69d get the small photo using the ImageCacheService
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 19:19:37 -06:00
6e4ff7a569 first cut at an ImageCache
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 19:19:15 -06:00
f3086d35d5 fixed footview ui bug for not having a frame
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 18:51:38 -06:00
e1521c47a8 refactored to use new EmployeeCellViewModel
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 18:49:53 -06:00
4f072677a5 Refactored to use new EmployeeCellViewModel
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 18:49:32 -06:00
fa5d16f143 created EmployeeCellViewModel
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 18:48:32 -06:00
522861e434 - refactored to use EmployeeTableViewCell
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 18:46:36 -06:00
09c8a1ef5a first cut of EmployeeTableViewCell
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 18:46:23 -06:00
4848fb3160 added pull to refresh and moved out @objc methods to an extension
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 18:40:52 -06:00
a0adea163f created a TableFooterView to be used and refactored ViewController
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 18:37:11 -06:00
aced710388 added a segmented control to select service state
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 18:26:19 -06:00
5d8285935f added CaseIterable
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 18:26:00 -06:00
f664e81e5b tested empty issue and seems to work well.
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 18:20:05 -06:00
96468b123b - added a label in the footer to handle state issues like error or empty.
- added a activityIndicator to show/hide based on loading or not.
- testing the malformed state issue

Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 18:19:29 -06:00
53fc099d6e first cut of building out a list of employees using the valid API
this is built off of combine to deal with the state changes of the ViewModel.

Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 18:17:10 -06:00
26864403fd first cut of a view model
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 18:08:37 -06:00
532914d357 added public initializer
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 18:08:27 -06:00
16bdd05082 wrote test cases for the 3 endpoints based on what they return
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 17:46:36 -06:00
dc25bd490d updated to select endpoint
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 17:39:52 -06:00
e4268fd22f wrote a test to ensure the service works and deserializes 11 employees
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 17:33:02 -06:00
bfb721bfd9 fixed bug in url
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 17:32:30 -06:00
a517ced1cc initial protocol and implementation
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 17:23:07 -06:00
9bc63d31cd created Models for the objects returned from the services
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 17:22:50 -06:00
255356ff19 created singleton to just fetch data for a decodable. this doesn't handle any customization for a URLRequest, just dealing with a public url for now.
Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>
2025-01-20 17:05:20 -06:00