Hotfix: Nom des dossiers + Ajout /functions/slug
0
backend/.gitignore → api/.gitignore
vendored
BIN
api/assets/images/functions/calculateAge.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
api/assets/images/functions/convertCurrency.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
api/assets/images/functions/randomNumber.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
api/assets/images/functions/weatherRequest.png
Normal file
After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 140 KiB |
Before Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 91 KiB |
@ -12,10 +12,15 @@ const FunctionCard = forwardRef((props, ref) => {
|
||||
}
|
||||
|
||||
return (
|
||||
<Link href={`/functions/${props.slug}`}>
|
||||
{/* Elément à une hauteur pendant chargement */}
|
||||
<Link
|
||||
href={"/functions/[slug]"}
|
||||
as={`/functions/${props.slug}`}
|
||||
>
|
||||
{/* FunctionCard a une hauteur pendant chargement */}
|
||||
<div ref={ref} style={isLoading ? { height: "360px", justifyContent: "center" } : null} className={"FunctionCard col-sm-24 col-md-10 col-xl-7"}>
|
||||
|
||||
{isLoading && <Loader width="125px" height="125px" />}
|
||||
|
||||
<div className={`FunctionCard__container ${isLoading ? "d-none" : ""}`}>
|
||||
<div className="FunctionCard__top">
|
||||
<img onLoad={handleLoad} className="FunctionCard__image" alt={props.title} src={props.image} />
|
@ -2,7 +2,7 @@ import Head from 'next/head';
|
||||
|
||||
const HeadTag = ({ title, image, description }) => (
|
||||
<Head>
|
||||
<title>{title}</title>
|
||||
<title>{title || ""}</title>
|
||||
<link rel="icon" type="image/png" href={image} />
|
||||
|
||||
{/* Meta Tag */}
|
26
website/pages/functions/[slug].js
Normal file
@ -0,0 +1,26 @@
|
||||
import { Fragment } from 'react';
|
||||
import { useRouter } from 'next/router';
|
||||
import HeadTag from '../../components/HeadTag';
|
||||
import { API_URL } from '../../config/config';
|
||||
|
||||
const FunctionComponent = () => {
|
||||
|
||||
const router = useRouter();
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<HeadTag
|
||||
title={router.query.slug}
|
||||
description={router.query.slug}
|
||||
image={`${API_URL}/images/functions/${router.query.slug}.png`}
|
||||
/>
|
||||
<div className="container text-center">
|
||||
<div className="row justify-content-center">
|
||||
<h1>{router.query.slug}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</Fragment>
|
||||
);
|
||||
}
|
||||
|
||||
export default FunctionComponent;
|
@ -1,11 +1,11 @@
|
||||
import { Fragment, useState, useEffect, useRef, useCallback } from 'react';
|
||||
import HeadTag from '../components/HeadTag';
|
||||
import FunctionCard from '../components/FunctionCard/FunctionCard';
|
||||
import Loader from '../components/Loader';
|
||||
import '../public/css/pages/functions.css';
|
||||
import { API_URL } from '../config/config';
|
||||
import api from '../config/api';
|
||||
import useAPI from '../hooks/useAPI';
|
||||
import HeadTag from '../../components/HeadTag';
|
||||
import FunctionCard from '../../components/FunctionCard/FunctionCard';
|
||||
import Loader from '../../components/Loader';
|
||||
import '../../public/css/pages/functions.css';
|
||||
import { API_URL } from '../../config/config';
|
||||
import api from '../../config/api';
|
||||
import useAPI from '../../hooks/useAPI';
|
||||
|
||||
const Functions = () => {
|
||||
|