Skip to content

Commit b0a6bfb

Browse files
committed
Migrate to App Router, add TypeScript, update styles
1 parent aec888f commit b0a6bfb

File tree

201 files changed

+10817
-14580
lines changed

Some content is hidden

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

201 files changed

+10817
-14580
lines changed

.editorconfig

+9-694
Large diffs are not rendered by default.

.eslintrc.js

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
const { resolve } = require('node:path');
2+
3+
const project = resolve(__dirname, 'tsconfig.json');
4+
5+
module.exports = {
6+
root: true,
7+
extends: [
8+
require.resolve('@vercel/style-guide/eslint/node'),
9+
require.resolve('@vercel/style-guide/eslint/typescript'),
10+
require.resolve('@vercel/style-guide/eslint/browser'),
11+
require.resolve('@vercel/style-guide/eslint/react'),
12+
require.resolve('@vercel/style-guide/eslint/next'),
13+
],
14+
parserOptions: {
15+
project,
16+
},
17+
settings: {
18+
'import/resolver': {
19+
typescript: {
20+
project,
21+
},
22+
},
23+
},
24+
rules: {
25+
'@typescript-eslint/no-unused-vars': [
26+
'error',
27+
{
28+
ignoreRestSiblings: true,
29+
argsIgnorePattern: '^_',
30+
varsIgnorePattern: '^_',
31+
caughtErrorsIgnorePattern: '^_',
32+
},
33+
],
34+
'@typescript-eslint/no-empty-interface': [
35+
'error',
36+
{
37+
allowSingleExtends: true,
38+
},
39+
],
40+
'@typescript-eslint/no-shadow': [
41+
'error',
42+
{
43+
ignoreOnInitialization: true,
44+
},
45+
],
46+
'import/newline-after-import': 'error',
47+
'react/jsx-uses-react': 'error',
48+
'react/react-in-jsx-scope': 'error',
49+
'unicorn/filename-case': [
50+
'error',
51+
{
52+
cases: {
53+
kebabCase: true, // personal style
54+
pascalCase: true,
55+
},
56+
},
57+
],
58+
59+
// Deactivated
60+
'@typescript-eslint/dot-notation': 'off', // paths are used with a dot notation
61+
'@typescript-eslint/no-misused-promises': 'off', // onClick with async fails
62+
'@typescript-eslint/no-non-null-assertion': 'off', // sometimes compiler is unable to detect
63+
'@typescript-eslint/no-unnecessary-condition': 'off', // remove when no static data is used
64+
'@typescript-eslint/require-await': 'off', // Server Actions require async flag always
65+
'@typescript-eslint/prefer-nullish-coalescing': 'off', // personal style
66+
'import/no-default-export': 'off', // Next.js components must be exported as default
67+
'import/no-extraneous-dependencies': 'off', // conflict with sort-imports plugin
68+
'import/order': 'off', // using custom sort plugin
69+
'no-nested-ternary': 'off', // personal style
70+
'no-redeclare': 'off', // conflict with TypeScript function overloads
71+
'react/jsx-fragments': 'off', // personal style
72+
'react/prop-types': 'off', // TypeScript is used for type checking
73+
74+
'@next/next/no-img-element': 'off', // Temporary disabled
75+
},
76+
};

.eslintrc.json

-14
This file was deleted.

CHANGELOG.md

+21-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,29 @@
1-
## v3.0.0
1+
# Changelog
22

3-
###### Feb 24, 2023
3+
## v4.0.0
4+
5+
###### Mar 8, 2024
46

7+
- Add `TypeScript`
8+
- Refactor code
9+
- Replace `date-fns` with `dayjs`
10+
- Replace `Formik` with `React Hook Form`
11+
- Replace `Hero Icons` with `Phosphor Icons`
12+
- Replace `pages` router with `app router`
13+
- Replace `Yup` with `Zod`
14+
- Update `eslint` rules
15+
- Update auth implementation
516
- Update dependencies
617
- Update design system
18+
19+
## v3.0.0
20+
21+
###### Feb 24, 2023
22+
723
- Refactor components
824
- Replace authentication
25+
- Update dependencies
26+
- Update design system
927

