Skip to content
This repository has been archived by the owner on Oct 23, 2023. It is now read-only.

feat: improve user experience #607

Merged
merged 12 commits into from
Sep 16, 2018
Merged

feat: improve user experience #607

merged 12 commits into from
Sep 16, 2018

Conversation

tilmx
Copy link
Member

@tilmx tilmx commented Sep 15, 2018

Contains:

General

  • Empty State for Element List ("Drag Components here")
  • Update styling of report button
  • Make preview non-selectable
  • Add HTML Export Button
    Show short element drop animation on hover

Project Settings

  • Add requirement details for library support
  • Rename Builtin Library to "Essentials"
  • Add connect new library button

@tilmx tilmx changed the title WIP feat: ux improvements WIP feat: improve user experience Sep 15, 2018
@tilmx tilmx changed the title WIP feat: improve user experience feat: improve user experience Sep 15, 2018
@@ -403,6 +406,15 @@ export class ElementList extends React.Component {
>
<Components.Element.ElementChildren>
{childContent ? <ElementContentContainer content={childContent} /> : null}
{hasChildren ? (
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be simplified to

!hasChildren && (<Components.EmptyState ... />

border-radius: 6px;
background-color: transparent;
margin: ${getSpace(SpaceSize.XS)}px;
margin: ${(props: AddButtonProps) => (props.margin ? `${getSpace(SpaceSize.XS)}px` : '0')};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could the decision wether margin should be used placed outside the component via <Space/>?

export const AddPageButton: React.SFC<AddPageButtonProps> = props => (
<StyledAddPageButton onClick={props.onClick}>
export const AddButton: React.SFC<AddButtonProps> = props => (
<StyledAddButton margin={props.margin} text={props.text} onClick={props.onClick}>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the text prop here and use a distinct StyledAddButtonInterface instead

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just out of curiousity: Why is it better here to split the prop interfaces?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed the text property and instead set the text as a children now.


export const ChromeButton: React.StatelessComponent<ChromeButtonProps> = props => (
<StyledChromeButton {...props}>
{props.icon ? <StyledIcon>{props.icon}</StyledIcon> : ''}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Simplify to props.icon && <StyledIcon .../>

@@ -21,6 +21,8 @@ export enum CopySize {
const StyledCopy = styled.p`
margin: 0;
line-height: 1.5;
user-select: none;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:/ Sure?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried to imitate the native behaviour of an native App with that... Do you think it’s not a good idea?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its the discussion from #519 again, si?

Personally I am annoyed when apps prevent me from copying things. E.g. I might want to explain what part of the UI I am writing about by citing the text I found there. Being able to copy such text makes my life as a user considerably easier then.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That being said there are legit use cases for user-select: none, e.g. draggable ui elements

@@ -21,6 +21,8 @@ const StyledHeadline = styled.div`
margin-top: 0;
font-family: ${fonts().NORMAL_FONT};
font-weight: 500;
user-select: none;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:/ Sure?

Copy link
Contributor

@marionebl marionebl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great stuff, got some comments

@tilmx
Copy link
Member Author

tilmx commented Sep 15, 2018

@marionebl Thanks! I addressed all the issues.

@marionebl marionebl merged commit 34f4a2c into master Sep 16, 2018
@marionebl marionebl deleted the feat/ux-improvements branch September 16, 2018 06:23
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants