49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
|
|
import React from 'react';
|
|
import Container from 'react-bootstrap/Container';
|
|
import Col from 'react-bootstrap/Col';
|
|
import Row from 'react-bootstrap/Row';
|
|
import JobCard, { JobCardPlaceholder } from './JobCard';
|
|
import { JobListProps } from './types';
|
|
|
|
export type Props = {
|
|
heading: string,
|
|
} & JobListProps
|
|
|
|
const defaultProps = {
|
|
entriesPerRow: 2,
|
|
currentHeading: 'Currently',
|
|
}
|
|
|
|
export function JobsCardsPlaceholder() {
|
|
return <Container>
|
|
<Row><Col><JobCardPlaceholder /></Col></Row>
|
|
<Row><Col><JobCardPlaceholder /></Col></Row>
|
|
</Container>
|
|
}
|
|
|
|
export default function JobsCards(props: JobListProps) {
|
|
const {jobs} = props
|
|
const config = {...defaultProps, ...props}
|
|
return (
|
|
<Container fluid>
|
|
{jobs.current && (
|
|
<Row>
|
|
{jobs.current.map((job, index) => (
|
|
<Col key={index} xs={12} md={12} lg={6} xl={12}>
|
|
<JobCard heading={config.currentHeading} {...job} />
|
|
</Col>
|
|
))}
|
|
</Row>
|
|
)}
|
|
<Row>
|
|
{jobs.previous?.map((job, index) => (
|
|
<Col key={index} xs={12} md={12} lg={6} xl={12}>
|
|
<JobCard {...job} />
|
|
</Col>
|
|
))}
|
|
</Row>
|
|
</Container>
|
|
)
|
|
}
|