Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const setup = ({ programLetter }: { programLetter: ProgramLetter }) => {

describe("ProgramLetterDisplayPage", () => {
// See https://github.com/mitodl/hq/issues/5694
it.skip("Renders a program letter from api", async () => {
it("Renders a program letter from api", async () => {
const programLetter = factory.programLetter()
setup({ programLetter })
await waitFor(() => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { styled } from "ol-components"
import { useProgramLettersDetail } from "api/hooks/programLetters"
import { useParams } from "next/navigation"
import { CkeditorDisplay } from "ol-ckeditor"
import Image from "next/image"

type RouteParams = {
id: string
Expand Down Expand Up @@ -106,12 +105,28 @@ const ProgramLetterFooter = styled.div`
}
`

const ImageContainer = styled.img(({ theme }) => ({
display: "flex",
alignItems: "end",
minWidth: "0px",
maxWidth: "646px",
[theme.breakpoints.up("sm")]: {
/**
* Flex 1, combined with the maxWidth, was causing the image to be stretched
* on Safari. We don't need flex 1 on the mobile layout, so omit it there.
*/
flex: 1,
},
[theme.breakpoints.down("sm")]: {
maxWidth: "100%",
},
}))

const ProgramLetterPage: React.FC = () => {
const { id } = useParams<RouteParams>()
const programLetter = useProgramLettersDetail(id)
const templateFields = programLetter.data?.template_fields
const certificateInfo = programLetter.data?.certificate

return (
<ProgramLetterPageContainer className="letter">
<ProgramLetterHeader>
Expand All @@ -123,10 +138,9 @@ const ProgramLetterPage: React.FC = () => {
/>
</div>
<div className="letter-logo">
<Image
<ImageContainer
src={templateFields?.program_letter_logo?.meta?.download_url}
alt=""
fill
alt="letter-logo"
/>
</div>
</ProgramLetterHeader>
Expand All @@ -141,14 +155,13 @@ const ProgramLetterPage: React.FC = () => {
{templateFields?.program_letter_signatories?.map((signatory) => (
<div key={signatory.id} className="signatory">
<div className="sig-image">
<Image
<ImageContainer
src={signatory.signature_image?.meta?.download_url}
alt="Signature"
fill
/>
</div>
<div className="name">
{signatory.name},{signatory.title_line_1}
{signatory.name}, {signatory.title_line_1}
{signatory.title_line_2 ? (
<p>, {signatory.title_line_2}</p>
) : (
Expand All @@ -162,10 +175,9 @@ const ProgramLetterPage: React.FC = () => {
<ProgramLetterFooter>
<div className="program-footer">
{templateFields?.program_letter_footer ? (
<Image
<ImageContainer
src={templateFields.program_letter_footer?.meta?.download_url}
alt=""
fill
/>
) : (
<p>MITx MicroMasters program in {templateFields?.title}</p>
Expand Down
Loading