Skip to content
This repository was archived by the owner on Oct 15, 2021. It is now read-only.

Commit 23626d3

Browse files
storiesOfRenkeonik
andauthored
Chore/mui v5 (#35)
* base url to tsconfig * switching over to mui v5 * remove absolute imports, tests break * comment cleanup & duplicate code removal * theme options * custom port on readme Co-authored-by: John Fay <[email protected]>
1 parent 6c4463d commit 23626d3

14 files changed

+5686
-4883
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ Starts the application in development mode with hot-code reloading, error report
5252
The application will start at http://localhost:3000 by default. The default port can be changed with -p, like so:
5353

5454
```bash
55-
npm run dev -p 4000
55+
npm run dev -- -p 4000
5656
```
5757

5858
### format

components/Image.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import React, { ReactElement } from 'react';
22
import NextImage from 'next/image';
3-
import { Avatar, createStyles, makeStyles, Theme } from '@material-ui/core';
3+
import { Avatar, Theme } from '@mui/material';
4+
import { createStyles, makeStyles } from '@mui/styles';
45
import { Image as ImageType } from '../pages';
56

67
interface Props {

components/layout.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { makeStyles, createStyles, Typography } from '@material-ui/core';
1+
import { Typography } from '@mui/material';
2+
import { createStyles, makeStyles } from '@mui/styles';
23
import { ReactElement } from 'react';
34
import Head from 'next/head';
45

components/link/Link.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import { Link as MUILink } from '@material-ui/core';
2+
import { Link as MUILink } from '@mui/material';
33
import Link from 'next/link';
44

55
type Props = {

components/list/ListItem.tsx

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
11
import Image from '../Image';
2-
import {
3-
ListItem as MUIListItem,
4-
ListItemAvatar,
5-
Avatar,
6-
ListItemText,
7-
Grid,
8-
Typography,
9-
makeStyles,
10-
createStyles,
11-
Theme,
12-
} from '@material-ui/core';
2+
import { ListItem as MUIListItem, ListItemAvatar, Avatar, ListItemText, Grid, Typography, Theme } from '@mui/material';
3+
import { createStyles, makeStyles } from '@mui/styles';
134
import Link from '../link/Link';
145
import { Image as ImageType } from '../../pages/index';
156

jest.config.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ const config: Config.InitialOptions = {
1010
'\\.(css|less|scss|sass)$': 'identity-obj-proxy',
1111
},
1212
verbose: true,
13+
moduleNameMapper: {
14+
'src/(.*)': '<rootDir>/src/$1',
15+
'tests/(.*)': '<rootDir>/tests/$1',
16+
},
1317
};
1418

1519
export default config;

lib/theme.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
import { createTheme, responsiveFontSizes, ThemeOptions } from '@material-ui/core/styles';
2-
import '@material-ui/core/styles';
1+
import { createTheme, responsiveFontSizes, ThemeOptions } from '@mui/material/styles';
32

4-
declare module '@material-ui/core/styles/createTypography' {
3+
declare module '@mui/material/styles/createTypography' {
54
interface Typography {
65
fontWeightHeavy: number;
76
}

package-lock.json

Lines changed: 5641 additions & 4848 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
"version": "1.0.1",
44
"private": true,
55
"dependencies": {
6-
"@material-ui/core": "^4.12.3",
6+
"@emotion/react": "^11.4.1",
7+
"@emotion/styled": "^11.3.0",
8+
"@mui/material": "^5.0.1",
9+
"@mui/styles": "^5.0.1",
710
"next": "^11.1.2",
811
"react": "^17.0.2",
912
"react-dom": "^17.0.2"

pages/_app.tsx

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
import { AppProps } from 'next/app';
2-
import { ThemeProvider } from '@material-ui/styles';
3-
import CssBaseline from '@material-ui/core/CssBaseline';
2+
import { ThemeProvider, Theme, StyledEngineProvider } from '@mui/material/styles';
3+
import CssBaseline from '@mui/material/CssBaseline';
44
import theme from '../lib/theme';
55
import React, { useEffect } from 'react';
66

7+
declare module '@mui/styles/defaultTheme' {
8+
// eslint-disable-next-line @typescript-eslint/no-empty-interface
9+
interface DefaultTheme extends Theme {}
10+
}
11+
712
// Determines if we are running on server or in client.
813
const isServerSideRendered = () => {
914
return typeof window === 'undefined';
@@ -31,11 +36,13 @@ const App = ({ Component, pageProps }: AppProps) => {
3136
}, []);
3237

3338
return (
34-
<ThemeProvider theme={theme}>
35-
{/* CssBaseline kickstart an elegant, consistent, and simple baseline to build upon. */}
36-
<CssBaseline />
37-
<Component {...pageProps} />
38-
</ThemeProvider>
39+
<StyledEngineProvider injectFirst>
40+
<ThemeProvider theme={theme}>
41+
{/* CssBaseline kickstart an elegant, consistent, and simple baseline to build upon. */}
42+
<CssBaseline />
43+
<Component {...pageProps} />
44+
</ThemeProvider>
45+
</StyledEngineProvider>
3946
);
4047
};
4148

pages/_document.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Document, { Html, Head, Main, NextScript } from 'next/document';
2-
import { ServerStyleSheets } from '@material-ui/styles';
2+
import { ServerStyleSheets } from '@mui/styles';
33

44
import theme from '../lib/theme';
55
import React from 'react';

pages/index.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { GetServerSideProps } from 'next';
2-
import { makeStyles, createStyles, Typography, Theme, List, Grid } from '@material-ui/core';
2+
import { Typography, Theme, List, Grid } from '@mui/material';
3+
import { createStyles, makeStyles } from '@mui/styles';
34
import Layout from '../components/layout';
45
import ListItem, { Link } from '../components/list/ListItem';
56

@@ -9,7 +10,7 @@ const useStyles = makeStyles((theme: Theme) =>
910
createStyles({
1011
list: {
1112
minWidth: theme.breakpoints.values.sm,
12-
[theme.breakpoints.down('xs')]: {
13+
[theme.breakpoints.down('sm')]: {
1314
width: '100%',
1415
minWidth: 100,
1516
},

pages/tool/[name].tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
import { Button, Grid, makeStyles, Theme, Typography } from '@material-ui/core';
1+
import { Button, Grid, Theme, Typography } from '@mui/material';
2+
import { makeStyles } from '@mui/styles';
23
import { GetStaticProps } from 'next';
34
import Link from 'next/link';
45
import Image from 'next/image';
5-
import Breadcrumbs from '@material-ui/core/Breadcrumbs';
6+
import Breadcrumbs from '@mui/material/Breadcrumbs';
67
import { Tool, tools } from '../../lib/tools';
78
import { ReactElement } from 'react';
89
import Layout from '../../components/layout';

tests/test-utils.tsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import React from 'react';
44
import { render } from '@testing-library/react';
55
import { RouterContext } from 'next/dist/shared/lib/router-context';
66
import { NextRouter } from 'next/router';
7-
import { ThemeProvider } from '@material-ui/core';
7+
import { ThemeProvider, StyledEngineProvider } from '@mui/material';
88
import theme from '../lib/theme';
99

1010
export * from '@testing-library/react';
@@ -49,9 +49,11 @@ const mockRouter: NextRouter = {
4949
// Where you add your providers for mock testing wrapper
5050
export function customRender(ui: RenderUI, { wrapper, router, ...options }: RenderOptions = {}) {
5151
wrapper = ({ children }) => (
52-
<ThemeProvider theme={theme}>
53-
<RouterContext.Provider value={{ ...mockRouter, ...router }}>{children}</RouterContext.Provider>
54-
</ThemeProvider>
52+
<StyledEngineProvider injectFirst>
53+
<ThemeProvider theme={theme}>
54+
<RouterContext.Provider value={{ ...mockRouter, ...router }}>{children}</RouterContext.Provider>
55+
</ThemeProvider>
56+
</StyledEngineProvider>
5557
);
5658

5759
return render(ui, { wrapper, ...options });

0 commit comments

Comments
 (0)