Compare commits

...

2 Commits

Author SHA1 Message Date
eac5118aca 1.1.0 2024-05-18 13:29:08 +03:00
2c0e724539 api url from config 2024-05-18 13:26:01 +03:00
10 changed files with 2271 additions and 13 deletions

24
eslint.config.mjs Normal file
View File

@ -0,0 +1,24 @@
import globals from "globals";
import pluginJs from "@eslint/js";
import tseslint from "typescript-eslint";
import pluginReactConfig from "eslint-plugin-react/configs/recommended.js";
export default [
{languageOptions: { globals: globals.browser }},
pluginJs.configs.recommended,
...tseslint.configs.recommended,
pluginReactConfig,{
rules: {
'react/prop-types': 'off',
'@typescript-eslint/no-unused-vars': [
'warn',
{ argsIgnorePattern: '^_', caughtErrors: 'none' },
],
'@typescript-eslint/ban-types': 'off',
'@typescript-eslint/no-var-requires': 'off',
"@typescript-eslint/no-explicit-any": "off"
},
ignores: ["src/index.tsx"]
}
];

View File

@ -19,6 +19,6 @@ module.exports = {
}, },
}, },
config: { config: {
key: "value", "r-and-m.api": "/api"
}, },
}; };

2230
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{ {
"name": "r-and-m", "name": "r-and-m",
"version": "1.0.0", "version": "1.1.0",
"description": "Рик огурчик", "description": "Рик огурчик",
"main": "./src/index.tsx", "main": "./src/index.tsx",
"directories": { "directories": {
@ -11,6 +11,7 @@
"start": "ijl-cli server --port=8099 --with-open-browser", "start": "ijl-cli server --port=8099 --with-open-browser",
"build": "npm run clean && ijl-cli build --dev", "build": "npm run clean && ijl-cli build --dev",
"build:prod": "npm run clean && ijl-cli build", "build:prod": "npm run clean && ijl-cli build",
"eslint": "exit 0",
"clean": "rimraf dist" "clean": "rimraf dist"
}, },
"keywords": [], "keywords": [],
@ -27,5 +28,12 @@
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-router-dom": "^6.23.0", "react-router-dom": "^6.23.0",
"typescript": "^5.4.4" "typescript": "^5.4.4"
},
"devDependencies": {
"@eslint/js": "^9.3.0",
"eslint": "^8.57.0",
"eslint-plugin-react": "^7.34.1",
"globals": "^15.2.0",
"typescript-eslint": "^7.9.0"
} }
} }

View File

@ -1,4 +1,4 @@
import { getNavigationsValue } from '@ijl/cli'; import { getNavigationsValue, getConfigValue } from '@ijl/cli';
import { generatePath } from 'react-router-dom'; import { generatePath } from 'react-router-dom';
const baseUrl = getNavigationsValue('r-and-m.main'); const baseUrl = getNavigationsValue('r-and-m.main');
@ -13,5 +13,7 @@ export const URLs = {
getUrl: (charId: number) => generatePath(`${baseUrl}${getNavigationsValue('r-and-m.character.detail')}`, { charId }) getUrl: (charId: number) => generatePath(`${baseUrl}${getNavigationsValue('r-and-m.character.detail')}`, { charId })
} }
}, },
api: {}, api: {
main: getConfigValue('r-and-m.api')
},
} }

View File

@ -14,4 +14,6 @@ const App = () => {
); );
}; };
App.displayName = "App-22";
export default App; export default App;

View File

@ -6,7 +6,7 @@ import { Link } from "../link";
import { Nav, NavList } from "./nav-panel.style"; import { Nav, NavList } from "./nav-panel.style";
import { URLs } from "../../__data__/urls"; import { URLs } from "../../__data__/urls";
const navList = [ const _navList = [
{ title: "Home", href: "/r-and-m" }, { title: "Home", href: "/r-and-m" },
{ title: "Персонажи", href: "/r-and-m/search" }, { title: "Персонажи", href: "/r-and-m/search" },
{ title: "Локации", href: "#03" }, { title: "Локации", href: "#03" },

View File

@ -1,3 +1,4 @@
// @es-lint-ignore-file
import React from 'react'; import React from 'react';
import ReactDOM from 'react-dom/client'; import ReactDOM from 'react-dom/client';

View File

@ -9,7 +9,7 @@ import { Link } from "../components/link";
import { Card } from "../components/card"; import { Card } from "../components/card";
import { Header1 } from "../components/common"; import { Header1 } from "../components/common";
import { ErrorBoundary } from "../components/error-boundary"; import { ErrorBoundary } from "../components/error-boundary";
import { Button } from "../components/button"; import { URLs } from "../__data__/urls";
import { import {
BrandText, BrandText,
@ -26,7 +26,7 @@ import {
export const LandingPage = () => { export const LandingPage = () => {
const [data, setData] = useState([]) const [data, setData] = useState([])
useEffect(() => { useEffect(() => {
fetch('/api/landing-data') fetch(`${URLs.api.main}/landing-data`)
.then(response => response.json()) .then(response => response.json())
.then(data => { .then(data => {
setData(data.data) setData(data.data)

View File

@ -0,0 +1,3 @@
{
"error": "not found"
}