Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
26e144d
Cleanup
OscarFava Oct 31, 2025
6bd2992
Merge remote-tracking branch 'origin/develop' into ofava/vidsol-240-l…
OscarFava Nov 3, 2025
8d06d93
Refactor UI components for improved layout and styling; update welcom…
OscarFava Nov 4, 2025
ef8bb8d
Update LandingPageWelcome component layout and styling; modify welcom…
OscarFava Nov 4, 2025
e4d69d2
Wrap MUI components + use wrapped components + add standard layout to…
OscarFava Nov 4, 2025
00756d1
Avoid using useTheme to use theme as param in sx + add new MUI wrappe…
OscarFava Nov 5, 2025
aca9e39
Refactor layout components to use GridLayout; update styles and add F…
OscarFava Nov 6, 2025
e2af1e3
Fix unit testing
OscarFava Nov 6, 2025
364ce1f
Fix lint
OscarFava Nov 6, 2025
8d9c498
Fix sonarCloud
OscarFava Nov 6, 2025
33de628
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 6, 2025
ca5cac8
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 6, 2025
affed4d
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 6, 2025
66acaf1
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 6, 2025
ebbb079
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 6, 2025
dc0c10a
Adapat UI banner Logo + layout
OscarFava Nov 6, 2025
b28577b
Refactor UI components to use Box and update styles; add new FormCont…
OscarFava Nov 7, 2025
5dc287c
Refactor root element in index.html and wrap App component in Box for…
OscarFava Nov 7, 2025
90d432c
Update frontend/src/components/BannerDateTime/BannerDateTime.tsx
OscarFava Nov 7, 2025
6fe87c7
Copilot suggestions
OscarFava Nov 7, 2025
0c64adf
github suggestions
OscarFava Nov 7, 2025
07fe366
Merge branch 'ofava/vidsol-291-header' of github.com:Vonage/vonage-vi…
OscarFava Nov 7, 2025
128649e
Update frontend/src/components/JoinButton/JoinButton.tsx
OscarFava Nov 7, 2025
1de9bdc
Update frontend/src/components/LanguageSelector/LanguageSelector.tsx
OscarFava Nov 7, 2025
6d6e9c5
Update frontend/src/components/LanguageSelector/LanguageSelector.tsx
OscarFava Nov 7, 2025
ab9ffdb
Update frontend/src/components/BannerDateTime/BannerDateTime.tsx
OscarFava Nov 7, 2025
b37b460
Refactor component props destructuring for consistency across UI comp…
OscarFava Nov 7, 2025
ac918ea
Fix accessibility
OscarFava Nov 7, 2025
3cf3a3b
Improve accessibility using MUI
OscarFava Nov 10, 2025
82d3ed4
Add some UI wrappers
OscarFava Nov 10, 2025
48d0bfd
Add more MUI wrappers
OscarFava Nov 10, 2025
791d6a2
Add last MUI wrappers
OscarFava Nov 10, 2025
19414ee
Fix unit testing of dialog
OscarFava Nov 10, 2025
9509188
Refactor room name input
OscarFava Nov 12, 2025
82e221e
UI/UX improvements
OscarFava Nov 13, 2025
b3460b4
Change color tokens
OscarFava Nov 13, 2025
ab46fb2
Merge branch 'ofava/vidsol-240-landing-page' into ofava/vidsol-291-he…
OscarFava Nov 13, 2025
c07e7e7
Apply UI/UX layout for header/footer + apply some tokens
OscarFava Nov 13, 2025
9cf4855
Refactor JoinButton to JoinWaitRoomButton; update translations and tests
OscarFava Nov 13, 2025
4da6734
Update room input helper text for clarity in multiple languages
OscarFava Nov 13, 2025
1fc7a4c
Merge branch 'ofava/vidsol-240-landing-page' into ofava/vidsol-291-he…
OscarFava Nov 13, 2025
f3a8ccc
Add data-testid to Footer component for improved testing
OscarFava Nov 13, 2025
87e45e5
Fix export statement in Footer component to use correct identifier
OscarFava Nov 14, 2025
20e03f1
Merge remote-tracking branch 'origin/develop' into ofava/vidsol-240-l…
OscarFava Nov 14, 2025
8f22bed
Merge branch 'ofava/vidsol-240-landing-page' into ofava/vidsol-291-he…
OscarFava Nov 14, 2025
e2ed0e1
Refactor font size structure in design tokens for improved clarity an…
OscarFava Nov 14, 2025
bd531a5
Merge remote-tracking branch 'origin/ofava/vidsol-240-landing-page' i…
OscarFava Nov 14, 2025
234b076
Refactor color usage in components to align with updated theme colors
OscarFava Nov 14, 2025
b16a849
Refactor theme usage across components to utilize MUI's theme palette
OscarFava Nov 14, 2025
0c06d8f
feat: Implement custom theme hook and integrate throughout components
OscarFava Nov 17, 2025
70fe7fe
refactor: Simplify border radius calculations and improve typography …
OscarFava Nov 17, 2025
a78eefc
Merge remote-tracking branch 'origin/ofava/vidsol-240-landing-page' i…
OscarFava Nov 17, 2025
442454b
test: Update border radius type checks to expect string values
OscarFava Nov 17, 2025
f142406
feat: Update subtitle typography values for improved mobile readability
OscarFava Nov 17, 2025
43781c2
Merge remote-tracking branch 'origin/ofava/vidsol-240-landing-page' i…
OscarFava Nov 17, 2025
e4432ff
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 17, 2025
a33c8ec
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 17, 2025
8923bb0
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 17, 2025
c5a3c63
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 17, 2025
dca0686
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 17, 2025
35b2ab3
refactor: update test descriptions and locator methods for clarity
OscarFava Nov 18, 2025
f1cc09a
Merge remote-tracking branch 'origin/ofava/vidsol-240-landing-page' i…
OscarFava Nov 18, 2025
1386d8d
feat: integrate custom theme into Footer and FooterLinks components; …
OscarFava Nov 18, 2025
fce8eab
refactor: improve accessibility and localization in GHRepoButton and …
OscarFava Nov 18, 2025
160ce19
fix: update VividIcon size attributes in LanguageSelector tests for c…
OscarFava Nov 18, 2025
fad14c5
Merge branch 'ofava/vidsol-240-landing-page' into ofava/vidsol-291-he…
OscarFava Nov 18, 2025
1646e16
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 18, 2025
32d7c28
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 18, 2025
cbed948
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 18, 2025
c802afb
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 18, 2025
d7ec295
Refactor FooterLinks and GHRepoButton components for consistency and …
OscarFava Nov 18, 2025
43f6459
Refactor dialog components to improve prop handling consistency
OscarFava Nov 18, 2025
e46dc0f
Fix rendering of language name in LanguageSelector for better consist…
OscarFava Nov 18, 2025
e7e0897
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 18, 2025
ccb8900
Fix testing
OscarFava Nov 18, 2025
b17c588
Merge remote-tracking branch 'origin/ofava/vidsol-240-landing-page' i…
OscarFava Nov 18, 2025
44d2e90
refactor: update background color styling for responsive design
OscarFava Nov 18, 2025
d63c825
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 18, 2025
13a40bb
Commit screenshot file: integration-tests/tests/visualComparisons.spe…
github-actions[bot] Nov 18, 2025
d86e17c
refactor: update navigation assertions in goodbye and landing tests f…
OscarFava Nov 18, 2025
bb91661
fix: update fallback language assignment for consistency
OscarFava Nov 18, 2025
7f06ac3
Update update-screenshots.yml
OscarFava Nov 18, 2025
31cc4c4
Update whitespaces
OscarFava Nov 18, 2025
f0c0257
fix: update logic for committing visual comparison screenshots
OscarFava Nov 18, 2025
a53621f
fix: update commit message for visual comparison screenshots
OscarFava Nov 18, 2025
b168305
Update visual comparison screenshots
github-actions[bot] Nov 18, 2025
2c28299
Merge branch 'ofava/vidsol-240-landing-page' into ofava/vidsol-291-he…
OscarFava Nov 18, 2025
7ab61e6
Update visual comparison screenshots
github-actions[bot] Nov 18, 2025
1640059
johnny/vidsol-240-landing-page-refinements
johnny-quesada-developer Nov 19, 2025
f4f90a1
removing unnecesary file
johnny-quesada-developer Nov 19, 2025
b84f0b6
johnny/vidsol-240-landing-page-refinements
johnny-quesada-developer Nov 19, 2025
b52470c
Merge branch 'johnny/vidsol-240-landing-page-refinements' of github.c…
OscarFava Nov 19, 2025
d132b17
Update theme handling and color tokens for improved dark mode support
OscarFava Nov 19, 2025
0a09d97
Refactor theme import paths to use unified module export
OscarFava Nov 19, 2025
0fc78c0
VIDSOL-240: landing page refinements (#278)
OscarFava Nov 19, 2025
0ba2a66
Merge remote-tracking branch 'origin/ofava/vidsol-240-landing-page' i…
OscarFava Nov 19, 2025
727720d
Merge remote-tracking branch 'origin/develop' into ofava/vidsol-291-h…
OscarFava Nov 24, 2025
05e787b
Refactor isValidRoomName function to validate input length and update…
OscarFava Nov 24, 2025
053a201
Refactor theme-related functions to use globalThis for matchMedia com…
OscarFava Nov 24, 2025
a5f9a01
Refactor isValidRoomName function for improved readability and mainta…
OscarFava Nov 24, 2025
41c04b7
Merge remote-tracking branch 'origin/develop' into ofava/vidsol-291-h…
OscarFava Nov 26, 2025
4937734
Move to ui library from frontend using nx
OscarFava Nov 26, 2025
0714d92
Refactor footer.github.title formatting for consistency across locali…
OscarFava Nov 26, 2025
de49b37
johnny/VIDSOL-211-removing opera
johnny-quesada-developer Nov 26, 2025
aabf349
Refactor UI library targets in project.json and update test scripts i…
OscarFava Nov 26, 2025
c08275d
ofava/vidsol-291-header
johnny-quesada-developer Nov 26, 2025
4c55e47
Update visual comparison screenshots
github-actions[bot] Nov 26, 2025
5e0a367
Refactor Mobile Chrome configuration to improve readability and ensur…
OscarFava Nov 26, 2025
9607222
Fix typo
OscarFava Nov 26, 2025
939e1e0
Refactor Footer component for improved readability and structure; enh…
OscarFava Nov 27, 2025
5b7752f
Refactor Footer component for improved code formatting and consistency
OscarFava Nov 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/1-bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ body:
- Chrome
- Firefox
- Microsoft Edge
- Opera
- Safari
- Electron

Expand Down
11 changes: 0 additions & 11 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,17 +74,6 @@ jobs:
/opt/firefox/firefox --version
echo "Firefox latest downloaded and installed"

- name: Install opera latest
run: |
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.opera.com/archive.key | gpg --dearmor | sudo tee /etc/apt/keyrings/opera.gpg > /dev/null
echo "deb [signed-by=/etc/apt/keyrings/opera.gpg] https://deb.opera.com/opera-stable/ stable non-free" | \
sudo tee /etc/apt/sources.list.d/opera-stable.list > /dev/null
sudo apt-get update
sudo apt-get install opera-stable -y
echo "Check opera version"
/usr/bin/opera --version

- name: Setup node
if: steps.check-skip-ci.outputs.result == 'false'
uses: actions/setup-node@v4
Expand Down
10 changes: 0 additions & 10 deletions .github/workflows/update-screenshots.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,16 +72,6 @@ jobs:
echo "Check firefox version"
/opt/firefox/firefox --version
echo "Firefox latest downloaded and installed"
- name: install opera latest
if: steps.check-update-screenshots.outputs.result == 'true'
run: |
sudo add-apt-repository 'deb https://deb.opera.com/opera-stable/ stable non-free'
wget -qO- https://deb.opera.com/archive.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install opera-stable -y
echo "Check opera version"
/usr/bin/opera --version
echo "Opera latest downloaded and installed"

- name: Checkout
if: steps.check-update-screenshots.outputs.result == 'true'
Expand Down
10 changes: 10 additions & 0 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,16 @@ export default [
rules: {
// unit test usually need to mock before importing to make the mocking work
'import/first': 'off',
'no-restricted-properties': [
'warn',
{ object: 'it', property: 'only', message: 'Remove .only from tests before committing!' },
{
object: 'describe',
property: 'only',
message: 'Remove .only from tests before committing!',
},
{ object: 'test', property: 'only', message: 'Remove .only from tests before committing!' },
],
},
},
];
10 changes: 10 additions & 0 deletions frontend/src/Context/Theme/helpers/getMuiCustomTheme.ts
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,16 @@ const getMuiCustomTheme = ({ tokens }: { tokens: ThemeTokens }) => {
},
},
},
MuiList: {
styleOverrides: {
root: {
backgroundColor: colors.onSecondary,
color: colors.textSecondary,
fontSize: tokens.typography.typeScale.desktop['body-base'].fontSize.value,
lineHeight: tokens.typography.typeScale.desktop['body-base'].lineHeight.value,
},
},
},
MuiTypography: {
styleOverrides: {
h1: createResponsiveTypography(tokens, 'headline', 'headline'),
Expand Down
22 changes: 0 additions & 22 deletions frontend/src/components/Banner/Banner.spec.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,26 +14,4 @@ describe('Banner', () => {
const bannerLogo = screen.getByTestId('banner-logo');
expect(bannerLogo).toBeInTheDocument();
});

it('renders the banner date and time', () => {
render(
<MemoryRouter>
<Banner />
</MemoryRouter>
);

const bannerDataTime = screen.getByTestId('dateAndTime');
expect(bannerDataTime).toBeInTheDocument();
});

it('renders the banner links', () => {
render(
<MemoryRouter>
<Banner />
</MemoryRouter>
);

const bannerLinks = screen.getByTestId('banner-links');
expect(bannerLinks).toBeInTheDocument();
});
});
47 changes: 21 additions & 26 deletions frontend/src/components/Banner/Banner.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import { ReactElement } from 'react';
import { AppBar, Toolbar } from '@mui/material';
import Box from '@ui/Box';
import Stack from '@ui/Stack';
import useCustomTheme from '@Context/Theme';
import BannerDateTime from '../BannerDateTime';
import BannerLinks from '../BannerLinks';
import Header from '@ui/Header';
import BannerLogo from '../BannerLogo';
import BannerLanguage from '../BannerLanguage';

Expand All @@ -18,30 +16,27 @@ const Banner = (): ReactElement => {
const theme = useCustomTheme();

return (
<AppBar position="static">
<Toolbar sx={{ alignItems: 'stretch' }}>
<Box sx={{ flex: 1, bgcolor: theme.colors.surface }}>
<BannerLogo />
</Box>
<Header appBarProps={{ position: 'static' }} toolbarProps={{ sx: { alignItems: 'stretch' } }}>
<Box sx={{ flex: 1, bgcolor: theme.colors.surface }}>
<BannerLogo />
</Box>

<Box sx={{ flex: 1, bgcolor: { xs: theme.colors.surface, md: theme.colors.background } }}>
<Stack
direction="row"
spacing={2}
alignItems="center"
justifyContent="flex-end"
sx={{
height: '100%',
bgcolor: { xs: theme.colors.surface, md: theme.colors.background },
}}
>
<BannerDateTime />
<BannerLanguage />
<BannerLinks />
</Stack>
</Box>
</Toolbar>
</AppBar>
<Box sx={{ flex: 1, bgcolor: { xs: theme.colors.surface, md: theme.colors.background } }}>
<Stack
direction="row"
spacing={2}
alignItems="center"
justifyContent="flex-end"
sx={{
height: '100%',
bgcolor: { xs: theme.colors.surface, md: theme.colors.background },
mr: 4,
}}
>
<BannerLanguage />
</Stack>
</Box>
</Header>
);
};

Expand Down
17 changes: 0 additions & 17 deletions frontend/src/components/BannerDateTime/BannerDateTime.spec.tsx

This file was deleted.

29 changes: 0 additions & 29 deletions frontend/src/components/BannerDateTime/BannerDateTime.tsx

This file was deleted.

3 changes: 0 additions & 3 deletions frontend/src/components/BannerDateTime/index.tsx

This file was deleted.

5 changes: 3 additions & 2 deletions frontend/src/components/BannerLanguage/BannerLanguage.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { ReactElement } from 'react';
import Box from '@ui/Box';
import LanguageSelector from '../LanguageSelector';

/**
Expand All @@ -9,9 +10,9 @@ import LanguageSelector from '../LanguageSelector';
*/
const BannerLanguage = (): ReactElement => {
return (
<div className="flex items-center" data-testid="banner-language">
<Box display="flex" alignItems="center" data-testid="banner-language">
<LanguageSelector />
</div>
</Box>
);
};

Expand Down
17 changes: 0 additions & 17 deletions frontend/src/components/BannerLinks/BannerLinks.spec.tsx

This file was deleted.

18 changes: 0 additions & 18 deletions frontend/src/components/BannerLinks/BannerLinks.tsx

This file was deleted.

3 changes: 0 additions & 3 deletions frontend/src/components/BannerLinks/index.tsx

This file was deleted.

19 changes: 4 additions & 15 deletions frontend/src/components/BannerLogo/BannerLogo.spec.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,15 @@ describe('BannerLogo', () => {
expect(vonageLogo.src).toContain('/images/vonage-logo-desktop.svg');
});

it('renders the vonage mobile logo', () => {
it('renders clickable logo with cursor pointer', () => {
render(
<MemoryRouter>
<BannerLogo />
</MemoryRouter>
);

const vonageLogo = screen.getByAltText<HTMLImageElement>('Vonage-mobile-logo');
expect(vonageLogo).toBeInTheDocument();
expect(vonageLogo.src).toContain('/images/vonage-logo-mobile.svg');
});

it('wraps logos in a Link pointing to the landing page', () => {
render(
<MemoryRouter>
<BannerLogo />
</MemoryRouter>
);

const link = screen.getByRole('link');
expect(link).toHaveAttribute('href', '/');
const logo = screen.getByTestId('banner-logo-image');
expect(logo).toBeInTheDocument();
expect(logo).toHaveStyle({ cursor: 'pointer' });
});
});
63 changes: 42 additions & 21 deletions frontend/src/components/BannerLogo/BannerLogo.tsx
Original file line number Diff line number Diff line change
@@ -1,31 +1,52 @@
import { ReactElement } from 'react';
import { Link } from 'react-router-dom';
import { useNavigate } from 'react-router-dom';
import Box from '@ui/Box';
import useIsTabletViewport from '@hooks/useIsTabletViewport';

/**
* BannerLogo Component
*
* This component returns the logo that redirects to the landing page when clicked.
* @returns {ReactElement} - the banner logo component
* This component returns a logo for the banner that navigates to the parent route when clicked.
* @returns {ReactElement} - the banner logo component.
*/
const BannerLogo = (): ReactElement => (
<Link to="..">
<div className="box-border" data-testid="banner-logo">
<img
style={{
marginLeft: '16px',
marginTop: '12px',
const BannerLogo = (): ReactElement => {
const isTablet = useIsTabletViewport();
const navigate = useNavigate();
const handleClick = () => {
navigate('..');
};

return (
<Box
data-testid="banner-logo"
sx={{
boxSizing: 'border-box',
ml: { xs: 1, md: 3 },
mt: { xs: 2, md: 2 },
px: { xs: 2, md: 0 },
}}
>
<Box
data-testid="banner-logo-image"
component="img"
src={isTablet ? '/images/vonage-logo-mobile.svg' : '/images/vonage-logo-desktop.svg'}
alt={isTablet ? 'Vonage-mobile-logo' : 'Vonage-desktop-logo'}
onClick={handleClick}
onKeyDown={(e) => {
if (e.key === 'Enter' || e.key === ' ') {
handleClick();
}
}}
role="button"
tabIndex={0}
sx={{
height: { xs: 40, md: 72 },
display: 'block',
cursor: 'pointer',
}}
className="hidden h-[72px] pl-4 pr-8 md:flex"
src="/images/vonage-logo-desktop.svg"
alt="Vonage-desktop-logo"
/>
<img
className="my-4 h-10 px-8 md:hidden"
src="/images/vonage-logo-mobile.svg"
alt="Vonage-mobile-logo"
/>
</div>
</Link>
);
</Box>
);
};

export default BannerLogo;
Loading
Loading