c
diff --git a/apps/website/components/home/home.tsx b/apps/website/components/home/home.tsx
index 397dacc..d45cc4a 100644
--- a/apps/website/components/home/home.tsx
+++ b/apps/website/components/home/home.tsx
@@ -7,9 +7,10 @@ import HomeSectionBlog from "../home-section-blog/home-section-blog";
/* eslint-disable-next-line */
export interface HomeProps {
+ posts: object[];
}
-export function HomeContent(props: HomeProps) {
+export function HomeContent({posts}: HomeProps) {
return (
@@ -17,7 +18,7 @@ export function HomeContent(props: HomeProps) {
-
+
);
}
diff --git a/apps/website/environments/environment.development.ts b/apps/website/environments/environment.development.ts
index f8ed65b..d4d25d0 100644
--- a/apps/website/environments/environment.development.ts
+++ b/apps/website/environments/environment.development.ts
@@ -1,7 +1,7 @@
export const environment = {
appUrl: 'http://localhost:4200',
- strapiUrl: 'http://127.0.0.1:1337',
- strapiApiUrl: 'http://127.0.0.1:1337/api',
+ strapiUrl: 'http://localhost:1337',
+ strapiApiUrl: 'http://localhost:1337/api',
nextAuthSecret: "yBNW1wrb9CgOvEfbX6EQCvCDqiMkRBZP",
meiliApiKey: "0e9a9d027b9e6b2d98c9670e5030a8d1aa72cab911fd768d4ad02636ae673690",
meiliMasterKey: "f2e963e883cbacf6d4f63e792dc276491b8a866fb837f3fda37b8b78889a6851"
diff --git a/apps/website/environments/environment.ts b/apps/website/environments/environment.ts
index f8ed65b..d4d25d0 100644
--- a/apps/website/environments/environment.ts
+++ b/apps/website/environments/environment.ts
@@ -1,7 +1,7 @@
export const environment = {
appUrl: 'http://localhost:4200',
- strapiUrl: 'http://127.0.0.1:1337',
- strapiApiUrl: 'http://127.0.0.1:1337/api',
+ strapiUrl: 'http://localhost:1337',
+ strapiApiUrl: 'http://localhost:1337/api',
nextAuthSecret: "yBNW1wrb9CgOvEfbX6EQCvCDqiMkRBZP",
meiliApiKey: "0e9a9d027b9e6b2d98c9670e5030a8d1aa72cab911fd768d4ad02636ae673690",
meiliMasterKey: "f2e963e883cbacf6d4f63e792dc276491b8a866fb837f3fda37b8b78889a6851"
diff --git a/apps/website/libs/utils.ts b/apps/website/libs/utils.ts
new file mode 100644
index 0000000..106727a
--- /dev/null
+++ b/apps/website/libs/utils.ts
@@ -0,0 +1,43 @@
+import delve from 'dlv';
+
+import {environment} from "../environments/environment";
+
+export type ImageFormatType = "default" | "thumbnail" | "medium" | "small";
+
+export const getCategoryUrl = (item): string => {
+ return '/blog/' + delve(item, 'attributes.category.data.attributes.slug', '');
+}
+export const getPostUrl = (item): string => {
+ return '/blog/' + getCategoryUrl(item) + '/' + delve(item, 'attributes.slug', '');
+}
+
+export const getStrapiImage = (item, format: ImageFormatType = 'default') => {
+ const image = delve(item, 'attributes.image.data.attributes', {});
+ switch (format) {
+ case "default":
+ return environment.strapiUrl + delve(image, "url", "/images/default.png");
+ case "medium":
+ return environment.strapiUrl + delve(image, "formats.medium.url", "/images/default.png");
+ case "small":
+ return environment.strapiUrl + delve(image, "formats.small.url", "/images/default.png");
+ case "thumbnail":
+ return environment.strapiUrl + delve(image, "formats.thumbnail.url", "/images/default.png");
+ default:
+ return environment.strapiUrl + delve(image, "url", "/images/default.png");
+ }
+}
+export const getStrapiImageSize = (item, format: ImageFormatType = 'default'): [number, number] => {
+ const image = delve(item, 'attributes.image.data.attributes', {});
+ switch (format) {
+ case "default":
+ return [delve(image, "width", 100), delve(image, "height", 100)];
+ case "medium":
+ return [delve(image, "formats.medium.width", 100), delve(image, "formats.medium.height", 100)];
+ case "small":
+ return [delve(image, "formats.small.width", 100), delve(image, "formats.small.height", 100)];
+ case "thumbnail":
+ return [delve(image, "formats.thumbnail.width", 100), delve(image, "formats.thumbnail.height", 100)];
+ default:
+ return [delve(image, "width", 100), delve(image, "height", 100)];
+ }
+}
diff --git a/apps/website/pages/blog/[category_slug]/[post_slug].tsx b/apps/website/pages/blog/[category_slug]/[post_slug].tsx
index 14c01b9..3c83dba 100644
--- a/apps/website/pages/blog/[category_slug]/[post_slug].tsx
+++ b/apps/website/pages/blog/[category_slug]/[post_slug].tsx
@@ -12,7 +12,7 @@ import CardBlogDetails from "../../../components/card-blog-details/card-blog-det
export async function getServerSideProps(context) {
const categories = await axios.get(`${environment.strapiApiUrl}/categories?populate=deep`);
- const lastPublished = await axios.get(`${environment.strapiApiUrl}/articles?populate=deep&_sort=date:DESC`);
+ const lastPublished = await axios.get(`${environment.strapiApiUrl}/articles?populate=deep&sort=publishedAt:DESC`);
const post = await axios.get(`${environment.strapiApiUrl}/articles?populate=deep&filters[slug]=${context.params.post_slug}`);
if (!delve(post, "data.data.0.attributes", null)) {
diff --git a/apps/website/pages/blog/[category_slug]/index.tsx b/apps/website/pages/blog/[category_slug]/index.tsx
index df716ac..3f25420 100644
--- a/apps/website/pages/blog/[category_slug]/index.tsx
+++ b/apps/website/pages/blog/[category_slug]/index.tsx
@@ -16,8 +16,8 @@ export async function getServerSideProps(context) {
const {query} = context;
const categories = await axios.get(`${environment.strapiApiUrl}/categories?populate=deep`);
const category = await axios.get(`${environment.strapiApiUrl}/categories?populate=deep&filters[slug]=${context.params.category_slug}`);
- const lastPublished = await axios.get(`${environment.strapiApiUrl}/articles?populate=deep&_sort=date:DESC`);
- let postsUrl = `${environment.strapiApiUrl}/articles?populate=deep&_sort=date:DESC&filters[category][slug][$contains]=${context.params.category_slug}`;
+ const lastPublished = await axios.get(`${environment.strapiApiUrl}/articles?populate=deep&_sort=date:DESC&sort=publishedAt:DESC`);
+ let postsUrl = `${environment.strapiApiUrl}/articles?populate=deep&sort=publishedAt:DESC&filters[category][slug][$contains]=${context.params.category_slug}`;
if (query && query.page) {
postsUrl += `$pagination[page]=${query.page}`;
}
diff --git a/apps/website/pages/home/index.tsx b/apps/website/pages/home/index.tsx
index e99aa97..8e780ab 100644
--- a/apps/website/pages/home/index.tsx
+++ b/apps/website/pages/home/index.tsx
@@ -1,17 +1,32 @@
+import axios from "axios";
+import delve from "dlv";
+
+import {environment} from "../../environments/environment";
+
import SeoConfig from "../../components/seo-config/seo-config";
import Layout from "../../components/layout/layout";
import HomeContent from "../../components/home/home";
import styles from "../blog/index.module.scss";
-export function Home({menuHeader, menuFooter, seo}) {
+export async function getServerSideProps(context) {
+ const postsUrl = `${environment.strapiApiUrl}/articles?populate=deep&sort=publishedAt:DESC&pagination[limit]=3`;
+ const posts = await axios.get(postsUrl);
+ return {
+ props: {
+ posts: delve(posts, 'data.data', []),
+ }
+ }
+}
+
+export function Home({menuHeader, menuFooter, seo, posts}) {
return (
<>
-
+
>