frontend: FunctionTabs en plusieurs components

This commit is contained in:
Divlo
2020-03-24 09:54:50 +01:00
parent 53330095be
commit b479e1501f
12 changed files with 114 additions and 84 deletions

View File

@ -1,53 +1,36 @@
import { Fragment } from 'react';
import Link from 'next/link';
import FunctionTabsContextProvider from '../../contexts/FunctionTabsContext';
import HeadTag from '../../components/HeadTag';
import FunctionComponentTop from '../../components/FunctionComponentTop';
import FunctionTabsTop from '../../components/FunctionTabs/FunctionTabsTop';
import FunctionTabs from '../../components/FunctionTabs/FunctionTabs';
import redirect from '../../utils/redirect';
import api from '../../config/api';
import { API_URL } from '../../config/config';
import api from '../../utils/api';
import { API_URL } from '../../utils/config';
import '../../public/css/pages/FunctionComponent.css';
const FunctionComponent = (props) => {
console.log(props);
// Constantes
const createdAt = new Date(props.createdAt);
const publicationDate = `${('0'+createdAt.getDate()).slice(-2)}/${('0'+(createdAt.getMonth()+1)).slice(-2)}/${createdAt.getFullYear()}`;
return (
<Fragment>
<FunctionTabsContextProvider>
<HeadTag title={props.title} description={props.description} image={API_URL + props.image} />
<div className="container-fluid">
<div className="container-fluid">
<div className="row justify-content-center text-center">
<div className="FunctionComponent__top col-24">
<img src={API_URL + props.image} alt={props.title} />
<h1 className="FunctionComponent__title title-important">{props.title}</h1>
<p className="FunctionComponent__description">{props.description}</p>
<div className="FunctionCard__info">
<Link href={`/functions?categoryId=${props.categorieId}`}>
<a className="FunctionCard__category" style={{ backgroundColor: props.categorie.color, color: 'inherit' }}>{props.categorie.name}</a>
</Link>
<p className="FunctionCard__publication-date">{publicationDate}</p>
</div>
</div>
</div>
</div>
<FunctionTabsTop type={props.type} />
<FunctionComponentTop { ...props } API_URL={API_URL} publicationDate={publicationDate} />
<div className="container-fluid">
<div className="row justify-content-center">
<FunctionTabs type={props.type}>
<div>Slide 1</div>
<div>Slide 2</div>
<div>Slide 3</div>
</FunctionTabs>
</div>
</div>
<FunctionTabs type={props.type}>
<div className="FunctionComponent__slide text-center">Slide 1</div>
<div className="FunctionComponent__slide text-center">Slide 2</div>
<div className="FunctionComponent__slide text-center">Slide 3</div>
</FunctionTabs>
</div>
</Fragment>
</FunctionTabsContextProvider>
);
}

View File

@ -4,7 +4,7 @@ import HeadTag from '../../components/HeadTag';
import FunctionCard from '../../components/FunctionCard/FunctionCard';
import Loader from '../../components/Loader';
import '../../public/css/pages/functions.css';
import api from '../../config/api';
import api from '../../utils/api';
import useAPI from '../../hooks/useAPI';
const Functions = () => {
@ -13,7 +13,7 @@ const Functions = () => {
// State de recherche et de catégories
const [, categories] = useAPI('/categories');
const [inputSearch, setInputSearch] = useState({ search: "", selectedCategory: "0" });
const [inputSearch, setInputSearch] = useState({ search: "", selectedCategory: categoryId || "0" });
// State pour afficher les fonctions
const [functionsData, setFunctionsData] = useState({ hasMore: true, rows: [] });