Skip to content

Commit 9d74166

Browse files
authored
Merge pull request #647 from jeradrutnam/main
Improve UI theming by onboarding oxygen-ui dependency
2 parents 80eedc7 + 2f4f92c commit 9d74166

File tree

78 files changed

+4905
-643
lines changed

Some content is hidden

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

78 files changed

+4905
-643
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ yarn-error.log*
7676
# NX artifacts
7777
frontend/.nx/cache
7878
frontend/.nx/workspace-data
79+
frontend/packages/**/.nx/cache
80+
frontend/packages/**/.nx/workspace-data
7981

8082
# typescript
8183
*.tsbuildinfo

frontend/apps/thunder-develop/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
"@mui/x-tree-view": "catalog:",
4444
"@thunder/commons-contexts": "workspace:^",
4545
"@thunder/ui": "workspace:^",
46+
"@wso2/oxygen-ui": "workspace:^",
4647
"clsx": "catalog:",
4748
"dayjs": "catalog:",
4849
"lucide-react": "catalog:",

frontend/apps/thunder-develop/src/AppWithConfig.test.tsx

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,6 @@ vi.mock('./App', () => ({
6060
default: () => <div data-testid="app">App Component</div>,
6161
}));
6262

63-
// Mock CssBaseline
64-
vi.mock('@mui/material/CssBaseline', () => ({
65-
default: () => <div data-testid="css-baseline">CssBaseline</div>,
66-
}));
67-
6863
// Mock theme
6964
vi.mock('@thunder/ui', () => ({
7065
theme: {
@@ -193,14 +188,4 @@ describe('AppWithConfig', () => {
193188
expect(provider).toHaveAttribute('data-client-id', 'config-client-id');
194189
expect(provider).toHaveAttribute('data-after-sign-in-url', 'https://default-signin.example.com');
195190
});
196-
197-
it('renders CssBaseline component', () => {
198-
mockGetClientId.mockReturnValue('test-client-id');
199-
mockGetServerUrl.mockReturnValue('https://test-server.example.com');
200-
mockGetClientUrl.mockReturnValue('https://test-client.example.com');
201-
202-
render(<AppWithConfig />);
203-
204-
expect(screen.getByTestId('css-baseline')).toBeInTheDocument();
205-
});
206191
});

frontend/apps/thunder-develop/src/AppWithConfig.tsx

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@
1717
*/
1818

1919
import type {JSX} from 'react';
20-
import {StyledEngineProvider, ThemeProvider} from '@mui/material/styles';
21-
import {theme} from '@thunder/ui';
22-
import CssBaseline from '@mui/material/CssBaseline';
20+
import OxygenUIThemeProvider from '@wso2/oxygen-ui/OxygenUIThemeProvider';
2321
import {AsgardeoProvider} from '@asgardeo/react';
2422
import {useConfig} from '@thunder/commons-contexts';
2523
import App from './App';
@@ -34,12 +32,9 @@ export default function AppWithConfig(): JSX.Element {
3432
afterSignInUrl={getClientUrl() ?? (import.meta.env.VITE_ASGARDEO_AFTER_SIGN_IN_URL as string)}
3533
platform="AsgardeoV2"
3634
>
37-
<StyledEngineProvider injectFirst>
38-
<ThemeProvider theme={theme}>
39-
<CssBaseline enableColorScheme />
40-
<App />
41-
</ThemeProvider>
42-
</StyledEngineProvider>
35+
<OxygenUIThemeProvider>
36+
<App />
37+
</OxygenUIThemeProvider>
4338
</AsgardeoProvider>
4439
);
4540
}

frontend/apps/thunder-develop/src/components/Header/Header.tsx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,10 @@
1616
* under the License.
1717
*/
1818

19-
import Stack from '@mui/material/Stack';
20-
import Tooltip from '@mui/material/Tooltip';
21-
import {ColorModeIconDropdown} from '@thunder/ui';
19+
import {Stack, Tooltip} from '@wso2/oxygen-ui';
20+
import {ColorModeToggle} from '@wso2/oxygen-ui/ColorModeToggle';
2221
import type {JSX} from 'react';
23-
import {Bell} from 'lucide-react';
22+
import {Bell, Monitor, Moon, Sun} from 'lucide-react';
2423
import NavbarBreadcrumbs from '../Navbar/NavbarBreadcrumbs';
2524
import MenuButton from '../Sidebar/MenuButton';
2625
import Search from './Search';
@@ -45,10 +44,15 @@ export default function Header(): JSX.Element {
4544
<Search />
4645
<Tooltip title="Coming soon">
4746
<MenuButton showBadge aria-label="Open notifications">
48-
<Bell size={16} />
47+
<Bell strokeWidth={1} />
4948
</MenuButton>
5049
</Tooltip>
51-
<ColorModeIconDropdown />
50+
<ColorModeToggle
51+
data-testid="theme-toggle"
52+
darkModeIcon={<Moon strokeWidth={1} />}
53+
lightModeIcon={<Sun strokeWidth={1} />}
54+
systemModeIcon={<Monitor strokeWidth={1} />}
55+
/>
5256
</Stack>
5357
</Stack>
5458
);

frontend/apps/thunder-develop/src/components/Header/Search.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@
1616
* under the License.
1717
*/
1818

19-
import FormControl from '@mui/material/FormControl';
20-
import InputAdornment from '@mui/material/InputAdornment';
21-
import OutlinedInput from '@mui/material/OutlinedInput';
19+
import {FormControl, InputAdornment, OutlinedInput} from '@wso2/oxygen-ui';
2220
import {SearchIcon} from 'lucide-react';
2321
import type {JSX} from 'react';
2422

frontend/apps/thunder-develop/src/components/Navbar/AppNavbar.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,7 @@
1717
*/
1818

1919
import * as React from 'react';
20-
import {styled} from '@mui/material/styles';
21-
import AppBar from '@mui/material/AppBar';
22-
import Box from '@mui/material/Box';
23-
import Stack from '@mui/material/Stack';
24-
import MuiToolbar from '@mui/material/Toolbar';
25-
import {tabsClasses} from '@mui/material/Tabs';
26-
import Typography from '@mui/material/Typography';
20+
import {AppBar, styled, Box, Stack, Toolbar as MuiToolbar, tabsClasses, Typography} from '@wso2/oxygen-ui';
2721
import {ColorModeIconDropdown} from '@thunder/ui';
2822
import {LayoutDashboard, Menu} from 'lucide-react';
2923
import type {JSX} from 'react';

frontend/apps/thunder-develop/src/components/Navbar/NavbarBreadcrumbs.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,8 @@
1616
* under the License.
1717
*/
1818

19-
import {styled} from '@mui/material/styles';
20-
import Typography from '@mui/material/Typography';
21-
import Breadcrumbs, {breadcrumbsClasses} from '@mui/material/Breadcrumbs';
19+
import {styled, Typography, Breadcrumbs, breadcrumbsClasses, Box} from '@wso2/oxygen-ui';
2220
import {ChevronRightIcon} from 'lucide-react';
23-
import Box from '@mui/material/Box';
2421
import type {JSX} from 'react';
2522
import useNavigation from '@/layouts/contexts/useNavigation';
2623

frontend/apps/thunder-develop/src/components/Sidebar/MenuButton.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616
* under the License.
1717
*/
1818

19-
import Badge, {badgeClasses} from '@mui/material/Badge';
20-
import IconButton, {type IconButtonProps} from '@mui/material/IconButton';
19+
import {Badge, badgeClasses, IconButton, type IconButtonProps} from '@wso2/oxygen-ui';
2120
import type {JSX} from 'react';
2221

2322
export interface MenuButtonProps extends IconButtonProps {
@@ -27,7 +26,7 @@ export interface MenuButtonProps extends IconButtonProps {
2726
export default function MenuButton({showBadge = false, ...props}: MenuButtonProps): JSX.Element {
2827
return (
2928
<Badge color="error" variant="dot" invisible={!showBadge} sx={{[`& .${badgeClasses.badge}`]: {right: 2, top: 2}}}>
30-
<IconButton size="small" {...props} />
29+
<IconButton {...props} />
3130
</Badge>
3231
);
3332
}

frontend/apps/thunder-develop/src/components/Sidebar/MenuContent.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,7 @@
1717
*/
1818

1919
import {NavLink} from 'react-router';
20-
import List from '@mui/material/List';
21-
import ListItem from '@mui/material/ListItem';
22-
import ListItemButton from '@mui/material/ListItemButton';
23-
import ListItemIcon from '@mui/material/ListItemIcon';
24-
import ListItemText from '@mui/material/ListItemText';
25-
import Stack from '@mui/material/Stack';
20+
import {List, ListItem, ListItemButton, ListItemIcon, ListItemText, Stack} from '@wso2/oxygen-ui';
2621
import {Blocks, LayoutGrid, User, UsersRound} from 'lucide-react';
2722
import type {JSX} from 'react';
2823
import useNavigation from '@/layouts/contexts/useNavigation';

0 commit comments

Comments
 (0)