- React Anchor Link Smooth Scroll
- React Hook Form
- Framer Motion
- Hero Icons
A quick look at the structure of this project.
.
├── public
│ └─── favicon.ico
├── src
│ ├─── assets
│ │ └─── images...
│ ├─── hooks
│ │ └─── useMediaQuery.ts
│ ├─── scenes
│ │ ├─── benefits
│ │ │ ├─── index.tsx
│ │ │ └─── Benefit.tsx
│ │ ├─── contactUs
│ │ │ └─── index.tsx
│ │ ├─── footer
│ │ │ └─── index.tsx
│ │ ├─── home
│ │ │ └─── index.tsx
│ │ ├─── navbar
│ │ │ ├─── index.tsx
│ │ │ └─── Link.tsx
│ │ ├─── ourClasses
│ │ │ ├─── index.tsx
│ │ │ └─── Class.tsx
│ ├─── shared
│ │ ├─── ActionButton.tsx
│ │ ├─── HText.tsx
│ │ └─── types.ts
│ ├─── App.tsx
│ ├─── index.css
│ ├─── main.tsx
│ └─── vite-env.d.ts
├── License
├── README.md
├── index.html
├── package-lock.json
├── package.json
├── postcss.config.js
├── prettier-config.cjs
├── tailwind.config.js
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
- Configure the top-level
parserOptions
property like this:
export default {
// other rules...
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
project: ['./tsconfig.json', './tsconfig.node.json'],
tsconfigRootDir: __dirname,
},
}
- Replace
plugin:@typescript-eslint/recommended
toplugin:@typescript-eslint/recommended-type-checked
orplugin:@typescript-eslint/strict-type-checked
- Optionally add
plugin:@typescript-eslint/stylistic-type-checked
- Install eslint-plugin-react and add
plugin:react/recommended
&plugin:react/jsx-runtime
to theextends
list