* Single Line Text Field
* add TODO comment to secant/Util/Strings.swift
Issue #245 comments the changes needed
Co-authored-by: Francisco Gindre <francisco.gindre@gmail.com>
debug menus are accessible starting on welcome screen following 2 steps:
1. long press (0.75s)
2. swipe up/down to access either home/startup
cleanup
Debug menus connected
Also fixed the App flow
* AppDelegate connected
* Initialisation of the app and checks in place
* cleanup
* switch-default purpose commented
* checkWalletInitialisation simplified
* initialisation -> initialization
Initial user preferences storage
refactor of one comment
handling defaults
singleton removed
support for the defaults
alphabetical sort
standard user defaults set by default
unit tests added
for-each to cover all cases
project fix
The RecoveryPhraseStorage is an implementation of KeyStoring protocol. The unit tests are testing the keychain functionality to ensure security and proper error handling.
Refactor
All comments from the PR have been incorporated
Another batch of comment updates
thx Adam!
alphabetical order
refactored to private extension
Update secant/Util/RecoveryPhraseStorage.swift
Update secant/Util/RecoveryPhraseStorage.swift
cleanup
refactor and cleanup
setData refactor
Updated to the latest requirements
The KeyStoring implementation now relies on JSON (encoded) storing version, seed phrase and birthday.
method separation
fixed typo
functions documented
typo and warnings fixed
Mock services removed
the file and the content is not used anywhere, once we will need some mocks, we will implement it
RecoveryPhraseStorage singleton removed
Language added to the storage
Co-Authored-By: Adam <adam@olemae.com>
MnemonicSwift SPM added + implementation of the MnemonicSeedPhraseHandling protocol
TCA syntax for the MnemonicSeedPhaseProvider
swiftlint disable not needed anymore
double space fixed
The focus was on neumorphic buttons that work for both light and dark as well as state of the button (pressed)
Device specific enhancements
Colors and texts updated. Device specific paddings, margins and sizes enhanced
Dark appearance
Tweaks for the dark version of the onboarding UI
Update of the comments
Button UI updates
Colors updated, pressed button simulated and present in the DesignGuide.swift
Optimised Button's Layout
Onboarding footer was using the same settings for 3 buttons.
Rename struct to RecoveryPhraseValidationState. Add docs
WordGrid + tests
Make Word Groups Droppable and Blue word chips draggable
cleanup
Rename Stores and adopt aliases and default pattern for reducers
Fix drop not working
FIX: apply background to header. Spacing
Fix compilation errors. Add validation demo to AppView
Fix: the empty chips are rendered once, because they are not uniquely identifiable
Add the Validation screen to the App Home
make mutating functions static
fix project warnings
Fix Tests
Fixed .complete test
refactoring the Enum. first step
Move given() to RecoveryPhraseValidationState and fix tests
Add canary test for computed property of State
Move RecoveryPhraseValidationStep to a nested type of RecoveryPhraseValidationState
rename RecoveryPhraseValidationState.RecoveryPhraseValidationStep to RecoveryPhraseValidationState.Step
Move static functions from RecoveryPhraseValidationStep to RecoveryPhraseValidationState
Move creational factory methods together to the same extension
Remove unused functions
remove associated values from Step enum
Fix: Avoid Drop being disable between chips
0.0.1-10
add navigation bar to phrase validation demo
Reduce spacing between groups. Code cleanup
Remove RecoveryPhraseValidationStep.swift
Move remaining code to proper places
PR Fixes. Move .initial factory method to test target. Rename given() to apply(chip:group:) and make it a member function
Cleanup. Remove .validate, .invalid and .valid states. Figure word chips out of the state.
Fix randomIndices()
Tie view's title to state
Connect Header to State
BlueChip is now ColoredChip.
Success Screen
fix project
Connect Success Screen to successful validation
Add Red color to backgrounds
Validation Failed Screen
Connect SuccessValidation Screen to home
hide back button on Success view
Connect Phrase Display to validation
0.0.1-11
Fix word grid background colors
View Modifier to add scrollview when the content is being scaled up by DynamicType
Adjust UI spacing and padding to designs
Add Placeholder states for SwiftUI Previews
Flatten EnumeratedChip Hierarchy
Flatten EnumeratedChip view hierarchy
Fix: LazyVGrid can't take GeometryReader on its items' bodies
Fix: Colored Chip does not adjust
Fix: Vertical separation between wordgroups is too tall.
Fix: Accesibility fixes for Validation Failed screen
Rename ValidationFailedView
Accessibility Pass on Validation success screen
FIX: Colored chips too big when scaled up
Fix: ValidationFailedScreen does not scroll well when scaled up
Fix Empty chip shadow color for dark color scheme
Fix: chip grid background does not bleed out to bottom of the screen
build 12
Fix: pre success/failure screen step shrinks the screen because word grid is missing
Resolved PR comments
Fixes to resolve PR conversations
Fixes to resolve PR conversations
Fix PhraseChip preview
Make ScrollableWhenScaledUp modifier fileprivate
Remove comments and clean up code
Fix Swiftlint issues
Renamed RecoveryPhraseStepFulfillment to ValidationWord
Rename pickWordsFromMissingIndices
PR fixes
PR suggestions
PR suggestions
Move words(fromMissingIndices:size) to RecoveryPhrase
Make ScrollableWhenScaled struct fileprivate
PR Suggestions Part two
PR Suggestion changes
remove unused
PR suggestions
suggested rename
PR suggestions
remove apply(chip:into) move that to Reducer
Formatting changes
more formatting changes
Fix: iPhone 13 Pro Max displays 4 columns instead of three
Fix: Recovery Phrase puzzle shows incorrect number of columns and margin alignment on bigger devices
Add test to catch state not changing as intended
Phrase validation reducer refactor + tests
make step computed property a bool
make isComplete a single line
PR Suggestions
Rename ValidationSuccededView.swift
Fix Bug: valid phrase should contemplate that the phrase is complete first
PR Suggestion
refactor and add Unit Tests for resultingPhrase, isComplete, isValid
This feature represents the "entrypoint" of the app.
As it stands now it combines the home, and onboarding features.
Notice how we have created `AppReducer.routeReducer` to (temporarily)
use use the `OnboardingAction.createWallet` action, to navigate directly
to `Home` while we are still implementing it.
This feature is a very basic example of combining two existing features
that can be navigated to. Aside from this it currently has no other functionality, and is
intended to exist as yet another feature that can be navigated to.
Initial Light Mode Recovery Phrase Backup Screen
Dark mode color adjustments
Quotes "Navigation Bar Title"
Fix Recovery Phrase chips throw a UI Thread warning
Integrate Copy to buffer button
create test build 4 for UX validation
FIX: Archiving compilation errors
fix warnings. add TODOs for demo code that is needed to build on release mode
PR Fixes: remove dump calles add TODOs
remove unneeded padding
remove prints
PR fixes: remove min height from standard button style.
change extension from View to Text
change comment format
PR Fixes. code style
Add ticket number to TODOs
Rename "Backup Flow" to BackupFlow
PR lint fixes
Add tests
Fix lint issue. cleanup
rename "UI Components" to "UIComponents"
Renamed folder with spaces to CamelCase names:
"App Errors" to "AppErrors"
"Mocked Dependencies" to "MockedDependencies"
Renamed "Font Styles" to "FontStyles"
hook up to home screen
Adding: [Suggestion(adding pasteboard to environment)]
Implement [Suggestion(use specific RecoveryPhraseError) | non-blocking]
Remove double carriage return and replace by VStack of Text()
add App Uses Non-Exempt Encryption -> NO value to Info.plist
bump build #
0.0.1-7
make view modifiers private
move modifiers into extension
Testable Pasteboard
Fix: Word groups don't have noticeable spacing that allows the user to tell them apert
FIX: don't truncate enumerated chips
This is to demonstrate having something like a 'Coordinator' that
handles the routing logic of the feature.
It is done as a seperate commit to compare against the original
implementation that has the routing logic encoded explicitely in
each view.
This adds screens to represent a basic "Send" Feature. The main
purpose of this is two-fold.
1. To act as a placeholder for the actual journet
2. To demonstrate a slightly different navigation paradigm, i.e,
a `NavigationView` with >1 depth.
This is a way to add back some of the "free" animations that we lose when
creating custom bindings instead of using `@State` variables, which is
extremely common in TCA / unidirectional architecture.
For an example check out the live preview in the `WithStateBinding` file.
The first is with a standard State binding, click to get the detail and then
drag from the leading edge slowly. You will notice the selection highlight _gradually_
gets less the more you drag (or stronger if you go back).
For the second one with a custom binding, drag back and you will notice it is either
entirely selected, or deselected.
The third uses `WithStateBinding` to give _back_ the nice animations to custom bindings.
- Add the `State/Action/Reducer` combination to represent a basic TCA feature
- There is a `route` property on the state which represents our navigation state
(we will use this to drive more navigation state in the next commit)
- The state has a property which is a `TransactionHistoryState`
we create our new reducer by leaning mostly on the existing one.
- Temporarily we set up a text representation of our state
- Temporarily Use `HomeView` as the app's entry point, to be replaced with an `AppView`
This gives us a more readable approach to set up navigation links
that mirrors other `SwiftUI` navigation paradigms such as `.sheet`.
We use the modifier to simplify navigation link setup for `TransactionHistoryView`
We also include some `Binding` extensions to help creating them.