Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rizwan-signon/recipe_react_tailwind_responsive

This project is a React and TypeScript implementation that fetches recipes from the DummyJSON API.Each recipe can be clicked to view detailed information on a separate page, which includes the same header. The app uses lazy loading for heavy components and follows modular code structure with TypeScript interfaces for props and state.
https://github.com/rizwan-signon/recipe_react_tailwind_responsive

reactjs shadcn-ui tailwindcss typescript vite

Last synced: 10 days ago
JSON representation

This project is a React and TypeScript implementation that fetches recipes from the DummyJSON API.Each recipe can be clicked to view detailed information on a separate page, which includes the same header. The app uses lazy loading for heavy components and follows modular code structure with TypeScript interfaces for props and state.

Awesome Lists containing this project

README

        

# React + TypeScript + Vite
his project is a React and TypeScript implementation that fetches recipes from the DummyJSON API.Each recipe can be clicked to view detailed information on a separate page, which includes the same header. The app uses lazy loading for heavy components and follows modular code structure with TypeScript interfaces for props and state.
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](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## Expanding the ESLint configuration

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:

```js
export default tseslint.config({
languageOptions: {
// other options...
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
},
})
```

- Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked`
- Optionally add `...tseslint.configs.stylisticTypeChecked`
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config:

```js
// eslint.config.js
import react from 'eslint-plugin-react'

export default tseslint.config({
// Set the react version
settings: { react: { version: '18.3' } },
plugins: {
// Add the react plugin
react,
},
rules: {
// other rules...
// Enable its recommended rules
...react.configs.recommended.rules,
...react.configs['jsx-runtime'].rules,
},
})
```