-
Notifications
You must be signed in to change notification settings - Fork 4
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
VIDCS-3321: Implement participant list toggle button, chat button, report issue button on mobile #95
base: develop
Are you sure you want to change the base?
Conversation
width: isSmallViewport ? '42px' : '48px', | ||
height: isSmallViewport ? '42px' : '48px', |
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.
Note: these were needed here and in other spots to make sure that these buttons are smaller in the tiny tab ™️ devices (such as iPhone SE). I could not use isSmallViewPort
directly on ToolbarButton
since we have components that are dependent on it such as the toolbar overflow menu opener and the hang up button which we want to remain the same even on the tiny tab ™️ devices.
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.
Could we add a prop to the ToolbarButton
? Maybe isSmallViewport
or isOverflowButton
so we can apply the changes inside the component instead of adding sx
props for all of these?
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.
great idea, added!
frontend/src/components/MeetingRoom/ReportIssueButton/ReportIssueButton.tsx
Show resolved
Hide resolved
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.
Looks good so far! Just have a few comments/questions. Let me know what you think!
frontend/src/components/MeetingRoom/ToolbarOverflowMenu/ToolbarOverflowMenu.spec.tsx
Show resolved
Hide resolved
frontend/src/components/MeetingRoom/ToolbarOverflowMenu/ToolbarOverflowMenu.spec.tsx
Outdated
Show resolved
Hide resolved
width: isSmallViewport ? '42px' : '48px', | ||
height: isSmallViewport ? '42px' : '48px', |
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.
Could we add a prop to the ToolbarButton
? Maybe isSmallViewport
or isOverflowButton
so we can apply the changes inside the component instead of adding sx
props for all of these?
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.
LGTM Great job!
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.
oh man, good eye, @maikthomas! I didn't notice this. I'll take a look 🙏 |
@@ -78,6 +80,10 @@ const ArchivingToggle = (): ReactElement => { | |||
style={{ color: `${isRecording ? 'rgb(239 68 68)' : 'white'}` }} | |||
/> | |||
} | |||
sx={{ | |||
marginTop: isSmallViewport ? '0px' : '4px', |
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.
Note: you'll notice that we set this here instead of ToolbarButton
. the reason is that we want to lower only certain buttons to make sure that they align correctly with those that are displayed only on desktop
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.
Do we know why these ones are affected only?
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.
these are all the ones that in the dropdown kebab menu but ToolbarButton
is used across other components so it's kinda the same reason as here: #95 (comment)
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.
Looks good so far! Just have a few comments/questions. Let me know what you think!
frontend/src/components/MeetingRoom/ParticipantListToggleButton/ParticipantListToggleButton.tsx
Outdated
Show resolved
Hide resolved
Let's address these alignments in a different PR. reason being is that audio/video dropdowns need to be refactored to use ToolbarButoon instead of its own IconButton 🙏 |
Works for me! |
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.
LGTM Great job!
@@ -78,6 +80,10 @@ const ArchivingToggle = (): ReactElement => { | |||
style={{ color: `${isRecording ? 'rgb(239 68 68)' : 'white'}` }} | |||
/> | |||
} | |||
sx={{ | |||
marginTop: isSmallViewport ? '0px' : '4px', |
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.
Do we know why these ones are affected only?
sx={{ | ||
marginTop: '0px', | ||
marginRight: '0px', | ||
}} | ||
onClick={handleClick} | ||
icon={<ChatIcon sx={{ color: isOpen ? blue.A100 : 'white' }} />} | ||
isSmallViewPort={isSmallViewport} |
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.
Can we not just access the hook value inside the ToolbarButton?
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.
addressed here: #95 (comment) 🙏
return ( | ||
<div className={`hidden ${displayOnDesktop()} px-3`}> | ||
<div className="pr-3"> |
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.
Hmm this is different from before px-3
, will this change anything?
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.
Could you remove the right margin for the chat button? I think it's interfering with the flex layout. There's more padding on the right side versus the left.
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.
width: props.isSmallViewPort ? '42px' : '48px', | ||
height: props.isSmallViewPort ? '42px' : '48px', |
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.
can we just use the hook 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.
so it is a little tricky because if we use the hook here it'll apply it to all of the toolbar buttons and we don't want that. The reason being the kebab menu and the hand up menus are ToolbarButton
components while the other ones (audio and video dropdowns) are not:
this way it'll get only applied to certain buttons
Some conflicts to deal with too 🙏 |
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.
Looks good so far! Just have a few comments/questions. Let me know what you think!
@@ -43,12 +45,14 @@ const ParticipantListButton = ({ | |||
overlap="circular" | |||
> | |||
<ToolbarButton | |||
data-testid="participant-list-toggle" |
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.
Not a toggle!
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'm starting to suspect you don't like toggles 😂
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 might be excessive, but I'm thinking about adding a lint rule for this 😂
frontend/src/components/MeetingRoom/EmojiGridButton/EmojiGridButton.tsx
Outdated
Show resolved
Hide resolved
frontend/src/components/MeetingRoom/ToolbarOverflowButton/ToolbarOverflowButton.spec.tsx
Outdated
Show resolved
Hide resolved
frontend/src/components/MeetingRoom/ToolbarOverflowMenu/ToolbarOverflowMenu.spec.tsx
Outdated
Show resolved
Hide resolved
|
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.
LGTM Great job!
What is this PR doing?
This PR implements participant list toggle button, chat button, report issue button on mobile.
iPhone SE:
iPhone 14 Pro Max:
How should this be manually tested?
Checkout this branch.
Change your developer console to be a mobile device, or use a real mobile device.
Ensure that the following are showing up as you click on the "three dots" menu in the toolbar:
.env
file locally infrontend/
folder withVITE_ENABLE_REPORT_ISSUE
set totrue
Note that all of these buttons are clickable and open what you'd expect them to. The functionality of what it is opening might not look great, that is going to be handled in subsequent PRs.
What are the relevant tickets?
A maintainer will add this ticket number.
Resolves VIDCS-3321
Checklist
[ ] Branch is based on
develop
(notmain
).[ ] Resolves a
Known Issue
.[ ] If yes, did you remove the item from the
docs/KNOWN_ISSUES.md
?[ ] Resolves an item reported in
Issues
.If yes, which issue? Issue Number?