Merge pull request #15 from apuc/authentication

position_id filter, favicon, description
This commit is contained in:
kavalar 2021-08-12 17:00:53 +03:00 committed by GitHub
commit f7d17c1cd5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 28 additions and 10 deletions

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@ -7,7 +7,8 @@
<meta name="theme-color" content="#000000" /> <meta name="theme-color" content="#000000" />
<meta name="description" content="Web site created using create-react-app" /> <meta name="description" content="Web site created using create-react-app" />
<title>Outstaffing</title> <title>Аутстаффинг IT разработчиков в РФ</title>
<link rel="shortcut icon" href="favicon.ico" />
</head> </head>
<body> <body>

View File

@ -13,7 +13,8 @@ import ReportPage from './pages/ReportFormPage.js';
import FormPage from './pages/FormPage.js'; import FormPage from './pages/FormPage.js';
const App = () => { const App = () => {
return ( return (<>
<h1>IT Аутстаффинг в России</h1>
<Router> <Router>
<Switch> <Switch>
<Route path='/authdev' exact> <Route path='/authdev' exact>
@ -30,6 +31,7 @@ const App = () => {
<ProtectedRoute component={()=><div>Page not found</div>} /> <ProtectedRoute component={()=><div>Page not found</div>} />
</Switch> </Switch>
</Router> </Router>
</>
) )
} }

View File

@ -162,9 +162,8 @@ const AuthForDevelopers = () => {
</div> </div>
<div className={style.footer__left__sp}> <div className={style.footer__left__sp}>
<span> <span>
© Адвего биржа контента 1. Копирайтинг, рерайтинг, Подберем и документально оформим IT-специалистов, после чего передадим исполнителей под ваше руководство.
переводы, работа на дому: поставщик уникального контента. Вы получаете полное управление над сотрудниками, имея возможность контролировать и заменять IT штат.{' '}
2021{' '}
</span> </span>
</div> </div>
</div> </div>

View File

@ -153,8 +153,8 @@ const AuthForPartners = () => {
</div> </div>
<div className={style.footer__left__sp}> <div className={style.footer__left__sp}>
<span> <span>
© Адвего биржа контента 1. Копирайтинг, рерайтинг, переводы, работа на дому: поставщик Подберем и документально оформим IT-специалистов, после чего передадим исполнителей под ваше руководство.
уникального контента. 2021{' '} Вы получаете полное управление над сотрудниками, имея возможность контролировать и заменять IT штат.{' '}
</span> </span>
</div> </div>
</div> </div>

View File

@ -31,6 +31,7 @@ const Outstaffing = () => {
dataTags={tagsArr && tagsArr.flat().filter((tag) => tag.name === 'skills_front')} dataTags={tagsArr && tagsArr.flat().filter((tag) => tag.name === 'skills_front')}
img={front} img={front}
header="Фронтенд" header="Фронтенд"
positionId='2'
/> />
</div> </div>
<div className="col-12 col-xl-4"> <div className="col-12 col-xl-4">
@ -38,6 +39,7 @@ const Outstaffing = () => {
dataTags={tagsArr.flat().filter((tag) => tag.name === 'skills_back')} dataTags={tagsArr.flat().filter((tag) => tag.name === 'skills_back')}
img={back} img={back}
header="Бэкенд" header="Бэкенд"
positionId='1'
/> />
</div> </div>
<div className="col-12 col-xl-4"> <div className="col-12 col-xl-4">
@ -45,6 +47,7 @@ const Outstaffing = () => {
dataTags={tagsArr.flat().filter((tag) => tag.name === 'skills_design')} dataTags={tagsArr.flat().filter((tag) => tag.name === 'skills_design')}
img={design} img={design}
header="Дизайн" header="Дизайн"
positionId='5'
/> />
</div> </div>
</div> </div>

View File

@ -1,9 +1,18 @@
import React from 'react'; import React from 'react';
import { useDispatch, useSelector } from 'react-redux'; import { useDispatch, useSelector } from 'react-redux';
import { selectItems, selectedItems } from '../../redux/outstaffingSlice'; import { selectItems, selectedItems, filteredCandidates } from '../../redux/outstaffingSlice';
import { fetchItemsForId } from '../../server/server';
import style from './Outstaffing.module.css'; import style from './Outstaffing.module.css';
const OutstaffingBlock = ({ dataTags = [], selected, img, header }) => { const handlePositionClick = ({dispatch, positionId}) => {
fetchItemsForId(`${process.env.REACT_APP_API_URL}/api/profile?position_id=`, positionId).then((el) =>
dispatch(filteredCandidates(el))
);
};
const OutstaffingBlock = ({ dataTags = [], selected, img, header, positionId }) => {
console.log('p', positionId)
const dispatch = useDispatch(); const dispatch = useDispatch();
const itemsArr = useSelector(selectItems); const itemsArr = useSelector(selectItems);
@ -28,7 +37,7 @@ const OutstaffingBlock = ({ dataTags = [], selected, img, header }) => {
return ( return (
<div className={style.outstaffing__box}> <div className={style.outstaffing__box}>
<div className={`${style.outstaffing__box__img} ${selected ? style.border : null}`}> <div className={`${style.outstaffing__box__img} ${selected ? style.border : ''}`} onClick={()=>handlePositionClick({dispatch, positionId})}>
<h3>{header}</h3> <h3>{header}</h3>
<img className={classes} src={img} alt="img" /> <img className={classes} src={img} alt="img" />
</div> </div>

View File

@ -17,3 +17,7 @@ code {
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
monospace; monospace;
} }
h1 {
display: none;
}