Skip to content
This repository was archived by the owner on Dec 21, 2022. It is now read-only.
This repository was archived by the owner on Dec 21, 2022. It is now read-only.

Single State for Project Visibility Status #65

Description

@cycomachead

I think we need to clean up the states for what's public/published. Calling @jmoenig and @brianharvey to this discussion.

The backend has 2 booleans, but there's really only 3 states.

  • Private
  • Shared
  • Published

In the front-end we currently use 2 icons to communicate state (a link and an eye), each which has a true and a false state. This makes it harder to tell the state of a project at a glance.

Additionally, changing the state of a project from published to private (or vice-versa) requires 2 clicks.

I propose that in the UI we go to 3 states, each which has a unique icon:

  • Private, a closed solid lock
  • Shared, perhaps the link, but there's reason for something else.
  • Published, an eye -- perhaps a globe

In most places, I think the icon and the text should go together, except for grids.
In places where all projects are published, I think we could consider dropping the status, but that's a separate issue.

To share a project, I think we should have a modal which lets you pick a setting, and can offer explanatory text. I'm attaching a google drive share modal as one such example. It could also be a customized dropdown menu.

There's a few reasons we should do this:

  • 1 status is much more clear and much less cognitive load to figure out what's going one.
    • 2 booleans means you have to think about what the combo means to determine what's actually happing
  • Groups (Icons + Text) are easier to use
  • All this also is important in terms of general accessibility requirements.

There's two issues still:

  • Name of the 3 states.
  • The icon for "shared via link" is naturally a link, but that means we can't use link icon for anything else, like a button that shows you the link to a project or something similar.

Screen Shot 2019-04-17 at 11 20 35 PM

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions