aboutsummaryrefslogtreecommitdiff
path: root/foray (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-07-18Pass through UIWindow to coordinatorHEADmasterNicholas Tay2-8/+10
In case we need it later
2022-07-18Custom share sheet icons and load them with UIImageNicholas Tay4-18/+25
Found that LPLinkMetadata + NSItemProvider can actually use UIImage. I think this is better now since not using a bundle load and can use assets.
2022-07-18Try out 'share' aka UIActivityViewControllerNicholas Tay3-2/+71
2022-07-17Clean up force unwraps and letsNicholas Tay5-17/+37
Wow, I didn't know `if let` was a thing back then, haha. Also made UIImage a bit safer in case asset is missing by unwrapping in one common place.
2022-07-17Experiment with async/awaitNicholas Tay3-31/+31
Note that URLSession async only works >=iOS 15. I changed the target for now, but may mess with continuations.
2022-07-17'weak self' stuffNicholas Tay2-3/+6
2022-07-17Try out moving coordinator 'coordinated' VC thingNicholas Tay4-11/+16
2022-03-25ForayNewTableViewCell -> ForayTableViewCellNicholas Tay2-3/+3
2022-03-25Reorganise: NetworkManager -> Fetcher, Models -> dedicated groupsNicholas Tay4-11/+11
2022-03-25getData -> fetch, try threading, move logic aroundNicholas Tay3-23/+28
2022-03-25Move Details ViewModel -> string/image into VCNicholas Tay2-16/+16
2022-03-24First attempt at PresenterNicholas Tay6-51/+88
This is admittedly pretty hard for me to wrap my head around, and I'm not even using background threading explicitly yet. Will improve.
2022-03-24Reorganise into folder groupsNicholas Tay8-0/+0
In preparation for presenters to come in largely, lots of files starting to go everywhere...
2022-03-24Split details view into separate View and VCNicholas Tay3-72/+125
Also fixed the scrollview margins while I was at it - it looked weird being so inside
2022-03-22Adjust YearSection to just IntNicholas Tay2-12/+6
Was a bit awkward to have it as a Date normalised to first day of the year
2022-03-21Loading overlay to custom class + add to coordinatorNicholas Tay3-10/+49
Just an idea I had, since it was quite messy that a TableViewController was handling all that. Instead now it should be reusable through the ForayCoordinator itself, which means e.g. on details screen, we can show the loading overlay.
2022-03-21Fix scroll in details viewNicholas Tay2-2/+4
Didn't constrain details label to the bottom of the content container, so scroll view didn't pick up on it (test with large font on a smaller viewport phone).
2022-03-21Switch to launch with SceneDelegateNicholas Tay3-13/+34
Pretty sure I'm meant to launch via SceneDelegate now, was confused by that probably due to older tutorials. Read a bit about it and it seems like it's due to multi-instance/screen support, so switched back to doing it this 'new way'. Was a bit confused but I think I deleted too much from Info.plist and got rid of the 'Default Configuration' which launches the SceneDelegate. I think we're good now though, had to reference a new template project. References: - https://sarunw.com/posts/how-to-create-new-xcode-project-without-storyboard/
2022-03-21First try at implementing coordinator patternNicholas Tay5-31/+90
Resources: - https://www.hackingwithswift.com/articles/71/how-to-use-the-coordinator-pattern-in-ios-apps
2022-03-20Add ScrollView to details screenNicholas Tay1-4/+14
Would make more sense as more lines get added in (especially if ui elements programatically), as well as since horizontal layout is allowed if the screen is small you can scroll
2022-03-20Split structs into other file, split networking outNicholas Tay3-66/+92
It isn't much so far, as it is just effectively the API retrieval function extracted from the TableViewController. But this should also allow other VCs to get from API too if required :^)
2022-03-19Add back in RefreshControlNicholas Tay1-1/+1
Missed in when ripping out storyboard
2022-03-19Merge ForayNewDetailView into the VC itselfNicholas Tay2-91/+71
Not sure if this is the right move, but it felt extraneous to have a whole UIView to itself for now. Instead just have it right inside the VC. Probably a step in the wrong direction though, but will need to review.
2022-03-19Fix selected item not being passed throughNicholas Tay2-4/+5
2022-03-19Adjust offsets and fix details label linesNicholas Tay2-4/+5
2022-03-19Storyboard is GONENicholas Tay6-101/+13
Note - I had to fo into the Target settings -> Info -> Custom iOS Target Properties -> adjust the Application Scene Manifest there. Resources: - https://ioscoachfrank.com/remove-main-storyboard.html - https://stackoverflow.com/questions/25167458/changing-navigation-title-programmatically
2022-03-19Remove segue, push directly into nav controllerNicholas Tay2-37/+7
2022-03-19Detail view is now programatically createdNicholas Tay3-70/+94
Using SnapKit and some experimentation around the VC. Next step is to change segue and then maybe get rid of storyboard all together.
2022-03-18Add back in segue to details viewNicholas Tay2-8/+29
This took a bit to figure out due to the identifier stuff, but we got there. I'd like to figure out how to push a VC into the navigation controller though, rather than relying on storyboard segues.
2022-03-18Cleanup old prototype cellsNicholas Tay2-133/+6
2022-03-18Use margins for new cell container + better image insetNicholas Tay1-12/+13
Surely there still is a better way for the trailing constraints on the labels?
2022-03-18Add back in description label and image to custom cellNicholas Tay2-19/+62
I don't think this 100% is the correct way with SnapKit. Need to seek advice and improve the constraints. However, an improvement over before is that the accessibility font sizes actually do work as intended now! Now to add back in the segues somehow...
2022-03-18Split table view cell into separate fileNicholas Tay2-10/+56
Cell no longer uses prototypes as registered in the Storyboard. Instead is a custom class inheriting the UITableViewCell and is manually registered by the VC. This is a first step towards reimplementing the prototype cells. Only has one label at the moment.
2022-03-18Added SnapKit with Swift package managerNicholas Tay1-2/+3
Was thinking of using CocoaPods as that's what is in use, but either way looked decently straightforward. Decided to start with whatever was already built in and no extra software. Note: it was File > Add Packages > put git link in top right. References I saw seemed to say File > Swift Packages and I couldn't find it. Also some other docs had older screenshots, I presume it's pre-Xcode-13 being slightly different. References: - https://developer.apple.com/documentation/swift_packages/adding_package_dependencies_to_your_app - https://www.raywenderlich.com/7242045-swift-package-manager-for-ios - https://snapkit.io/docs/
2022-03-16Use public URL for dummy API JSONNicholas Tay1-3/+5
Remembered I actually had a public server for me to dump files on lol
2022-03-16Sort items by date first as well for within-section sortNicholas Tay1-0/+1
2022-03-16MyItem -> PenguinItemNicholas Tay2-14/+14
Makes it clear which parts are tightly coupled. I want to learn how to make this more generic so I can try hooking into other APIs easily (which make require different destructuring of JSON).
2022-03-16Add refresh control + fix weird cachingNicholas Tay2-2/+19
It might be my web server causing the weird caching with headers (it's just a json file on nginx). Changing the policy in the request seems to have fixed it though. Refresh control references: - https://stackoverflow.com/questions/24475792/how-to-use-pull-to-refresh-in-swift
2022-03-16Modify details to multiline with release date includedNicholas Tay2-5/+12
2022-03-16Loading overlay on main screenNicholas Tay1-0/+11
I'm not 100% sure if this is the best way to do it, but it looks decent and it works. Resources: - https://stackoverflow.com/questions/27960556/loading-an-overlay-when-running-long-tasks-in-ios
2022-03-16Add a detail viewNicholas Tay3-2/+125
Resources: - https://guides.codepath.com/ios/Using-UITableView (was a bit dated)
2022-03-15Make items Decodable and hook up to a JSON dummy endpointNicholas Tay1-21/+53
Resources: - https://stackoverflow.com/questions/56443859/display-in-json-api-table-view-in-swift - https://www.avanderlee.com/swift/json-parsing-decoding/ - https://stackoverflow.com/questions/24321165/make-rest-api-call-in-swift
2022-03-14Second type of custom cellNicholas Tay2-10/+85
Not sure if this is the correct way of switching into a different cell type with the prototypes, but it works. To review.
2022-03-14Grouping items together by yearNicholas Tay1-10/+49
https://www.ralfebert.com/ios-examples/uikit/uitableviewcontroller/grouping-sections/
2022-03-14Learning UITableViewController: array data + custom cellsNicholas Tay29-32/+244
Forgot to commit after finishing just the using array data bit. So committing with the custom cells done. https://www.ralfebert.com/ios-examples/uikit/uitableviewcontroller/