1028
## v2.1.0
1129

@@ -31,8 +49,8 @@
3149
- Add `Feather Icons`
3250
- Add `Formik` for login/register pages
3351
- Implement `react-router` v6 routing method
34-
- Remove extra views
3552
- Remove `node-sass` dependency
53+
- Remove extra views
3654
- Update all components to match the PRO version style
3755
- Update dependencies
3856
- Update folder structure to remove folder depth

README.md

+38-57
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
1-
## [Material Kit - React](https://material-kit-react.devias.io/) [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social&logo=twitter)](https://twitter.com/intent/tweet?text=%F0%9F%9A%A8Devias%20Freebie%20Alert%20-%20An%20awesome%20ready-to-use%20register%20page%20made%20with%20%23material%20%23react%0D%0Ahttps%3A%2F%2Fdevias.io%20%23createreactapp%20%23devias%20%23material%20%23freebie%20%40devias-io)
1+
## [Devias Kit - React](https://material-kit-react.devias.io/)
22

33
![license](https://img.shields.io/badge/license-MIT-blue.svg)
44

5-
[![Material Kit - React](https://github.com/devias-io/material-kit-react/blob/main/public/assets/thumbnail.png)](https://material-kit-react.devias.io/)
5+
[![Devias Kit - React](https://github.com/devias-io/material-kit-react/blob/main/public/assets/thumbnail.png)](https://material-kit-react.devias.io/)
66

7-
> Free React Admin Dashboard made with [MUI's](https://mui.com/?ref=devias-io)
8-
> components, [React](https://reactjs.org/?ref=devias-io) and of
9-
> course [Next.js](https://github.com/vercel/next.js/?ref=devias-io) to boost your app development
10-
> process!
7+
> Free React Admin Dashboard made with [MUI's](https://mui.com) components, [React](https://reactjs.org) and of course [Next.js](https://github.com/vercel/next.js) to boost your app development process!
118
12-
## Demo
9+
## Pages
1310

14-
- [Dashboard Page](https://material-kit-react.devias.io)
15-
- [Companies Page](https://material-kit-react.devias.io/companies)
16-
- [Customers Page](https://material-kit-react.devias.io/customers)
17-
- [Account Page](https://material-kit-react.devias.io/account)
18-
- [Settings Page](https://material-kit-react.devias.io/settings)
19-
- [Login Page](https://material-kit-react.devias.io/auth/login)
20-
- [Register Page](https://material-kit-react.devias.io/auth/register)
11+
- [Dashboard](https://material-kit-react.devias.io)
12+
- [Customers](https://material-kit-react.devias.io/dashboard/customers)
13+
- [Integrations](https://material-kit-react.devias.io/dashboard/integrations)
14+
- [Settings](https://material-kit-react.devias.io/dashboard/settings)
15+
- [Account](https://material-kit-react.devias.io/dashboard/account)
16+
- [Sign In](https://material-kit-react.devias.io/auth/sign-in)
17+
- [Sign Up](https://material-kit-react.devias.io/auth/sign-up)
18+
- [Reset Password](https://material-kit-react.devias.io/auth/reset-password)
2119

2220
## Free Figma Community File
2321

@@ -28,81 +26,64 @@
2826
We also have a pro version of this product which bundles even more pages and components if you want
2927
to save more time and design efforts :)
3028

31-
| Free Version (this one) | [Material Kit Pro - React](https://mui.com/store/items/devias-kit-pro/) |
32-
|-------------------------|:-------------------------------------------------------------------------|
33-
| **9** Demo Pages | **40+** demo pages
34-
| ✔ Mocked Authentication | ✔ Authentication with **Amplify**, **Auth0**, **JWT** and **Firebase**
35-
| - | ✔ Dark & light mode
36-
| - | ✔ CRA version
37-
| - | ✔ TypeScript version - for Standard Plus and Extended license
38-
| - | ✔ Design files (sketch & figma) - for Standard Plus and Extended license
39-
| - | ✔ Complete users flows
29+
| Free Version (this one) | [Devias Kit Pro](https://mui.com/store/items/devias-kit-pro/) |
30+
| ------------------------ | :--------------------------------------------------------------------------- |
31+
| **8** Pages | **80+** Pages |
32+
| ✔ Custom Authentication | ✔ Authentication with **Amplify**, **Auth0**, **Firebase** and **Supabase** |
33+
| - | ✔ Vite Version |
34+
| - | ✔ Dark Mode Support |
35+
| - | ✔ Complete Users Flows |
36+
| - | ✔ Premium Technical Support |
4037

4138
## Quick start
4239

43-
- [Download from Github](https://github.com/devias-io/material-kit-react/archive/master.zip)
44-
or [Download from Devias](https://devias.io/products/material-kit-react) or clone the
45-
repo: `git clone https://github.com/devias-io/material-kit-react.git`
46-
47-
- Make sure your Node.js and npm versions are up to date for `React 18`
48-
40+
- Clone the repo: `git clone https://github.com/devias-io/material-kit-react.git`
41+
- Make sure your Node.js and npm versions are up to date
4942
- Install dependencies: `npm install` or `yarn`
50-
5143
- Start the server: `npm run dev` or `yarn dev`
52-
53-
- Views are on: `localhost:3000`
44+
- Open browser: `http://localhost:3000`
5445

5546
## File Structure
5647

5748
Within the download you'll find the following directories and files:
5849

5950
```
60-
material-kit-react
61-
62-
┌── .eslintrc.json
51+
┌── .editorconfig
52+
├── .eslintrc.js
6353
├── .gitignore
6454
├── CHANGELOG.md
6555
├── LICENSE.md
56+
├── next-env.d.ts
6657
├── next.config.js
6758
├── package.json
6859
├── README.md
60+
├── tsconfig.json
6961
├── public
7062
└── src
7163
├── components
7264
├── contexts
73-
├── guards
74-
├── hocs
7565
├── hooks
76-
├── layouts
77-
├── sections
78-
├── theme
79-
├── utils
80-
└── pages
81-
├── 404.js
82-
├── _app.js
83-
├── _document.js
84-
├── account.js
85-
├── companies.js
86-
├── customers.js
87-
├── index.js
88-
├── products.js
89-
└── settings.js
90-
└── auth
91-
├── login.js
92-
└── register.js
66+
├── lib
67+
├── styles
68+
├── types
69+
└── app
70+
├── layout.tsx
71+
├── page.tsx
72+
├── auth
73+
└── dashboard
9374
```
9475

9576
## Resources
9677

97-
- More freebies like this one: <https://devias.io>
78+
- More freebies like this one: https://devias.io
9879

9980
## Reporting Issues:
10081

101-
- [Github Issues Page](https://github.com/devias-io/react-material-dashboard/issues?ref=devias-io)
82+
- [Github Issues Page](https://github.com/devias-io/material-kit-react/issues)
10283

10384
## License
10485

105-
- Licensed under MIT (https://github.com/devias-io/react-material-dashboard/blob/master/LICENSE.md)
86+
- Licensed under [MIT](https://github.com/devias-io/material-kit-react/blob/main/LICENSE.md)
10687

10788
## Contact Us
10889

jsconfig.json

-5
This file was deleted.

next-env.d.ts

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/// <reference types="next" />
2+
/// <reference types="next/image-types/global" />
3+
4+
// NOTE: This file should not be edited
5+
// see https://nextjs.org/docs/basic-features/typescript for more information.

next.config.js

-3
This file was deleted.

next.config.mjs

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/** @type {import('next').NextConfig} */
2+
const config = {};
3+
4+
export default config;

0 commit comments

Comments
 (0)