-
Notifications
You must be signed in to change notification settings - Fork 0
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
Feat/virtual joystick #2
Conversation
Hi there, Thank you for submitting the pull request for the new virtual joystick feature in the SkyOffice application. It's great to see contributions that enhance user experience, especially for mobile users. I've reviewed the changes, and I have some feedback and questions to ensure the feature integrates smoothly with the existing codebase. General Observations
Specific FeedbackDependency Management
Code Organization and Quality
UI/UX Considerations
Code Compatibility and Conflicts
Testing and Documentation
Final ThoughtsOverall, the feature seems promising and could significantly improve the mobile user experience. However, it's crucial to maintain consistency with the existing codebase and ensure that the new feature is well-integrated, tested, and documented. Please address the points mentioned above, and feel free to reach out if you need any clarification or further discussion on any of the feedback provided. Looking forward to seeing the refined implementation of the virtual joystick! Best regards, |
import { pushPlayerJoinedMessage } from '../stores/ChatStore' | ||
import { ItemType } from '../../../types/Items' |
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 good to see that you've added support for joystick movement in the MyPlayer
class. However, please ensure that the handleJoystickMovement
method is being called from the appropriate place in the code, such as from an event listener that responds to joystick movement events.
|
||
// update player selection box position so that it's always in front of the player |
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.
The integration of joystick movement into the PlayerSelector
update method is well done. Just make sure to test this thoroughly to ensure that the player selection box behaves correctly with both keyboard and joystick inputs.
|
||
const Backdrop = styled.div` |
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.
Please ensure that the change in the Backdrop
styled component's bottom
property from 0
to 60px
does not cause any unintended layout issues, especially when the virtual joystick is not visible. Also, the change in max-width
from 50%
to 100%
should be tested across different screen sizes to confirm that it does not negatively impact the chat UI on larger screens.
|
||
.close { |
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.
Adjusting the close button position in the ComputerDialog
to the top right corner with no offset is a good UI practice. However, please verify that this change does not overlap with any other UI elements and that it remains accessible across different screen sizes and resolutions.
import ArrowRightIcon from '@mui/icons-material/ArrowRight' | ||
import GitHubIcon from '@mui/icons-material/GitHub' |
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.
Adding buttons to toggle the virtual joystick visibility is a user-friendly feature. However, please ensure that the tooltip text changes dynamically based on the joystick's visibility state and that the button is tested for accessibility, such as keyboard navigation and screen reader compatibility.
height: 100vh; | ||
overflow: hidden; |
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.
The changes to the Backdrop
and Wrapper
styled components in WhiteboardDialog
to take full width and height are appropriate for a full-screen modal. However, ensure that the min-width: max-content;
style does not cause any horizontal scrolling or layout issues on smaller screens. Also, verify that the adjusted margin and close button position do not interfere with the whiteboard's usability or other UI elements.
videoConnected: false, | ||
loggedIn: false, |
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.
The addition of the showJoystick
state and the setShowJoystick
reducer in the UserStore
is well implemented. Please ensure that the initial state of showJoystick
is set correctly across all platforms and that the state is updated appropriately when the window is resized.
Feat/virtual joystick
New feature added: Basic Virtual Joystick
Hi, I decide implement this feature because it appears to be in high demand. Hope you find interesting.
Description:
For implement this, I use this component: https://github.com/elmarti/react-joystick-component
Note: This feature will conflict with this PR: #.62
I can take care of resolving conflicts
Related issues: