-
Notifications
You must be signed in to change notification settings - Fork 80
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
UI layout refactor, various UI bug fixes, improvements #1270
Conversation
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.
oof yeah this will be painful to reconcile with my complete refactoring of the sidebar. hopefully you can take whats still important from this and build on my refactor
It's not as bad as it might seem, especially if you're viewing the diff with whitespace changes. I am confident I can apply what I did to whatever you've done. |
b2c5765
to
4be39c8
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.
Some UX issues are re-introduced though :-(
This is in Ubuntu, in both Chrome and Firefox, https://alchemy-staging-rinkeb-pr-1270.herokuapp.com/dao/0x72939947e7a1c4ac94bb840e3304b322237ad1a8/scheme/0x16b81c56297ae81ffa32ed128f17dbf7b108eb9200d2c8110a9ff2e05e095995, scrollbar in proposals list:
@@ -120,7 +120,6 @@ | |||
"react-router-modal": "^1.5.2", | |||
"react-router-redux": "^5.0.0-alpha.9", | |||
"react-select": "^3.0.4", | |||
"react-stickynode": "^2.1.1", |
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 PR that reoves a dependency is a pleasure to see :-)
@jellegerbrandy I don't understand what is the problem with either of the two screenshots you gave. Looks like the scrollbar is needed in both cases. Note the comment from this PR's description:
|
Ok, I missed that in the description. That makes thsi PR implies a rather big UI change, Did you discusss this with alex? These "in-component" scrollbars are difficutlt to get right: they introduce new edge cases to take care of (as in the first screenshot below, where the scrollbar is outside of the window, or int he second, where we have no scrollbar at all). Also, we get a new styling problem, as the components have to look good both with and without the scrollbar and the scrollbar itself is difficult to style...) So this is not a good idea imho. |
No, but I can't imagine a problem because what I'm doing here is a best practice and seems to me to improve the UX. When scrollbars appear they scroll exactly what one expects to be scrolled.
The scrollbar you're seeing is part of the sidebar (I think this is clear from the picture and you can just try scrolling it to confirm). It looks correct to me.
When I go to that page I do see a scrollbar. Your screenshot is clipped off on the right and is not showing the scrollbar. However, I do see a problem which is that padding-bottom of the page should be accounting for the disclaimer box (scrollbar or not). I have corrected this.
I humbly disagree. First, we're not going from "not in-component" to "in-component". We're going from scrollbars at a higher-level component (where the coded behavior needs to capture all possibilities, something a higher-level component is less qualified to do), to the actual components that actually need the scrolling behavior. The coding becomes easier, not harder, because the scrollable component knows best what needs to be scrolled and how to do it, and the code will be orthogonal to other components. [Addendum] There are other UI tickets outstanding that I believe may benefit from more localized handling of scrolling. One reason: by handling scrolling more locally we can avoid the hacks that are used when scrolling is managed by an external component, hacks such as using |
My #1 comment on this PR would be about places where a component uses "100vh" to compute its height. Such a calculation requires that the component have knowledge of where they exist in their containing UI layout. This can be OK for certain components, but not for others. Ideally we avoid it. |
|
hey @dkent600 the "in-component" scrollbars are not going to production, so i will not merge this PR as is. there is of course lots of other good stuff in here that we would like to incude. idea on the best way to salvage that? |
Resolves: https://daostack.tpondemand.com/RestUI/Board.aspx#page=board/5209716961861964288&appConfig=eyJhY2lkIjoiQjgzMTMzNDczNzlCMUI5QUE0RUE1NUVEOUQyQzdFNkIifQ==&boardPopup=bug/1807/silent
Resolves: part of https://daostack.tpondemand.com/RestUI/Board.aspx#page=board/5209716961861964288&appConfig=eyJhY2lkIjoiQjgzMTMzNDczNzlCMUI5QUE0RUE1NUVEOUQyQzdFNkIifQ==&boardPopup=bug/1419/silent
inSchemes
property to DaoSideBar)float
andfixed
orabsolute
positioning, instead usingflex
CSS (or a table in one case).Sticky
component (no more .js, only .css there)Sticky