diff --git a/src/common/Breadcrumbs.tsx b/src/common/Breadcrumbs.tsx index 24f97f8d3..f15ac7a8c 100644 --- a/src/common/Breadcrumbs.tsx +++ b/src/common/Breadcrumbs.tsx @@ -34,6 +34,8 @@ export class SectionCrumb implements Crumb { ['About', '/about'], ['Projects', '/projects'], ['CAIC', '/projects/CAIC'], + ['AMPS', '/projects/AMPS'], + ['aluGeneva', '/projects/aluGeneva'], ]) readonly text: string diff --git a/src/fragmentarium/ui/info/ResearchProjects.test.tsx b/src/fragmentarium/ui/info/ResearchProjects.test.tsx index 5e369b337..4e7151198 100644 --- a/src/fragmentarium/ui/info/ResearchProjects.test.tsx +++ b/src/fragmentarium/ui/info/ResearchProjects.test.tsx @@ -7,26 +7,37 @@ import { ProjectList } from './ResearchProjects' import { ResearchProjects } from 'research-projects/researchProject' let fragment: Fragment -const project = ResearchProjects.CAIC +const projects = [ + ResearchProjects.CAIC, + ResearchProjects.AMPS, + ResearchProjects.aluGeneva, +] beforeEach(async () => { fragment = fragmentFactory.build( {}, { associations: { - projects: [project], + projects, }, } ) render() }) -it('Renders logo', () => { - expect(screen.getByAltText(project.name)).toHaveAttribute('src', project.logo) +it('Renders logos for all projects', () => { + projects.forEach((project) => { + expect(screen.getByAltText(project.name)).toHaveAttribute( + 'src', + project.logo + ) + }) }) -it('Links to project website', () => { - expect( - screen.getByLabelText(`Link to ${project.name} project`) - ).toHaveAttribute('href', project.url) +it('Links to all project websites', () => { + projects.forEach((project) => { + expect( + screen.getByLabelText(`Link to ${project.name} project`) + ).toHaveAttribute('href', project.url) + }) }) diff --git a/src/research-projects/ResearchProjectsOverview.tsx b/src/research-projects/ResearchProjectsOverview.tsx index efaccfdca..004922164 100644 --- a/src/research-projects/ResearchProjectsOverview.tsx +++ b/src/research-projects/ResearchProjectsOverview.tsx @@ -42,6 +42,16 @@ export default function ResearchProjectsOverview(): JSX.Element { +
+ + + +
+
+ + + +
) } diff --git a/src/research-projects/researchProject.ts b/src/research-projects/researchProject.ts index 9ce1ef211..d38657945 100644 --- a/src/research-projects/researchProject.ts +++ b/src/research-projects/researchProject.ts @@ -1,6 +1,7 @@ import _ from 'lodash' import caicLogo from './logos/CAIC Briefkopf 2023.png' import aluLogo from './logos/Alu.png' +import ampsLogo from './logos/AMPS.png' export interface ResearchProject { name: string @@ -24,6 +25,13 @@ export const ResearchProjects = { logo: aluLogo, url: 'https://data.snf.ch/grants/grant/175970', }, + AMPS: { + name: + 'Ancient Mesopotamian Priestly Scholasticism in the First Millennium BCE', + abbreviation: 'AMPS', + logo: ampsLogo, + url: 'https://amps.huji.ac.il/', + }, } export const researchProjects = Object.values(ResearchProjects) diff --git a/src/router/researchProjectRoutes.tsx b/src/router/researchProjectRoutes.tsx index 79459ef7b..23547c108 100644 --- a/src/router/researchProjectRoutes.tsx +++ b/src/router/researchProjectRoutes.tsx @@ -11,6 +11,10 @@ import FragmentService from 'fragmentarium/application/FragmentService' import ResearchProjectsOverview from 'research-projects/ResearchProjectsOverview' import CaicHome from 'research-projects/subpages/caic/Home' import CaicSearch from 'research-projects/subpages/caic/Search' +import AmpsHome from 'research-projects/subpages/amps/Home' +import AmpsSearch from 'research-projects/subpages/amps/Search' +import AluGenevaHome from 'research-projects/subpages/aluGeneva/Home' +import AluGenevaSearch from 'research-projects/subpages/aluGeneva/Search' export default function ResearchProjectRoutes({ sitemap, @@ -68,6 +72,90 @@ export default function ResearchProjectRoutes({ )} {...(sitemap && sitemapDefaults)} />, + ( + + + + )} + {...(sitemap && sitemapDefaults)} + />, + ( + + + + )} + {...(sitemap && sitemapDefaults)} + />, + ( + + + + )} + {...(sitemap && sitemapDefaults)} + />, + ( + + + + )} + {...(sitemap && sitemapDefaults)} + />,