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

[UX] Improve gamepage #3613

Open
wants to merge 37 commits into
base: main
Choose a base branch
from

Conversation

Kajot-dev
Copy link
Contributor

@Kajot-dev Kajot-dev commented Mar 3, 2024

This PR aims to improve UI/UX of the redesigned gamepage view

Main fixes:

  • Moved "report issues" link a bit so both panels will always be the same height
  • Moved TabPanel into separate component as it was duplicated and gamepage used the same logic for the 3rd time
  • Instead of buttons, used tabs with icons
    • Two new translations will be needed for tab headers
  • Dots menu and game settings are on the right side back again
  • Fixed HowLongToBeat not displaying properly
    • It will scale better with translations which have longer text (no more ellipses, but still not perfect)
    • It now uses MUI's Accordion
  • Added initial styles for uninstall button (logic not implemented yet)
  • Centered play button (see rationale)

A little rationale for centered button

  • Button was not resizable which caused visual glitches on some translations
  • However I didn't want to go back to the old design where the button was stretched

Some screenshots with comparison:

Main info tab

Before:
Screenshot_20240303_233535
After:
Screenshot_20240303_233339

Extra info tab

Before:
Screenshot_20240303_233459
After:
Screenshot_20240303_233401

Sys requirements tab

Before:
Screenshot_20240303_233523
After:
Screenshot_20240303_233435

TODO:

  • Use more --space-* CSS variables for more consistency
  • Implement uninstall button
  • Make header (icons, back button) and footer (report issues) constant height so scrolling can be done by each panel independently

Use the following Checklist if you have changed something on the Backend or Frontend:

  • Tested the feature and it's working on a current and clean install.
  • Tested the main App features and they are still working on a current and clean install. (Login, Install, Play, Uninstall, Move games, etc.)
  • Created / Updated Tests (If necessary)
  • Created / Updated documentation (If necessary)

Signed-off-by: Kajot-dev <jjaruszewski@outlook.com>
Signed-off-by: Kajot-dev <jjaruszewski@outlook.com>
@flavioislima
Copy link
Member

flavioislima commented Mar 3, 2024

CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅

@Kajot-dev
Copy link
Contributor Author

I have read the CLA Document and I hereby sign the CLA

@Kajot-dev Kajot-dev changed the title [UX] WIP: Improve gamepage [UX] Improve gamepage Mar 16, 2024
@Kajot-dev
Copy link
Contributor Author

  • Top buttons have gained a shadow and are now sticky
  • Anticheat warning does not have unnecessary margin and is scaled correctly now
    image
  • Removed min-height and increased padding to compensate in installinfo/extrainfo rows. Since height is now bounded by the padding, opening HLTB does not have this "jumping" effect
  • Implemented Uninstall button

Redesigned gamepage should now be feature complete!

@Kajot-dev
Copy link
Contributor Author

Kajot-dev commented Mar 17, 2024

@arielj All issues should be addressed now. I see that one check has failed, but it was during installation of node-gyp so it's not related to this PR

EDIT: Merged changes from main and it passed

Copy link
Collaborator

@arielj arielj left a comment

Choose a reason for hiding this comment

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

I was testing this, I found these 2 issues:

now that the 3 dots button is back on the side of the screen, the menu open in the wrong direction for RTL languages:

image

The old design handles the direction this opens for reference (if I remember right it's some css based on the RTL class).

then there's one more issue related to RTL languages, the tabs MUI component seems to not support it properly and the arrows are not the right icons and one of the icons never shows up, but I don't know if this is fixable if it's an issue with MUI itself

other than those 2 issues it looks great!

@Kajot-dev
Copy link
Contributor Author

I was testing this, I found these 2 issues:

now that the 3 dots button is back on the side of the screen, the menu open in the wrong direction for RTL languages:

image

The old design handles the direction this opens for reference (if I remember right it's some css based on the RTL class).

then there's one more issue related to RTL languages, the tabs MUI component seems to not support it properly and the arrows are not the right icons and one of the icons never shows up, but I don't know if this is fixable if it's an issue with MUI itself

other than those 2 issues it looks great!

O I didn't even know, that Heroic supports RTL! As of MUI tabs this issue affects all MUI tabs in heroic so I would guess that it's a global MUI issue (I found this: mui/material-ui#30207 ; it's closed but not resolved really :)). I will think of some wrapper for the Tabs component which would correct this

@Kajot-dev
Copy link
Contributor Author

I was testing this, I found these 2 issues:

now that the 3 dots button is back on the side of the screen, the menu open in the wrong direction for RTL languages:

image

The old design handles the direction this opens for reference (if I remember right it's some css based on the RTL class).

then there's one more issue related to RTL languages, the tabs MUI component seems to not support it properly and the arrows are not the right icons and one of the icons never shows up, but I don't know if this is fixable if it's an issue with MUI itself

other than those 2 issues it looks great!

Fixed dots menu with a simple CSS tweak.
Fixed all MUI tabs across Heroic (We need to use mui Theme with specified direction as mui has internal logic which depends on that). So what happened was that CSS was RTL but the MUI logic was expecting LTR.

@Kajot-dev Kajot-dev requested a review from arielj March 26, 2024 00:15
@Kajot-dev
Copy link
Contributor Author

Build on macos-12 failed while detaching a drive, not related to the PR

@Kajot-dev
Copy link
Contributor Author

Fixed some more issues (and ofc all of these that you mentioned):

  • Nav buttons now respect color scheme
  • Background is scaled up by 10% to mitigate ugly edges on blurred image (this was not visible at first, since image was scaled to 100vw and now is scaled to 100%)
  • Instead of image filter brightness(30%) it now uses opacity to blend with the background. This makes background darker on dark themes (text is light) and brighter on light themes (text is dark usually)
  • Also styled progressbar using LinearProgress (since both sidebar and downloads tab are using it) - this also affects old design slightly
  • Icons on the main button are now larger and icon is always on the left side (this affects old design slightly)

Now I think everything is working as it should

Copy link
Collaborator

@arielj arielj left a comment

Choose a reason for hiding this comment

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

hey @Kajot-dev can you update the PR to have the latest code from main? just to be sure it's all good (there's no conflicts but shouldn't hurt to do that and I can merge this)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants