Giter Club home page Giter Club logo

safe-ios's People

Contributors

biafra23 avatar dmitrybespalov avatar elgatovital avatar johnnyjumper avatar mouazalzahabi avatar sche avatar the-real-chrizzo avatar valeriyvan avatar zhiying-fan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

safe-ios's Issues

ENS name entry visual differences with the UI design

  • The ENS name is auto-capitalized, this should not be the case. Also, the grammar correction should be disabled.
  • Add "." to the keyboard by default (I think there should be a separate keyboard for that)
  • The text field border and icon are not what the UI specifies
  • The check mark icon is in the wrong place (should be near the "Address found" text)
  • The address text is not bold as it should be in the design.

Top Tab View

This is a work item to create a "Top" tab view that is present in the Balances and Settings tabs.

Screenshot 2020-05-11 at 18 03 39

Screenshot 2020-05-11 at 18 04 14

[iOS] Set up the initial business and data layer for adding a safe

Business Logic:

  • Safe entity - information about safe; EthAddress - type for ethereum address
  • SafesController - will be a model type for handling CRUD operations with safes. It will be used to add safe by the UI.
  • SafeDataController - this controller will use services to pull data about a safe address and potentially store it in database for caching purposes.

Data Access (in Data Layer):

  • Core Data model
  • CoreDataController

Services (in Data Layer):

  • SafeRelayService - will return information about safe (for now)

[iOS] Keyboard handler

Dismiss keyboard when click outside of text input

Check if screen scrolls automatically when the text field is covered by the keyboard.

Switch safe stops working after opening safe info

  • Open Safe Info (click on the safe name at the top)
  • Open the safe address in safari (tap on the arrow button)
  • Close the browser
  • Tap anywhere to close the Safe Info
  • Tap on "Switch Safe" button (arrow down button)

The switch safe screen does not open

Expected: the switch safe screen opens at any time.

[iOS] Tooltip

Tooltip as a feedback on copying anything in the app (UI design from the safe app)

NOTE

During implementation, it turned out that the tooltip is interfering with the system behavior, and it is not showing in some situations (when address is in the list, like in Safe Settings). Unfortunately, it is not fixable at the moment.

Per discussion with Sasha, we decided to show the snackbar notification instead.

How to test

Tap on an address in Settings and in other places, it should show the "Copied to clipboard" snackbar message.

Localization throughout the app

Make a consistent approach to localization strings throughout the app, including localization of error messages, and localization of strings from third-party libraries.

[iOS] Safe Info Pop-up

Safe info pop-up overlay with

  • ENS name
    
  • Address
    
  • QR code
    
  • Identicon
    
  • Transition with "overlay"

Git hooks

Copy git hooks from the legacy app

Safe Settings does not display the upgrade status

The contract version cell must display either that the contract is up to date, or upgrade available, or, if the master copy is not known, display "Unknown".

Here is the list of contract versions and master copy addresses:
- master_copy: "0xAC6072986E985aaBE7804695EC2d8970Cf7541A2" version: "0.0.2"
- master_copy: "0x8942595A2dC5181Df0465AF0D7be08c8f23C93af" version: "0.1.0"
- master_copy: "0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A" version: "1.0.0"
- master_copy: "0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F" version: "1.1.1"

If the master copy of the safe is not one of the addresses above, then we display "Unknown" as the contract version.
Otherwise, if the master copy is the latest master copy, we display the "Up to date" UI
Otherwise we display "Upgrade available".

[iOS] ENS Address Entry

  • Screen with ENS name entry that resolves name to address for input in the address field.
  • Assume that we reuse UI designs from the Safe iOS app.
  • Get ENS name from address
  • Get address from ENS name
  • Try to go with a simple configuration (it will be a separate task)

Advanced Safe Settings content

  • We need not to show the master copy address, because we already show it in the main screen together with the contract version
  • The fallback handler should have a human-readable text. If the handler is our default address (right now it is 0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44), then we display "DefaultFallbackHandler". If it is a zero address, we should display text "Not set" and do not display the address. In other cases, we should display "Unknown".
  • The screen should show the addresses truncated as in the designs

[iOS] Remove Safe

  • Shows action sheet to remove
  • The selection switches to the next safe in the safes list
  • The balances tab opens.

Screenshot 2020-05-11 at 18 10 43

Issues with the length of the safe name.

  • I can enter an arbitrary long safe name when editing it. After I do that, the safe selector is displaying the name as it is. We need to truncate the displayed name to a specific width, where it is displayed.

  • When I enter the long name, save, then change back to a short name, the safe selector shifts closer to the center of the screen. If I restart the app, then the name displays ok.

After changing from long name:

And after restart it is back to normal:

Enter Safe Name has visual differences with the UI designs

  • The Next button is not bold
  • The address is truncated and is one line (should be two)
  • The address text is not bold
  • The check mark icon is not bold and smaller than in the design
  • The spacing between address and text, and between text and textfield are not as in the designs
  • The text field has green border and check mark, which is not as designed.

Error Handling

Make a consistent error handling solution for handling networking errors, server response errors, validation errors, database errors, and third-party library errors.

This is about UI and about error handling in the code.

[iOS] Safe Switcher

  • List of safes with switching the safe selection

  • There is a list of Safes (Can be empty)

Splash screen has wrong font

The splash screen is not using the Averta font. The issue was that the custom fonts are not supported in the launch screens, so we need to use an image instead. The image is ready to use in Zeplin.

Here's the current state:

[iOS] Safe Settings

  • Only safe settings, without the switching between app and safe settings.

  • Information is pulled without networking only out of database Information is downloaded from the backend service.

  • Open edit safe name

  • When selection changes, the settings show the newly selected safe

  • Clarify the remove state - when removed, select the first safe from the list

  • Clarify the "not selected state" - maybe show the "Load safe" screen? keep the settings screen?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.