diff --git a/public/recruitment/fa26/recruitment-timeline.webp b/public/recruitment/fa26/recruitment-timeline.webp index d126178..ef76a80 100644 Binary files a/public/recruitment/fa26/recruitment-timeline.webp and b/public/recruitment/fa26/recruitment-timeline.webp differ diff --git a/scripts/validate-seo-build.mjs b/scripts/validate-seo-build.mjs index b39732e..ea8c5b0 100644 --- a/scripts/validate-seo-build.mjs +++ b/scripts/validate-seo-build.mjs @@ -154,6 +154,12 @@ for (const page of pages) { assert.match(mainHtml, /There is no live Model Context Protocol endpoint or manifest/i); assert.match(mainHtml, /Same-URL Accept: text\/markdown content negotiation is not provided/i); } + if (page.path === "/signup/") { + assert.match(mainHtml, /Updated Fall 2026 recruitment timeline/); + assert.match(mainHtml, /September 9/); + assert.match(mainHtml, /VLSB 2030/); + assert.doesNotMatch(mainHtml, /September 7/); + } } const robots = await fs.readFile(path.join(distDirectory, "robots.txt"), "utf8"); diff --git a/src/components/RecruitmentBanner.tsx b/src/components/RecruitmentBanner.tsx index 7e7dcab..fe92611 100644 --- a/src/components/RecruitmentBanner.tsx +++ b/src/components/RecruitmentBanner.tsx @@ -2,7 +2,7 @@ import { useEffect, useLayoutEffect, useState } from "react"; import { ArrowRight, Dna, X } from "lucide-react"; import { Link } from "react-router-dom"; -const dismissalKey = "compbio-fall-2026-recruitment-dismissed"; +const dismissalKey = "compbio-fall-2026-recruitment-update-2026-09-03-dismissed"; const coffeeChatLink = "https://docs.google.com/document/d/1ZGq3KV4MprEdPDUu8v7QO9AuGSpB2eEmsyVCCK9nLDU/edit?usp=sharing"; const useBrowserLayoutEffect = @@ -51,9 +51,9 @@ const RecruitmentBanner = () => {