diff --git a/apps/website/components/blog-pagination/blog-pagination.spec.tsx b/apps/website/components/blog-pagination/blog-pagination.spec.tsx index f4cca7b..3ed60b3 100644 --- a/apps/website/components/blog-pagination/blog-pagination.spec.tsx +++ b/apps/website/components/blog-pagination/blog-pagination.spec.tsx @@ -1,10 +1,20 @@ -import { render } from '@testing-library/react'; +import {render} from '@testing-library/react'; import BlogPagination from './blog-pagination'; +jest.mock("next/router", () => ({ + useRouter() { + return { + route: "/", + pathname: "", + query: "", + asPath: "", + }; + }, +})); describe('BlogPagination', () => { it('should render successfully', () => { - const { baseElement } = render(); + const {baseElement} = render(); expect(baseElement).toBeTruthy(); }); }); diff --git a/apps/website/components/blog-pagination/blog-pagination.tsx b/apps/website/components/blog-pagination/blog-pagination.tsx index 0593cd1..07f97a1 100644 --- a/apps/website/components/blog-pagination/blog-pagination.tsx +++ b/apps/website/components/blog-pagination/blog-pagination.tsx @@ -6,7 +6,7 @@ export interface BlogPaginationProps { paginator: any; } -export function BlogPagination({paginator}: BlogPaginationProps) { +export function BlogPagination({paginator = {pagination: {}}}: BlogPaginationProps) { const router = useRouter(); const {total, pageCount, page} = paginator.pagination; const isOnlyOne = pageCount > 0 && pageCount === 1; @@ -41,7 +41,10 @@ export function BlogPagination({paginator}: BlogPaginationProps) { hover:bg-gray-900 disabled:bg-gray-500 disabled:hover:bg-gray-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"> -
+
diff --git a/apps/website/components/card-blog-details/card-blog-details.spec.tsx b/apps/website/components/card-blog-details/card-blog-details.spec.tsx index 75c020e..d4b20ea 100644 --- a/apps/website/components/card-blog-details/card-blog-details.spec.tsx +++ b/apps/website/components/card-blog-details/card-blog-details.spec.tsx @@ -1,10 +1,10 @@ -import { render } from '@testing-library/react'; +import {render} from '@testing-library/react'; import CardBlogDetails from './card-blog-details'; describe('CardBlogDetails', () => { it('should render successfully', () => { - const { baseElement } = render(); + const {baseElement} = render(); expect(baseElement).toBeTruthy(); }); }); 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 6d849c1..ccb92e6 100644 --- a/apps/website/components/card-blog-details/card-blog-details.tsx +++ b/apps/website/components/card-blog-details/card-blog-details.tsx @@ -13,80 +13,87 @@ import { WhatsappShareButton } from "react-share"; -import {environment} from "../../environments/environment"; - import styles from './card-blog-details.module.scss'; +import {getCategoryUrl, getPostUrl, getStrapiImage} from "../../libs/utils"; /* eslint-disable-next-line */ export interface CardBlogDetailsProps { item: any; } -export function CardBlogDetails({item}: CardBlogDetailsProps) { - const {alternativeText, width, height} = item.image.data.attributes; - const {slug} = item.category.data.attributes; +export function CardBlogDetails({item = {}}: CardBlogDetailsProps) { + const {width = 0, height = 0} = delve(item, 'image.data.attributes', {}); const {title} = item; - const shareUrl = `${environment.appUrl}/blog/${slug}/${item.slug}`; + const shareUrl = getPostUrl(item); return ( -
+

{delve(item, 'title', 'N/A')}

-
+
-
+
+ src={getStrapiImage(item, "default")} + alt={delve(item, 'title', 'N/A')} />
-
+ dangerouslySetInnerHTML={{__html: delve(item, 'content', 'N/A')}} /> +

Partager cet article

- + - + - + - + - - + +
diff --git a/apps/website/components/card-blog/card-blog.module.scss b/apps/website/components/card-blog/card-blog.module.scss index 45c2aa4..5a23236 100644 --- a/apps/website/components/card-blog/card-blog.module.scss +++ b/apps/website/components/card-blog/card-blog.module.scss @@ -5,3 +5,6 @@ * .container { * } */ +.card-blog-container { + margin-bottom: 10px; +} diff --git a/apps/website/components/card-blog/card-blog.tsx b/apps/website/components/card-blog/card-blog.tsx index d3aa0a9..14c4fb6 100644 --- a/apps/website/components/card-blog/card-blog.tsx +++ b/apps/website/components/card-blog/card-blog.tsx @@ -1,8 +1,8 @@ import delve from 'dlv'; -import { format } from 'date-fns'; -import {environment} from '../../environments/environment'; +import {format} from 'date-fns'; import styles from './card-blog.module.scss'; +import {getCategoryUrl, getPostUrl, getStrapiImage} from "../../libs/utils"; /* eslint-disable-next-line */ export interface CardBlogProps { @@ -11,38 +11,53 @@ export interface CardBlogProps { export function CardBlog({item}: CardBlogProps) { return ( -
+
Modern building architecture + src={getStrapiImage(item, 'medium')} + alt="Modern building architecture" />
diff --git a/apps/website/components/categories/categories.tsx b/apps/website/components/categories/categories.tsx index e31cdce..1189a35 100644 --- a/apps/website/components/categories/categories.tsx +++ b/apps/website/components/categories/categories.tsx @@ -15,7 +15,9 @@ export interface CategoriesProps { export function Categories({items = []}: CategoriesProps) { return (
+ className={styles['container'] + " rounded-lg mx-2 lg:mx-0 mt-5 lg:mt-0 p-5 mb-5 shadow-sm" + + " bg-white" + + " dark:bg-gray-800"}>
Catégories
diff --git a/apps/website/components/footer/footer.tsx b/apps/website/components/footer/footer.tsx index dd74c44..4bb00e7 100644 --- a/apps/website/components/footer/footer.tsx +++ b/apps/website/components/footer/footer.tsx @@ -19,7 +19,7 @@ export function Footer({items = []}) {
Flowbite Logo - Flowbite + MeCP
    {items.map((item, index: number) => generateItem(item, index))} diff --git a/apps/website/components/header/header.tsx b/apps/website/components/header/header.tsx index 17406cd..d4850eb 100644 --- a/apps/website/components/header/header.tsx +++ b/apps/website/components/header/header.tsx @@ -172,16 +172,16 @@ export function Header({items = []}) { return (