-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Fix remaining issues for simplified team plans #10182
Conversation
cee2dda
to
7c0d6d7
Compare
The UI
A few issues when comparing with the Figma spec:
@gtsiolis do your keen eyes spot anything else? π π π |
Looking at this now! π |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @jankeromnes! Overall looks great. β¨
I couldn't find any code changes in this PR related to the UX comments left below, which made it harder to gather all these comments and find a place to add them. I assume these visual changes were part of another pull request, right?
Left some first round review comments. Let me know what you think.
Wow, many thanks @gtsiolis for the in-depth UX review and spot-on suggestions! πͺ
Ah, whoops, indeed. Most of these rough visual changes were actually implemented in #8041, but were left hidden from users by removing the new menu entry. πΆοΈ Thank you for still managing to do the in-depth review! π |
7c0d6d7
to
27d0c83
Compare
b12a4ea
to
ef668ad
Compare
ef668ad
to
aee8f75
Compare
This reverts commit 3479ced.
aee8f75
to
dab4a38
Compare
This comment was marked as resolved.
This comment was marked as resolved.
dab4a38
to
56f5b6b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UX LGTM, @jankeromnes! Left one last round of non-blocking comments.
return ( | ||
<ContextMenu menuEntries={enhancedEntries} classes={`${props.contextMenuWidth} right-0`}> | ||
<span className={`py-2 cursor-pointer ${font}`}> | ||
<ContextMenu menuEntries={enhancedEntries} customClasses={`${props.customClasses} right-0`}> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thought: Wondering if we need the custom classes altogether here. π
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe we do, because the context-menu sometimes need to be left-aligned or right-aligned, among other things.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's better to only use left-aligned items inside the dropdown menus. π‘
Do you have a handy instance of a right-alignment you're referring to?
I've only seen the dropdown in the workspace start page when using a desktop editor that's using center alignment and this should also change, see #6910.
If this is about the alignment of the component itself with the rest of the elements around it, we could probably move the alignment control outside this component, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, thanks for clarifying, @jankeromnes!
<div className="w-full h-full flex flex-col items-center justify-center"> | ||
<Spinner className="h-5 w-5 animate-spin" /> | ||
</div> | ||
</SolidCard> | ||
) : ( | ||
<SolidCard> | ||
<SolidCard className="w-72 h-64"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thought: Hoping in the future we can drop these by introducing component variants that include card size, etc. instead of hard-coding sizes like this. We'll get there!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are ways to achieve this with a single component, e.g. by using:
-
min-height
on the card (to allow it to grow arbitrary tall depending on its content, but not below some minimum height) -
items-stretch
on the card container (to make all the cards the same height, even if one card has a lot of content but the others don't)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but let's keep this as is for now until the card component matures enough from design perspective to set a foundation of card sizes, size steps, etc.
Long-term, to keep the component flexible I'd love to introduce a stepper property to increase the width or height without using Tailwind's classes. π§‘
But no need to do this in the scope of this PR. πΉ
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, it's good to keep in mind that Tailwind is so nice because it allows directly "hard-coding" style in a nice way (as opposed to hiding style under multiple levels of abstractions, making them really hard to adjust afterwards). π
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Long-term, to keep the component flexible I'd love to introduce a stepper property to increase the width or height without using Tailwind's classes. π§‘
But, even better would be if the Cards always look perfectly-sized, depending on their contents, without needing a stepper or Tailwind classes, right? π ("Default correct" is better than "lots of knobs and switches")
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, it's good to keep in mind that Tailwind is so nice because it allows directly "hard-coding" style in a nice way
I'm also in favor of duplication over abstraction as it comes with multiple benefits, but in the long run it makes sense to abstract some component aspects to help a) avoid running into code reviews nitpicking dimensions or other attributes, b) avoid requesting UX reviews when possible to avoid, c) feeling more confident about the product UX, and more.
However, this issue will become more relevant as these components mature and are widely used. For now, as long as we have two component instances of the solid card component, any approach would suffice and does not worth keeping this PR from being merged. π€
But, even better would be if the Cards always look perfectly-sized, depending on their contents, without needing a stepper or Tailwind classes, right?
Debatable! π
In most cases, the card component would need to use a specified width or height, which could be challenging to maintain when having multiple cards side-by-side that from a design perspective have to use fixed and specific dimensions regardless if some contents are missing. For example, see editor preferences, etc.
However, there's still need for having flexible card layouts without fixed width that fill the parent container on smaller viewports, etc.
/hold |
@jankeromnes Also, regarding the hold comment in #10182 (comment), in case it helps, this still needs a review from
|
Oh. Sounds like a bug if it's true -- you should absolutely be able to approve at least dashboard fixes & improvements. π’ |
Co-authored-by: George Tsiolis <[email protected]>
56f5b6b
to
f27b0e0
Compare
/unhold |
Starting review now... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jankeromnes Tested and fixed: Thx for that, and approve! βοΈ
I think I still managed to break it:
I think the reasons is the "Quantity" dropdown:
- during initial upgrade I choose 10 (or sth)
- I got billed 175 β¬ - without gaining anything π¬
- the subsequent 1st quantity upgrade (10 -> 2) did not trigger an addition charge being created (:+1: )
- the 2nd quantity upgrade (2 -> 3) incurred the charge (+35β¬) for the current month (:+1: )
IMO we should remove the quantity dropdown if possible.
/hold feel free to address this in this PR or let's discuss/fix in a follow up! π
Woohoo π many thanks!
"User buys too many seats on purpose, is then surprised to pay for too many seats" π Joking aside, I agree that it would be best to hide this quantity selector that isn't needed. It's confusing at best, if not actively harmful. Will see if there is an easy fix, but if there isn't, I'll just merge this as is and open a follow-up issue. |
I think the quantity selector can only be disabled in Chargebee's settings:
Happy to do this, but since it's a follow-up issue, let's unblock this PR first. /unhold EDIT: Filed this follow-up issue: https://github.com/gitpod-io/ops/issues/2543 |
Description
Improve and ship the simplified Team Billing. β¨
TODO:
Related Issue(s)
Fixes #10057
How to test
(If the bug isn't fixed, you'd see one "from 1 to 2" invoice, and another "from 1 to 3" invoice(!) that's double the amount)
Screenshot of a successful test:
Release Notes
Documentation