Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dashboard Revamp #70

Closed
neruthes opened this issue Jul 25, 2019 · 9 comments
Closed

Dashboard Revamp #70

neruthes opened this issue Jul 25, 2019 · 9 comments

Comments

@neruthes
Copy link
Contributor

neruthes commented Jul 25, 2019

Components:

  • Dashboard / Initialization
    • ...
  • Dashboard / Main
    • Add Persona
      • [PersonaCreation] Modal
        • Procedure:
          • Enter name
          • Get keypair
          • Connect first profile
    • Delete Persona
      • Popup Confirmation
    • Add Profile
      • [ProfileBinding] Modal
        • Procedure:
          • Enter profile URI
          • Get guides to paste public key into profile biography
    • Delete Profile
      • Popup Confirmation
    • Export Persona
    • Import Persona
    • Export Keystore
    • Import Keystore
  • Dashboard / Synchronization
    • Add Device
    • Rename Current Device
    • Quit Current Misakanet
@neruthes neruthes self-assigned this Jul 25, 2019
@SunriseFox
Copy link
Contributor

As we are going to support multiple identities and multiple providers, some changes we may need to apply to our dashboard:

  • Possibly rename current menu item Setup your account to Initialize your Maskbook, in which we could provide an all-in-one setup for all providers (facebook, twitter, etc.).
  • Add Identity Management menu item, allowing user to add more keystores, select default keystore for each provider, disable/enable each keystore (e.g. if enabled, we may try using this keystore to decrypt otherwise not), retrieve public keys (create/recreate proof post, [High Priority]Several on boarding problems #79 ) or completely remove them.

As a user may use more than one identity and thus own multiple keystores, cross-device transfer by a QR code which contains full keystore information seems not quite practical. So maybe a (distributed) bridge server is still needed. #77 we create a secure channel, and sync all / user-selected keystore by this channel with trusted pair.

Before that we also have to decide how the user may identify their identities, or rather, keystores. A user with multiple keys may get confused when managing them. We may assign a randomly generated English word to each keystore, or let user 'tag' it manually. Any other better solutions?

Summary in this issue
  • New initialization page for more providers
  • New setting page for identity management
  • New approach for tagging identities

@Tedko
Copy link
Member

Tedko commented Aug 22, 2019

Screen Shot 2019-08-22 at 00 39 27

Screen Shot 2019-08-22 at 00 39 52

retrieve public keys, Mentioned in #79

@neruthes
Copy link
Contributor Author

neruthes commented Sep 9, 2019

Preview.

Screen Shot 2019-09-09 at 06 34 45

Screen Shot 2019-09-09 at 06 34 19

@SunriseFox
Copy link
Contributor

In the new dashboard, where should we put the privacy policy, developer options, etc. ?

@neruthes
Copy link
Contributor Author

neruthes commented Oct 23, 2019

In the new dashboard, where should we put the privacy policy, developer options, etc. ?

We may add these links under the last button.

innerHTML href
Maskbook.com https://maskbook.com/
Privacy Policy https://maskbook.com/privacy-policy/
Source Code https://github.com/DimensionDev/Maskbook
Software License https://www.gnu.org/licenses/agpl-3.0.html

font-size: 16px; color: #999999; margin-top: 40px;

That will look like:

Screen Shot 2019-10-23 at 09 22 03

They will only appear in Dashboard section. When Synchronization is added, the tab bar will be added.

@neruthes
Copy link
Contributor Author

neruthes commented Oct 31, 2019

Seems that this image was neglected. Close buttons should be added to the images soon.

Screen Shot 2019-10-25 at 10 32 39

We will switch to Figma for Maskbook in future to allow non-Mac reading.

@neruthes
Copy link
Contributor Author

neruthes commented Nov 4, 2019

Update

We use a modal header to keep a consistent behavior across different screens. When on mobile where the can be no margin out of the modal, border-radius should be 0px; otherwise, 6px.

  • Modal max-width 600px

Header

  • Header 44px height
  • box-shadow: rgba(0,0,0,0.15) 0 1px 0
  • Title font: 17px medium '-apple-system'
  • Close button inner size 24px
  • Close button outer size 44px

Body

  • padding: 40px 0 50px
  • Content max-width: 500px

Screen Shot 2019-11-04 at 11 16 15

@Jack-Works
Copy link
Member

:awsl: it is toooo anti-material design and remind me of antd. I strongly recommend not to do this plz.

@SunriseFox
Copy link
Contributor

Followed by #369.

lucasespinosa28 pushed a commit to lucasespinosa28/Maskbook that referenced this issue Dec 13, 2021
* Disable jsx-a11y/accessible-emoji eslint rule

It's deprecated upstream anyway:

https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/pull/%3713

* Fix no-unused-vars warnings

* Fix react/jsx-no-target-blank warnings

* Fix equality comparison warnings

* Remove duplicate margin styles

* Remove <blink> tag

This causes warnings from eslint and in the browser console, since
<blink> is not a valid HTML tag.

* Fix react-hooks/exhaustive-deps warnings

Co-authored-by: Adam Spiers <javascript@adamspiers.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants