diff --git a/apps/website/components/card-blog-details/card-blog-details.tsx b/apps/website/components/card-blog-details/card-blog-details.tsx index ca4604d..4eaf9b6 100644 --- a/apps/website/components/card-blog-details/card-blog-details.tsx +++ b/apps/website/components/card-blog-details/card-blog-details.tsx @@ -35,17 +35,20 @@ export function CardBlogDetails({item = {}}: CardBlogDetailsProps) {
- + avatar

Par Alex John

-
+
{delve(item, 'category.data.attributes.name', 'N/A')} @@ -81,8 +84,7 @@ export function CardBlogDetails({item = {}}: CardBlogDetailsProps) { + className="Demo__some-network__share-button"> diff --git a/apps/website/components/card-blog/card-blog.tsx b/apps/website/components/card-blog/card-blog.tsx index cc43aaa..b0aeacc 100644 --- a/apps/website/components/card-blog/card-blog.tsx +++ b/apps/website/components/card-blog/card-blog.tsx @@ -27,6 +27,8 @@ export function CardBlog({item}: CardBlogProps) { text-gray-600 dark:text-gray-300">{format(new Date(delve(item, 'attributes.publishedAt', 'Jun 1, 2020')), 'dd/MM/yyyy')} @@ -35,6 +37,8 @@ export function CardBlog({item}: CardBlogProps) {
Lire l'article
- + avatar

Alex John

-
+
diff --git a/apps/website/components/footer/footer.tsx b/apps/website/components/footer/footer.tsx index 608d02d..43e45b9 100644 --- a/apps/website/components/footer/footer.tsx +++ b/apps/website/components/footer/footer.tsx @@ -6,8 +6,13 @@ export function Footer({items = []}) { const value = delve(item, 'attributes', {}); return ( -
  • - +
  • + {value.title}
  • @@ -17,17 +22,27 @@ export function Footer({items = []}) { return ( ); diff --git a/apps/website/components/header/header.tsx b/apps/website/components/header/header.tsx index d4850eb..2a9d163 100644 --- a/apps/website/components/header/header.tsx +++ b/apps/website/components/header/header.tsx @@ -50,6 +50,8 @@ export function Header({items = []}) { return ( {item.title} ) @@ -60,6 +62,8 @@ export function Header({items = []}) { return (
  • {value.title} @@ -86,7 +90,8 @@ export function Header({items = []}) {
  • -
    - diff --git a/apps/website/pages/_app.tsx b/apps/website/pages/_app.tsx index c087e69..8c56f07 100644 --- a/apps/website/pages/_app.tsx +++ b/apps/website/pages/_app.tsx @@ -50,6 +50,24 @@ const getPageMetadata = async (path) => { } } +const getCategoryMetadata = async (categorySlug) => { + try { + return await axios.get(`${environment.strapiApiUrl}/categories?filters[slug]=${categorySlug}&populate=deep`); + } catch (e) { + console.error(e); + return Promise.resolve({}); + } +} + +const getPostMetadata = async (postSlug) => { + try { + return await axios.get(`${environment.strapiApiUrl}/articles?filters[slug]=${postSlug}&populate=deep`); + } catch (e) { + console.error(e); + return Promise.resolve({}); + } +} + const CustomApp = ({Component, pageProps: {session, ...pageProps}, menuFooter, menuHeader, seo}: CustomAppProps) => { pageProps = {...pageProps, menuFooter, menuHeader, seo}; @@ -68,7 +86,18 @@ CustomApp.getInitialProps = async (context) => { const path = context.router.pathname; const menuHeader = await axios.get(`${environment.strapiApiUrl}/menus/1?nested&populate=deep`); const menuFooter = await axios.get(`${environment.strapiApiUrl}/menus/2?nested&populate=deep`); - const page = await getPageMetadata(path); + let page = null; + + console.log(context.ctx.query); + if (context.ctx.query.category_slug && !context.ctx.query.post_slug) { + page = await getCategoryMetadata(context.ctx.query.category_slug); + } else if (context.ctx.query.category_slug && context.ctx.query.post_slug) { + page = await getPostMetadata(context.ctx.query.post_slug); + } else if (Object.keys(context.ctx.query).length === 0) { + page = await getPageMetadata(path); + } + + console.log(page); return { ...appProps, diff --git a/apps/website/pages/about-us/index.module.scss b/apps/website/pages/about-us/index.module.scss new file mode 100644 index 0000000..45c2aa4 --- /dev/null +++ b/apps/website/pages/about-us/index.module.scss @@ -0,0 +1,7 @@ +/* + * Replace this with your own classes + * + * e.g. + * .container { + * } +*/ diff --git a/apps/website/pages/about-us/index.tsx b/apps/website/pages/about-us/index.tsx new file mode 100644 index 0000000..717c27a --- /dev/null +++ b/apps/website/pages/about-us/index.tsx @@ -0,0 +1,22 @@ +import SeoConfig from "../../components/seo-config/seo-config"; +import Layout from "../../components/layout/layout"; + +import styles from './index.module.scss'; + +export function AboutUs({menuHeader, menuFooter, seo}) { + return ( + <> + + +
    +
    +

    Contenu a venir

    +
    +
    +
    + + ); +} + +export default AboutUs; diff --git a/apps/website/pages/contact-us/index.module.scss b/apps/website/pages/contact-us/index.module.scss new file mode 100644 index 0000000..45c2aa4 --- /dev/null +++ b/apps/website/pages/contact-us/index.module.scss @@ -0,0 +1,7 @@ +/* + * Replace this with your own classes + * + * e.g. + * .container { + * } +*/ diff --git a/apps/website/pages/contact-us/index.tsx b/apps/website/pages/contact-us/index.tsx new file mode 100644 index 0000000..125a244 --- /dev/null +++ b/apps/website/pages/contact-us/index.tsx @@ -0,0 +1,25 @@ +import styles from './index.module.scss'; +import SeoConfig from "../../components/seo-config/seo-config"; +import Layout from "../../components/layout/layout"; + +/* eslint-disable-next-line */ +export interface ContactUsProps { +} + +export function ContactUs({menuHeader, menuFooter, seo}) { + return ( + <> + + +
    +
    +

    Contenu a venir

    +
    +
    +
    + + ); +} + +export default ContactUs; diff --git a/apps/website/pages/pricing/index.module.scss b/apps/website/pages/pricing/index.module.scss new file mode 100644 index 0000000..45c2aa4 --- /dev/null +++ b/apps/website/pages/pricing/index.module.scss @@ -0,0 +1,7 @@ +/* + * Replace this with your own classes + * + * e.g. + * .container { + * } +*/ diff --git a/apps/website/pages/pricing/index.tsx b/apps/website/pages/pricing/index.tsx new file mode 100644 index 0000000..b820b28 --- /dev/null +++ b/apps/website/pages/pricing/index.tsx @@ -0,0 +1,21 @@ +import styles from './index.module.scss'; +import SeoConfig from "../../components/seo-config/seo-config"; +import Layout from "../../components/layout/layout"; + +export function Pricing({menuHeader, menuFooter, seo}) { + return ( + <> + + +
    +
    +

    Contenu a venir

    +
    +
    +
    + + ); +} + +export default Pricing; diff --git a/apps/website/pages/school-programm/index.module.scss b/apps/website/pages/school-programm/index.module.scss new file mode 100644 index 0000000..45c2aa4 --- /dev/null +++ b/apps/website/pages/school-programm/index.module.scss @@ -0,0 +1,7 @@ +/* + * Replace this with your own classes + * + * e.g. + * .container { + * } +*/ diff --git a/apps/website/pages/school-programm/index.tsx b/apps/website/pages/school-programm/index.tsx new file mode 100644 index 0000000..9e557ae --- /dev/null +++ b/apps/website/pages/school-programm/index.tsx @@ -0,0 +1,22 @@ +import SeoConfig from "../../components/seo-config/seo-config"; +import Layout from "../../components/layout/layout"; + +import styles from './index.module.scss'; + +export function SchoolProgramm({menuHeader, menuFooter, seo}) { + return ( + <> + + +
    +
    +

    Contenu a venir

    +
    +
    +
    + + ); +} + +export default SchoolProgramm; diff --git a/apps/website/pages/teachers/index.module.scss b/apps/website/pages/teachers/index.module.scss new file mode 100644 index 0000000..45c2aa4 --- /dev/null +++ b/apps/website/pages/teachers/index.module.scss @@ -0,0 +1,7 @@ +/* + * Replace this with your own classes + * + * e.g. + * .container { + * } +*/ diff --git a/apps/website/pages/teachers/index.tsx b/apps/website/pages/teachers/index.tsx new file mode 100644 index 0000000..f9d1fbe --- /dev/null +++ b/apps/website/pages/teachers/index.tsx @@ -0,0 +1,22 @@ +import SeoConfig from "../../components/seo-config/seo-config"; +import Layout from "../../components/layout/layout"; + +import styles from './index.module.scss'; + +export function Teachers({menuHeader, menuFooter, seo}) { + return ( + <> + + +
    +
    +

    Contenu a venir

    +
    +
    +
    + + ); +} + +export default Teachers; diff --git a/package-lock.json b/package-lock.json index 248a53c..90236c9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9708,6 +9708,11 @@ "wrap-ansi": "^7.0.0" } }, + "load-script": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", + "integrity": "sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==" + }, "loader-runner": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", @@ -9907,6 +9912,11 @@ "fs-monkey": "^1.0.3" } }, + "memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -11364,6 +11374,25 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, + "react-player": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/react-player/-/react-player-2.11.2.tgz", + "integrity": "sha512-V5bf3g6lIpOjfKPUw18Og+qfizmlv6PQfJojlFiGpkfn/e21w5U4nSXE8vSIrFkfllgCrLM35nNGR1/jYQ8KIw==", + "requires": { + "deepmerge": "^4.0.0", + "load-script": "^1.0.0", + "memoize-one": "^5.1.1", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.0.1" + }, + "dependencies": { + "react-fast-compare": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", + "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" + } + } + }, "react-redux": { "version": "8.0.5", "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.0.5.tgz", diff --git a/package.json b/package.json index cf6d120..d4c91ac 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "react-dom": "18.2.0", "react-helmet": "6.0.0", "react-hook-form": "7.42.1", + "react-player": "^2.11.2", "react-redux": "^8.0.5", "react-share": "^4.4.1", "rxjs": "7.8.0",