Skip to content

Commit 5b947eb

Browse files
committed
feat: add socials to commission page
1 parent 9ad22e3 commit 5b947eb

File tree

3 files changed

+38
-13
lines changed

3 files changed

+38
-13
lines changed

app/src/pages/commissions/[slug].tsx

+24-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import DirectusImage from "@/components/DirectusImage";
2+
import SocialsList from "@/components/SocialsList";
23
import { directus, populateLayoutProps } from "@/directus";
34
import { getTranslation, locale, queryTranslations } from "@/locales";
4-
import { Commission } from "@/types/aliases";
5+
import { Commission, SocialLink } from "@/types/aliases";
56
import { readItems } from "@directus/sdk";
67
import { GetServerSideProps, InferGetServerSidePropsType } from "next";
78
import { useRouter } from "next/router";
@@ -21,29 +22,48 @@ export default function Page(
2122
<h4>{translation.small_description}</h4>
2223

2324
<Markdown className="text">{translation.description}</Markdown>
25+
26+
<SocialsList socials={props.socialLinks} />
2427
</div>
2528
</div>
2629
);
2730
}
2831

2932
export const getServerSideProps: GetServerSideProps<{
3033
commission: Commission;
34+
socialLinks: SocialLink[];
3135
}> = populateLayoutProps(async (context) => {
3236
if (typeof context.params?.slug !== "string") {
3337
console.log(typeof context.params?.slug);
3438
return { notFound: true };
3539
}
3640

37-
let commission = await directus().request(
41+
let commissions = await directus().request(
3842
readItems("commissions", {
3943
filter: { slug: { _eq: context.params.slug } },
4044
...queryTranslations,
4145
})
4246
);
4347

44-
if (commission.length != 1) {
48+
if (commissions.length != 1) {
4549
return { notFound: true };
4650
}
4751

48-
return { props: { commission: commission[0] } };
52+
let commission = commissions[0];
53+
54+
let socialLinks = (await directus()
55+
.request(
56+
readItems("commissions_social_links", {
57+
fields: [{ social_links_id: ["*"] }],
58+
filter: { commissions_id: { _eq: commission.id } },
59+
})
60+
)
61+
.then((result) => result.map((s) => s.social_links_id))) as SocialLink[];
62+
63+
return {
64+
props: {
65+
commission: commission,
66+
socialLinks: socialLinks,
67+
},
68+
};
4969
});

app/src/styles/NewsCard.module.scss

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
.content {
1818
position: relative;
19-
margin: 1em;
19+
margin: 2rem;
2020
display: flex;
2121
flex-direction: column;
2222

@@ -39,8 +39,8 @@
3939
.button {
4040
position: absolute;
4141
margin: 0;
42-
bottom: 0.5em;
43-
right: 0.5em;
42+
bottom: 0;
43+
right: 0;
4444
width: 2rem;
4545
height: 2rem;
4646
font-size: 2rem;

app/src/styles/globals.scss

+11-6
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,6 @@ a {
103103
}
104104

105105
h1 {
106-
color: variables.$dark-title-color;
107-
108106
letter-spacing: 0.1em;
109107

110108
margin: 0;
@@ -116,15 +114,22 @@ h1 {
116114
text-transform: uppercase;
117115
font-size: 50pt;
118116

119-
&.light {
120-
color: variables.$title-color;
121-
}
122-
123117
@media (max-width: 800px) {
124118
font-size: 40pt;
125119
}
126120
}
127121

122+
h1,
123+
h2,
124+
h3,
125+
h4 {
126+
color: variables.$dark-title-color;
127+
128+
&.light {
129+
color: variables.$title-color;
130+
}
131+
}
132+
128133
.pageList {
129134
display: flex;
130135
flex-direction: row;

0 commit comments

Comments
 (0)