diff --git a/.eslintrc b/.eslintrc
index 2b28351..e833453 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -30,6 +30,9 @@
"no-underscore-dangle": "off",
"no-bitwise": "off",
"prettier/prettier": "error",
+ "no-restricted-syntax": "off",
+ "consistent-return": "off",
+ "react/jsx-one-expression-per-line": "off",
"react/no-unknown-property": [2, { "ignore": ["class", "for"] }],
"react/jsx-filename-extension": [1, { "extensions": [".tsx"] }],
"no-use-before-define": "off",
diff --git a/package-lock.json b/package-lock.json
index 6701cbc..0933b17 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -53,7 +53,8 @@
"tailwindcss": "^3.2.4",
"ts-jest": "^26.5.4",
"typescript": "^4.9.3",
- "vite": "^4.0.0"
+ "vite": "^4.0.0",
+ "vite-tsconfig-paths": "^4.2.0"
}
},
"node_modules/@ampproject/remapping": {
@@ -7125,6 +7126,12 @@
"node": ">=8"
}
},
+ "node_modules/globrex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
+ "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
+ "dev": true
+ },
"node_modules/gopd": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
@@ -16726,6 +16733,26 @@
"node": ">=10"
}
},
+ "node_modules/tsconfck": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-2.1.1.tgz",
+ "integrity": "sha512-ZPCkJBKASZBmBUNqGHmRhdhM8pJYDdOXp4nRgj/O0JwUwsMq50lCDRQP/M5GBNAA0elPrq4gAeu4dkaVCuKWww==",
+ "dev": true,
+ "bin": {
+ "tsconfck": "bin/tsconfck.js"
+ },
+ "engines": {
+ "node": "^14.13.1 || ^16 || >=18"
+ },
+ "peerDependencies": {
+ "typescript": "^4.3.5 || ^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
"node_modules/tsconfig-paths": {
"version": "3.14.1",
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
@@ -17185,6 +17212,25 @@
}
}
},
+ "node_modules/vite-tsconfig-paths": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.2.0.tgz",
+ "integrity": "sha512-jGpus0eUy5qbbMVGiTxCL1iB9ZGN6Bd37VGLJU39kTDD6ZfULTTb1bcc5IeTWqWJKiWV5YihCaibeASPiGi8kw==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.1.1",
+ "globrex": "^0.1.2",
+ "tsconfck": "^2.1.0"
+ },
+ "peerDependencies": {
+ "vite": "*"
+ },
+ "peerDependenciesMeta": {
+ "vite": {
+ "optional": true
+ }
+ }
+ },
"node_modules/w3c-hr-time": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
@@ -22573,6 +22619,12 @@
}
}
},
+ "globrex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
+ "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
+ "dev": true
+ },
"gopd": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
@@ -29534,6 +29586,13 @@
}
}
},
+ "tsconfck": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-2.1.1.tgz",
+ "integrity": "sha512-ZPCkJBKASZBmBUNqGHmRhdhM8pJYDdOXp4nRgj/O0JwUwsMq50lCDRQP/M5GBNAA0elPrq4gAeu4dkaVCuKWww==",
+ "dev": true,
+ "requires": {}
+ },
"tsconfig-paths": {
"version": "3.14.1",
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz",
@@ -29843,6 +29902,17 @@
"rollup": "^3.7.0"
}
},
+ "vite-tsconfig-paths": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.2.0.tgz",
+ "integrity": "sha512-jGpus0eUy5qbbMVGiTxCL1iB9ZGN6Bd37VGLJU39kTDD6ZfULTTb1bcc5IeTWqWJKiWV5YihCaibeASPiGi8kw==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.1",
+ "globrex": "^0.1.2",
+ "tsconfck": "^2.1.0"
+ }
+ },
"w3c-hr-time": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
diff --git a/package.json b/package.json
index 91ed7f6..ed1d62b 100644
--- a/package.json
+++ b/package.json
@@ -93,7 +93,8 @@
"tailwindcss": "^3.2.4",
"ts-jest": "^26.5.4",
"typescript": "^4.9.3",
- "vite": "^4.0.0"
+ "vite": "^4.0.0",
+ "vite-tsconfig-paths": "^4.2.0"
},
"baseUrl": "./node_modules/@types",
"typeRoots": [
diff --git a/src/App.tsx b/src/App.tsx
index bbc9b44..3931486 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,7 +1,10 @@
import React from 'react';
+import Modal from 'react-modal';
import { RouterProvider } from 'react-router-dom';
-import router from './routes/route_app';
+import router from '@routes/route_app';
+
+Modal.setAppElement('#root');
const App = () => {
return ;
diff --git a/src/components/Anchor/Anchor.tsx b/src/components/Anchor/Anchor.tsx
index 19f7dc8..f9b6b6a 100644
--- a/src/components/Anchor/Anchor.tsx
+++ b/src/components/Anchor/Anchor.tsx
@@ -1,6 +1,6 @@
import React from 'react';
-import { IAnchor } from '../../interfaces/anchor';
+import { IAnchor } from '@interfaces/anchor';
export const Anchor = ({ children, url }: IAnchor) => {
return (
diff --git a/src/components/CardDetails/CardDetails.tsx b/src/components/CardDetails/CardDetails.tsx
index 7a520c5..8066a12 100644
--- a/src/components/CardDetails/CardDetails.tsx
+++ b/src/components/CardDetails/CardDetails.tsx
@@ -1,26 +1,33 @@
-/* eslint-disable prettier/prettier */
import React from 'react';
import { AiOutlineColumnHeight } from 'react-icons/ai';
import { CgPokemon } from 'react-icons/cg';
import { FaWeightHanging } from 'react-icons/fa';
import { ImStatsBars } from 'react-icons/im';
-import { ICardDatails } from '../../interfaces/cardDatails';
-import { getNumberOrderFormat } from '../../utils/getNumberOrderFormat';
-import { getTypesToBackgroundColor, getTypesToIconsTypes } from '../../utils/getTheme';
-import { TypeCard } from '../TypeCard';
+import { TypeCard } from '@components/TypeCard';
+import { ICardDatails } from '@interfaces/cardDatails';
+import { formatHeightWeight } from '@utils/formatHeightWeight';
+import { getNumberOrderFormat } from '@utils/getNumberOrderFormat';
+import {
+ getTypesToBackgroundColor,
+ getTypesToIconsTypes,
+} from '@utils/getTheme';
-const formatHeightWeight = (value: number) => {
- const format = value / 10;
- return format;
-}
-
-export const CardDetails = ({ id, name, img, types, weight, height, abilities, stats }: ICardDatails) => {
+export const CardDetails = ({
+ id,
+ name,
+ img,
+ types,
+ weight,
+ height,
+ abilities,
+ stats,
+}: ICardDatails) => {
return (
{name}
- {getNumberOrderFormat(id!)}
+
+ {getNumberOrderFormat(id!)}
+
{types?.map((type, index) => {
return (
-
+
);
@@ -55,7 +68,7 @@ export const CardDetails = ({ id, name, img, types, weight, height, abilities, s
-
+
Peso:
@@ -68,22 +81,18 @@ export const CardDetails = ({ id, name, img, types, weight, height, abilities, s
-
+
Altura:
-
- {formatHeightWeight(height)}
- m
-
+ {formatHeightWeight(height)}m
-
-
+
Abilities
@@ -93,7 +102,9 @@ export const CardDetails = ({ id, name, img, types, weight, height, abilities, s
return (
- {ability.ability.name}
+
+ {ability.ability.name}
+
);
@@ -114,7 +125,7 @@ export const CardDetails = ({ id, name, img, types, weight, height, abilities, s
{/* */}
{stats.base_stat}
- )
+ );
})}
diff --git a/src/components/Footer/Footer.tsx b/src/components/Footer/Footer.tsx
index 48ff240..d3f7c7d 100644
--- a/src/components/Footer/Footer.tsx
+++ b/src/components/Footer/Footer.tsx
@@ -1,7 +1,7 @@
import React from 'react';
-import Logo from '../../assets/logo/pokemon-logo.svg';
-import { SocialMedia } from '../SocialMedia/SocialMedia';
+import Logo from '@assets/logo/pokemon-logo.svg';
+import { SocialMedia } from '@components/SocialMedia/SocialMedia';
export const Footer: React.FC = () => {
return (
diff --git a/src/components/Header/index.tsx b/src/components/Header/index.tsx
index 093cf33..44e7243 100644
--- a/src/components/Header/index.tsx
+++ b/src/components/Header/index.tsx
@@ -1,12 +1,10 @@
-/* eslint-disable no-restricted-syntax */
import React from 'react';
import { Link } from 'react-router-dom';
+import Pikachu from '@assets/img/pikachu-2.png';
+import Logo from '@assets/logo/logo.png';
import { ArrowLeft } from 'phosphor-react';
-import Pikachu from '../../assets/img/pikachu-2.png';
-import Logo from '../../assets/logo/logo.png';
-
export const Header = () => {
return (
diff --git a/src/components/InputSearch/InputSearch.tsx b/src/components/InputSearch/InputSearch.tsx
index 143d43c..6009cbd 100644
--- a/src/components/InputSearch/InputSearch.tsx
+++ b/src/components/InputSearch/InputSearch.tsx
@@ -1,9 +1,8 @@
import React from 'react';
+import { ISearch } from '@interfaces/search';
import { MagnifyingGlass } from 'phosphor-react';
-import { ISearch } from '../../interfaces/search';
-
export const InputSearch = ({ getFilterPokemon }: ISearch) => {
return (
diff --git a/src/components/ListPokemon/index.tsx b/src/components/ListPokemon/index.tsx
index 629f53c..989d116 100644
--- a/src/components/ListPokemon/index.tsx
+++ b/src/components/ListPokemon/index.tsx
@@ -1,12 +1,12 @@
import React from 'react';
-import { usePagination } from '../../hooks/usePagination';
-import { useGetPokemonsData } from '../../hooks/usePokemons';
-import { ListProps } from '../../interfaces/list';
-import { IPokemons } from '../../interfaces/pokemons';
-import { Loading } from '../Loading/Loading';
-import { PokemonCard } from '../PokemonCard';
-import { ShowMoreButton } from '../ShowMoreButton/ShowMoreButton';
+import { Loading } from '@components/Loading/Loading';
+import { PokemonCard } from '@components/PokemonCard';
+import { ShowMoreButton } from '@components/ShowMoreButton/ShowMoreButton';
+import { usePagination } from '@hooks/usePagination';
+import { useGetPokemonsData } from '@hooks/usePokemons';
+import { ListProps } from '@interfaces/list';
+import { IPokemons } from '@interfaces/pokemons';
export const ListPokemon = ({ data, handleSelectedId }: ListProps) => {
const itemsPerPage = 20;
diff --git a/src/components/Modal/index.tsx b/src/components/Modal/index.tsx
index af6f963..3106315 100644
--- a/src/components/Modal/index.tsx
+++ b/src/components/Modal/index.tsx
@@ -1,10 +1,9 @@
import React from 'react';
import Modal from 'react-modal';
+import { IModal } from '@interfaces/modal';
import { X } from 'phosphor-react';
-import { IModal } from '../../interfaces/modal';
-
export const ContentModal = ({ active, children, onCloseModal }: IModal) => {
return (
{
>