Skip to content

Commit b4d927b

Browse files
VIDSOL-208: Language selector (#242)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 3f48e8a commit b4d927b

File tree

44 files changed

+1058
-151
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1058
-151
lines changed

README.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,20 @@ This application provides features for common conferencing use cases, such as:
6565
<img src="docs/assets/NoiseSupression.png" alt="Screenshot of noise supression toggle">
6666
</details>
6767
- <details>
68-
<summary>Background effects in meeting and waiting room. You can set predefined images, custom image or slight/strong background blur. Images can be uploaded from local device or URL in these formats: JPG, PNG, GIF or BMP. Background effects are not supported in non-Chromium-based browsers or on iOS. </summary>
68+
<summary>
69+
Background effects in meeting and waiting room. You can set predefined images, custom image or slight/strong background blur. Images can be uploaded from local device or URL in these formats: JPG, PNG, GIF or BMP. Background effects are not supported in non-Chromium-based browsers or on iOS.
70+
71+
Please see [OT.hasMediaProcessorSupport](https://vonage.github.io/video-docs/video-js-reference/latest/OT.html#hasMediaProcessorSupport) for more information.
72+
</summary>
73+
6974
<img src="docs/assets/BGEffects.png" alt="Screenshot of background effects">
7075
</details>
7176
- <details>
7277
<summary>Composed archiving capabilities to record your meetings.</summary>
7378
<img src="docs/assets/Archiving.png" alt="Screenshot of archiving dialog box">
7479
</details>
7580
- <details>
76-
<summary>In-call tools such as screen sharing, group chat function, and emoji reactions.</summary>
81+
<summary>In-call tools such as screen sharing (subscriber can zoom in/out if hasMediaProcessorSupport), group chat function, and emoji reactions.</summary>
7782
<img src="docs/assets/Emojis.png" alt="Screenshot of emojis">
7883
</details>
7984
- Active speaker detection.
@@ -106,6 +111,8 @@ The Vonage Video API Reference App for React is currently supported on the lates
106111
- ![Safari icon](/docs/assets/safari.svg) Safari
107112
- ![Electron icon](/docs/assets/electron.svg) Electron
108113

114+
*Note:* Some browsers such as Firefox or Safari do not support media processors like video and audio filters (e.g background effects): Please see [OT.hasMediaProcessorSupport](https://vonage.github.io/video-docs/video-js-reference/latest/OT.html#hasMediaProcessorSupport) for more information.
115+
109116
*Note:* Mobile web views have limited supported at the moment. The minimum supported device width is `360px`.
110117

111118
## Requirements

frontend/.env.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ VITE_TUNNEL_DOMAIN=''
1717
# Default language for i18next
1818
VITE_I18N_FALLBACK_LANGUAGE='en'
1919
# List all supported language, separated by | (example: VITE_I18N_SUPPORTED_LANGUAGES='en|es')
20-
VITE_I18N_SUPPORTED_LANGUAGES='en|es|es-MX'
20+
VITE_I18N_SUPPORTED_LANGUAGES='en|en-US|es|es-MX|it'

frontend/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
"@vitejs/plugin-react": "^4.4.1",
3333
"@vonage/client-sdk-video": "^2.31.0",
3434
"@vonage/vcr-sdk": "^1.3.0",
35+
"@vonage/vivid": "^5.3.0",
3536
"autolinker": "^4.0.0",
3637
"autoprefixer": "^10.4.19",
3738
"axios": "^1.12.0",

frontend/src/components/Banner/Banner.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@ import { ReactElement } from 'react';
22
import BannerDateTime from '../BannerDateTime';
33
import BannerLinks from '../BannerLinks';
44
import BannerLogo from '../BannerLogo';
5+
import BannerLanguage from '../BannerLanguage';
56

67
/**
78
* Banner Component
89
*
9-
* This component returns a banner that includes a logo, current date/time, and some links.
10+
* This component returns a banner that includes a logo, current date/time, language selector, and some links.
1011
* @returns {ReactElement} - the banner component.
1112
*/
1213
const Banner = (): ReactElement => {
@@ -16,6 +17,7 @@ const Banner = (): ReactElement => {
1617

1718
<div className="flex px-4">
1819
<BannerDateTime />
20+
<BannerLanguage />
1921
<BannerLinks />
2022
</div>
2123
</div>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { describe, expect, it } from 'vitest';
2+
import { render, screen } from '@testing-library/react';
3+
import { MemoryRouter } from 'react-router-dom';
4+
import BannerLanguage from './BannerLanguage';
5+
6+
describe('BannerLanguage', () => {
7+
it('renders the banner language component', () => {
8+
render(
9+
<MemoryRouter>
10+
<BannerLanguage />
11+
</MemoryRouter>
12+
);
13+
14+
const bannerLanguage = screen.getByTestId('banner-language');
15+
expect(bannerLanguage).toBeInTheDocument();
16+
});
17+
});
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { ReactElement } from 'react';
2+
import LanguageSelector from '../LanguageSelector';
3+
4+
/**
5+
* BannerLanguage Component
6+
*
7+
* This component provides a language selection feature for the banner.
8+
* @returns {ReactElement} The BannerLanguage component.
9+
*/
10+
const BannerLanguage = (): ReactElement => {
11+
return (
12+
<div className="flex items-center" data-testid="banner-language">
13+
<LanguageSelector />
14+
</div>
15+
);
16+
};
17+
18+
export default BannerLanguage;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import BannerLanguage from './BannerLanguage';
2+
3+
export default BannerLanguage;

0 commit comments

Comments
 (0)