diff --git a/cypress.config.ts b/cypress.config.ts index 6a3b38e..a5a826a 100644 --- a/cypress.config.ts +++ b/cypress.config.ts @@ -3,6 +3,8 @@ import { defineConfig } from 'cypress'; import codeCoverageTask from '@cypress/code-coverage/task'; export default defineConfig({ + viewportWidth: 1280, + viewportHeight: 720, e2e: { experimentalStudio: true, baseUrl: 'http://localhost:5173', diff --git a/cypress/component/Landing.cy.tsx b/cypress/component/Landing.cy.tsx index 5610c3e..920ef61 100644 --- a/cypress/component/Landing.cy.tsx +++ b/cypress/component/Landing.cy.tsx @@ -1,8 +1,13 @@ import Landing from '../../src/components/Landing'; describe('Landing', () => { - it('should render correctly', () => { + it('should render the content of Landing view correctly', () => { cy.mount(); - cy.contains('Welcome'); + cy.contains('Welcome to the Neurobagel Annotation Tool'); + cy.get('img[alt="Neurobagel Logo"]').should('be.visible'); + cy.get('img[alt="Neurobagel Logo"]').should('have.attr', 'alt', 'Neurobagel Logo'); + cy.get('img[alt="Landing emoji"]').should('be.visible'); + cy.get('img[alt="Landing emoji"]').should('have.attr', 'alt', 'Landing emoji'); + cy.get('[data-cy="get started-button"]').should('be.visible'); }); }); diff --git a/cypress/e2e/Simple.cy.ts b/cypress/e2e/Simple.cy.ts index fbc2e2a..f27419f 100644 --- a/cypress/e2e/Simple.cy.ts +++ b/cypress/e2e/Simple.cy.ts @@ -2,16 +2,16 @@ describe('Simlpe e2e test', () => { it('Steps through different app views', () => { cy.visit('http://localhost:5173'); cy.contains('Welcome'); - cy.contains('Start - Upload').click(); + cy.get('[data-cy="get started-button"]').click(); cy.contains('Upload'); - cy.contains('Next - Column Annotation').click(); + cy.get('[data-cy="next - column annotation-button"]').click(); cy.contains('Column Annotation'); - cy.contains('Next - Value Annotation').click(); + cy.get('[data-cy="next - value annotation-button"]').click(); cy.contains('Value Annotation'); // reload to make sure the currentView persists cy.reload(); cy.contains('Value Annotation'); - cy.contains('Next - Download').click(); + cy.get('[data-cy="next - download-button"]').click(); cy.contains('Download'); }); }); diff --git a/src/assets/landing-emoji.png b/src/assets/landing-emoji.png new file mode 100644 index 0000000..6b7048e Binary files /dev/null and b/src/assets/landing-emoji.png differ diff --git a/src/components/Landing.tsx b/src/components/Landing.tsx index becf450..0c2cac2 100644 --- a/src/components/Landing.tsx +++ b/src/components/Landing.tsx @@ -1,10 +1,30 @@ +import { Typography } from '@mui/material'; import NavigationButton from './NavigationButton'; +import logo from '../assets/logo.svg'; +import landingEmoji from '../assets/landing-emoji.png'; function Landing() { return ( -
-

Welcome

- +
+ Neurobagel Logo + +
+
+ Landing emoji + + Welcome to the Neurobagel Annotation Tool + +
+ + + This tool allows you to create a machine-readable BIDS data dictionary in .json format for + a tabular phenotypic file in .tsv format. + +
+ +
+ +
); } diff --git a/src/components/NavigationButton.tsx b/src/components/NavigationButton.tsx index 3334904..45a00bb 100644 --- a/src/components/NavigationButton.tsx +++ b/src/components/NavigationButton.tsx @@ -15,7 +15,7 @@ function NavigationButton({ }; return ( - ); diff --git a/tailwind.config.js b/tailwind.config.js index 8962486..d43dff4 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -2,7 +2,17 @@ export default { content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'], theme: { - extend: {}, + extend: { + keyframes: { + 'spin-slow': { + '0%': { transform: 'rotate(0deg)' }, + '100%': { transform: 'rotate(360deg)' }, + }, + }, + animation: { + 'spin-slow': 'spin-slow 5s linear infinite', + }, + }, }, plugins: [], corePlugins: {