diff --git a/src/write-review/start-page/carry-on-page.ts b/src/write-review/start-page/carry-on-page.ts new file mode 100644 index 000000000..f060e9466 --- /dev/null +++ b/src/write-review/start-page/carry-on-page.ts @@ -0,0 +1,29 @@ +import { format } from 'fp-ts-routing' +import { getLangDir } from 'rtl-detect' +import { html, plainText } from '../../html' +import type { PreprintTitle } from '../../preprint' +import { StreamlinePageResponse } from '../../response' +import { preprintReviewsMatch, writeReviewStartMatch } from '../../routes' +import { type Form, nextFormMatch } from '../form' + +export const carryOnPage = (preprint: PreprintTitle, form: Form) => + StreamlinePageResponse({ + title: plainText`Write a PREreview`, + nav: html` + Back to preprint + `, + main: html` +

Write a PREreview

+ +

+ As you’ve already started a PREreview of + ${preprint.title}, we’ll take + you to the next step so you can carry on. +

+ + Continue + `, + canonical: format(writeReviewStartMatch.formatter, { id: preprint.id }), + }) diff --git a/src/write-review/start-page/index.ts b/src/write-review/start-page/index.ts index d6ee7a495..c9a3ed392 100644 --- a/src/write-review/start-page/index.ts +++ b/src/write-review/start-page/index.ts @@ -2,18 +2,17 @@ import { format } from 'fp-ts-routing' import * as RT from 'fp-ts/ReaderTask' import * as RTE from 'fp-ts/ReaderTaskEither' import { pipe } from 'fp-ts/function' -import { getLangDir } from 'rtl-detect' import { P, match } from 'ts-pattern' -import { html, plainText } from '../../html' import { havingProblemsPage, pageNotFound } from '../../http-error' -import { type GetPreprintEnv, type PreprintTitle, getPreprint } from '../../preprint' -import { LogInResponse, type PageResponse, RedirectResponse, StreamlinePageResponse } from '../../response' -import { preprintReviewsMatch, writeReviewReviewTypeMatch, writeReviewStartMatch } from '../../routes' +import { type GetPreprintEnv, getPreprint } from '../../preprint' +import { LogInResponse, type PageResponse, RedirectResponse, type StreamlinePageResponse } from '../../response' +import { writeReviewReviewTypeMatch, writeReviewStartMatch } from '../../routes' import type { IndeterminatePreprintId } from '../../types/preprint-id' import type { User } from '../../user' -import { type Form, type FormStoreEnv, getForm, nextFormMatch } from '../form' +import { type FormStoreEnv, getForm } from '../form' import { ownPreprintPage } from '../own-preprint-page' import { ensureUserIsNotAnAuthor } from '../user-is-author' +import { carryOnPage } from './carry-on-page' export const writeReviewStart = ({ id, @@ -61,26 +60,3 @@ export const writeReviewStart = ({ ), ), ) - -function carryOnPage(preprint: PreprintTitle, form: Form) { - return StreamlinePageResponse({ - title: plainText`Write a PREreview`, - nav: html` - Back to preprint - `, - main: html` -

Write a PREreview

- -

- As you’ve already started a PREreview of - ${preprint.title}, we’ll take - you to the next step so you can carry on. -

- - Continue - `, - canonical: format(writeReviewStartMatch.formatter, { id: preprint.id }), - }) -} diff --git a/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Chrome-Visual-Regression-linux.png b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Chrome-Visual-Regression-linux.png new file mode 100644 index 000000000..b3c651ef0 --- /dev/null +++ b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Chrome-Visual-Regression-linux.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2d7631e668e1f394956246cf2d73e90fa615a7b246ed6b2ae100ff4f65b9ad4 +size 27844 diff --git a/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Chrome-Visual-Regression-no-JavaScript--linux.png b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Chrome-Visual-Regression-no-JavaScript--linux.png new file mode 100644 index 000000000..b3c651ef0 --- /dev/null +++ b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Chrome-Visual-Regression-no-JavaScript--linux.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2d7631e668e1f394956246cf2d73e90fa615a7b246ed6b2ae100ff4f65b9ad4 +size 27844 diff --git a/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Chrome-high-contrast-Visual-Regression-linux.png b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Chrome-high-contrast-Visual-Regression-linux.png new file mode 100644 index 000000000..3dc164cc9 --- /dev/null +++ b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Chrome-high-contrast-Visual-Regression-linux.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:116619adeff1cd50ea7323f6d5612e90148e1fe21a2b5b3bd70ea94bb6b666f1 +size 27492 diff --git a/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Chrome-high-contrast-Visual-Regression-no-JavaScript--linux.png b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Chrome-high-contrast-Visual-Regression-no-JavaScript--linux.png new file mode 100644 index 000000000..3dc164cc9 --- /dev/null +++ b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Chrome-high-contrast-Visual-Regression-no-JavaScript--linux.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:116619adeff1cd50ea7323f6d5612e90148e1fe21a2b5b3bd70ea94bb6b666f1 +size 27492 diff --git a/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Firefox-Visual-Regression-linux.png b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Firefox-Visual-Regression-linux.png new file mode 100644 index 000000000..3426261c6 --- /dev/null +++ b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Firefox-Visual-Regression-linux.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02c302e7617443f7cd823c2139f1c5be47df514bb2979c76d7a71c5b0e677fff +size 37842 diff --git a/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Firefox-Visual-Regression-no-JavaScript--linux.png b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Firefox-Visual-Regression-no-JavaScript--linux.png new file mode 100644 index 000000000..3426261c6 --- /dev/null +++ b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Desktop-Firefox-Visual-Regression-no-JavaScript--linux.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:02c302e7617443f7cd823c2139f1c5be47df514bb2979c76d7a71c5b0e677fff +size 37842 diff --git a/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Mobile-Chrome-high-contrast-Visual-Regression-linux.png b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Mobile-Chrome-high-contrast-Visual-Regression-linux.png new file mode 100644 index 000000000..8c66aff49 --- /dev/null +++ b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Mobile-Chrome-high-contrast-Visual-Regression-linux.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4873a13e43f0ff3f70162d12cfe577547042fa4c5abacdb8c833d7f93bf6d5ef +size 20322 diff --git a/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Mobile-Chrome-high-contrast-Visual-Regression-no-JavaScript--linux.png b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Mobile-Chrome-high-contrast-Visual-Regression-no-JavaScript--linux.png new file mode 100644 index 000000000..8c66aff49 --- /dev/null +++ b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-Mobile-Chrome-high-contrast-Visual-Regression-no-JavaScript--linux.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4873a13e43f0ff3f70162d12cfe577547042fa4c5abacdb8c833d7f93bf6d5ef +size 20322 diff --git a/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-iPhone-11-Visual-Regression-linux.png b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-iPhone-11-Visual-Regression-linux.png new file mode 100644 index 000000000..064ebabf7 --- /dev/null +++ b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-iPhone-11-Visual-Regression-linux.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be75dd8fe266a6321cdb39b617c699e4c16454148b249d60905cce8c8e984a6f +size 19400 diff --git a/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-iPhone-11-Visual-Regression-no-JavaScript--linux.png b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-iPhone-11-Visual-Regression-no-JavaScript--linux.png new file mode 100644 index 000000000..064ebabf7 --- /dev/null +++ b/visual-regression/snapshots/write-review/write-review-start.spec.ts-snapshots/content-looks-right-1-iPhone-11-Visual-Regression-no-JavaScript--linux.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be75dd8fe266a6321cdb39b617c699e4c16454148b249d60905cce8c8e984a6f +size 19400 diff --git a/visual-regression/write-review/write-review-start.spec.ts b/visual-regression/write-review/write-review-start.spec.ts new file mode 100644 index 000000000..695b67dfa --- /dev/null +++ b/visual-regression/write-review/write-review-start.spec.ts @@ -0,0 +1,25 @@ +import type { Doi } from 'doi-ts' +import { html } from '../../src/html' +import type { PreprintTitle } from '../../src/preprint' +import type { Form } from '../../src/write-review/form' +import { carryOnPage } from '../../src/write-review/start-page/carry-on-page' +import { expect, test } from '../base' + +test('content looks right', async ({ showPage }) => { + const response = carryOnPage(preprint, form) + + const content = await showPage(response) + + await expect(content).toHaveScreenshot() +}) + +const preprint = { + id: { + type: 'biorxiv', + value: '10.1101/2022.01.13.476201' as Doi<'1101'>, + }, + title: html`The role of LHCBM1 in non-photochemical quenching in Chlamydomonas reinhardtii`, + language: 'en', +} satisfies PreprintTitle + +const form = {} satisfies Form