Commit Graph

134 Commits

Author SHA1 Message Date
Dimitris Apostolou b2eb4b228e
Fix typos 2022-02-18 23:39:04 +02:00
Francisco Gindre 9e6d3a7525
Merge pull request #160 from LukasKorba/159
Enhancement of the clamping the index for the seed
2022-02-18 13:45:28 -03:00
Lukas Korba c6b84d48f6 Update of the func signature 2022-02-18 15:33:40 +01:00
Lukas Korba ad92c8be26
Update secant/Util/Clamped.swift
Co-authored-by: Adam <adam@olemae.com>
2022-02-18 15:26:42 +01:00
Francisco Gindre 3e1a8f59eb
Merge pull request #162 from zcash/feature/welcome-screen
Issue #61 - Zcash Logo and welcome screen
2022-02-18 11:10:12 -03:00
Francisco Gindre b42cc56906 Issue #61 - Zcash Logo and welcome screen
Text shadows

font adjustments

Naïvely integrate to navigation

bump build

fix lint warning

PR Suggestions
2022-02-18 11:06:17 -03:00
Francisco Gindre 58175b5dcb
Merge pull request #134 from zcash/feature/recovery-phrase-validation
Recovery Phrase Validation.
2022-02-18 10:36:50 -03:00
Francisco Gindre b75def9cc1 Issue #44: Recovery Phrase Validation flow + tests
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
2022-02-18 10:26:11 -03:00
Lukas Korba 895a43376d Optimised version of Clamped 2022-02-18 07:17:10 +01:00
Lukas Korba 44a9d4ffad Modification of Clamped property
So it's no longer out of the bounds. This was the case when initialised property has never been modified = set was never called
2022-02-18 07:06:32 +01:00
Lukas Korba c564215328 Enhancement of the clamping the index for the seed 2022-02-17 14:42:16 +01:00
Francisco Gindre 212d130bfb
Merge pull request #144 from zcash/app-icons
Update App Icons
2022-01-11 18:44:39 -03:00
Francisco Gindre 9e19f3e167 Optimized PNGs with ImageOptim (34% filesize optimization) 2022-01-11 17:30:03 -03:00
Francisco Gindre 7aa559dc9a Update App Icons 2022-01-11 17:05:04 -03:00
Francisco Gindre 80bbdc8cda
Merge pull request #135 from dh-ecc/nav-add-history-link
Add link to history from `Home`
2021-12-15 11:30:48 -03:00
Daniel Haight c37e9a2ade [Refactor] remove unused code
No significant code changes, just consolidating helper methods
and removing unused code.
2021-12-14 22:38:30 +00:00
Daniel Haight cd3c98cce4 Add button to show history placeholder from 2021-12-14 22:25:59 +00:00
Francisco Gindre 249f4306bb 0.0.1-9 2021-12-14 17:18:20 -03:00
Francisco Gindre ebeeca2e42
Merge pull request #130 from dh-ecc/nav-add-placeholders
Add placeholder features for app and link up navigation
2021-12-14 15:08:19 -03:00
Daniel Haight b2320c057a [lint] fix swiftlint warnings 2021-12-14 02:50:55 +00:00
Daniel Haight 8425dd94b1 Delete router style placeholders 2021-12-14 02:50:55 +00:00
Daniel Haight 8ec6494044 Add `.reset` action to `Home`
This is here for convenience while we are in the "placeholder" stages,
to give a way to navigate to the "App" screen from Home
2021-12-14 02:50:55 +00:00
Daniel Haight c035bed146 Use App feature view for app scene 2021-12-14 02:50:55 +00:00
Daniel Haight 9f7c5c158a Add App placeholder feature
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.
2021-12-14 02:50:55 +00:00
Daniel Haight c0dd6f8015 Add Profile placeholder feature
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.
2021-12-14 02:50:53 +00:00
Daniel Haight 4166439ffa Add Request placeholder feature
This is boiler plate to flesh out a feature to navigate to
2021-12-14 02:50:14 +00:00
Daniel Haight 9720e8c59b Add Scan placeholder feature
This is boiler plate to flesh out a feature to navigate to
2021-12-14 02:38:22 +00:00
Daniel Haight 20cc378ee9 Add Settings placeholder feature
This is boiler plate to flesh out a feature to navigate to
2021-12-14 02:34:31 +00:00
Daniel Haight 202808097c Add WalletInfo placeholder feature
This is boiler plate to flesh out a feature to navigate to
2021-12-14 02:34:31 +00:00
Daniel Haight 82e8f5cc78 Refactor home view to show different routes better
This makes navigation while we are dealing with placeholders much easier,
though this will likely _all_ be deleted as we start to implement proper UIs
2021-12-14 02:34:21 +00:00
Daniel Haight 0481038986 Remove onboarding nav from home
We will link it differently shortly when we introduce an "app" view / feature
which will act as the first / root screen
2021-12-14 02:29:32 +00:00
Daniel Haight 61696bbda6 [cleanup] tidy `.demo` properties and rename to `.placeholder` 2021-12-14 02:27:13 +00:00
Francisco Gindre afdd071341
Merge pull request #123 from zcash/feature/recovery-phrase-display
[Scaffold] Recovery Phrase Display
2021-12-13 16:05:36 -03:00
Francisco Gindre 5646afbdd5 First Stab at The Composable Architecture
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
2021-12-13 15:58:13 -03:00
Francisco Gindre 0500f5db68
Merge pull request #131 from zcash/integrate-onboarding-to-home
Integrate onboarding to fake home
2021-12-08 19:48:05 -03:00
Francisco Gindre 3422c8dbd0 Integrate onboarding to fake home
show OnboadingScreen instead of  OnboardingView

