Merged in feat/SW-1555-jobylon-integration (pull request #1484)

Feat/SW-1555 jobylon integration

* feat(SW-1555): Added jobylon feed query

* feat(SW-1555): Added jobylon feed component


Approved-by: Fredrik Thorsson
Approved-by: Matilda Landström
This commit is contained in:
Erik Tiekstra
2025-03-06 13:31:37 +00:00
parent 7f5085f855
commit f045fe4a8a
19 changed files with 429 additions and 11 deletions

View File

@@ -0,0 +1,60 @@
import { getJobylonFeed } from "@/lib/trpc/memoizedRequests"
import SectionContainer from "@/components/Section/Container"
import SectionHeader from "@/components/Section/Header"
import SectionLink from "@/components/Section/Link"
import Subtitle from "@/components/TempDesignSystem/Text/Subtitle"
import { getIntl } from "@/i18n"
import JobylonCard from "./JobylonCard"
import styles from "./jobylonFeed.module.css"
interface JobylonFeedProps {
title?: string
subtitle?: string
link?: { href: string; text: string }
}
export default async function JobylonFeed({
title,
subtitle,
link,
}: JobylonFeedProps) {
const intl = await getIntl()
const allJobs = await getJobylonFeed()
if (!allJobs) {
return null
}
return (
<SectionContainer>
<SectionHeader
link={link}
preamble={subtitle}
title={title}
headingAs="h3"
headingLevel="h2"
/>
<div className={styles.content}>
<Subtitle type="two">
{intl.formatMessage(
{
id: "{count, plural, one {{count} Result} other {{count} Results}}",
},
{ count: allJobs.length }
)}
</Subtitle>
<ul className={styles.list}>
{allJobs.map((job) => (
<li key={job.id}>
<JobylonCard job={job} />
</li>
))}
</ul>
</div>
<SectionLink link={link} variant="mobile" />
</SectionContainer>
)
}