remove Struct Type
2021-12-08 19:47:35 -03:00
Francisco Gindre c702319bb5
Merge pull request #122 from adamstener/onboarding-screen
Onboarding Screen
2021-12-08 14:32:39 -03:00
Francisco Gindre f4be94cb09
Merge pull request #121 from dh-ecc/tca-nav-add-send
Tca nav add send
2021-12-07 14:53:12 -03:00
adam cc32e881ba Onboarding Screen 2021-12-07 06:18:35 -06:00
Daniel Haight 780dd0fafa [Experiment] Move `Send` routing into a parent `SendView`
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.
2021-11-21 14:51:32 +00:00
Daniel Haight a8fc8d79f7 Create a reducer to go back `Home` when finished sending
This is done as a seperate commit to demonstrate composing routing
logic where a 'child' feature can send messages to a 'parent'.
2021-11-21 14:51:32 +00:00
Daniel Haight 85395bb9f0 Add `Send` "Placeholder" Feature
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.
2021-11-21 14:47:51 +00:00
Daniel Haight 24c21d4965 Update `Binding` Helpers
- Rename `Binding.map` to `Binding.compactMap`
- Add `Binding.map` with an updated signature

These should now match the naming conventions of similar
methods on types.
2021-11-21 14:36:38 +00:00
Francisco Gindre 883ce52011
Merge pull request #117 from dh-ecc/tca-nav-skeleton
Tca nav skeleton
2021-11-16 12:52:04 -03:00
Daniel Haight c6a98f06c2 Add `WithStateBinding`
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.
2021-11-15 23:36:16 +00:00
Daniel Haight 1adf39b933 Drive `HomeView` Navigation state from `ViewStore`
This demonstrates going from a view with no active navigation, to one that is state driven.

It is intended to be representative of the work needed to achieve this.
2021-11-15 23:36:16 +00:00
Daniel Haight e458a491c4 Add `Home` TCA feature
- 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`
2021-11-15 23:36:16 +00:00
Daniel Haight 9724d22235 Add `NavigationLinks` and `Bindings`
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.
2021-11-15 23:36:14 +00:00
Daniel Haight 0ce7d14c81 Add `History` TCA feature
This adds a "TCA" feature of a (very) basic transaction history and detail.

It demonstrates a purely state driven navigation stack.
Specifically, a `route: Route?` value is tracked in the state.
This value is driven by the selection of a transaction in the list,
setting it to to `.selectedTransaction(transaction)`,
which then pushes the detail view for that `transaction` onto the `NavigationView`.
Popping the detail view sets the property to `nil`.

Take a look at the previews in `TransactionHistoryView` try them "live" as well.

**N.B** The models are _not_ correct in any way, though are meant to be somewhat representative
and give something to display.
2021-11-15 23:32:54 +00:00
Francisco Gindre 94a0684380
Merge pull request #116 from adamstener/design-guide-updates
Design Guide Updates
2021-11-09 19:38:23 -03:00