diff --git a/frontend/README.md b/frontend/README.md index c0541f9..1460425 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1,70 +1,35 @@ # Getting Started with Create React App -This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). +Use the deployment for all the containers for beacon to also deploy the UI [Deployment](../deploy/README.md). You will find it running in http://localhost:3000 -## Available Scripts +## Instructions on how to configure the Beacon User Interface + +Please first create a .env file inside the frontend folder so that you can modify some variables. Take into account that the file below will not be copied to GitHub as it contains keys and for security reasons it should ignored: -In the project directory, you can run: +```bash +REACT_APP_CLIENT_ID="ID of your LS Login" +REACT_APP_CLIENT_SECRET="password of your LS Login" +REACT_APP_KEYCLOAK_CLIENT_SECRET="password of your Keycloak login" +``` -### `yarn start` +You will need to have created your Life Science and Keycloak environments before. -Runs the app in the development mode.\ -Open [http://localhost:3000](http://localhost:3000) to view it in your browser. +Tip: for Life Science environment, please first [create a user](https://lifescience-ri.eu/ls-login/users/how-to-get-and-use-life-science-id.html) . +After that you will need to register a service registry in order to be able to administrate your logins. Please go [here](https://services.aai.lifescience-ri.eu/spreg/) and ask for a New Service - type OIDC -. -The page will reload when you make changes.\ -You may also see any lint errors in the console. -### `yarn test` +Then please edit the file [config.json](src/config.json). You need to decide where you want the UI to point to when making requests. Find below an example: -Launches the test runner in the interactive watch mode.\ -See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + ```bash +{ + "API_URL": "https://yourAPIdomain.com/beacon-network/v2.0.0", + "REDIRECT_URL": "https://yourUIdomain.com", + "KEYCLOAK_URL": "https://yourKEYCLOAKdomain.com" + } +``` -### `yarn build` +Finally, please include the URL of your User interface to the file beacon/_ main _.py (line 103), so that it becomes part of the list of URLs accepted by CORS. -Builds the app for production to the `build` folder.\ -It correctly bundles React in production mode and optimizes the build for the best performance. -The build is minified and the filenames include the hashes.\ -Your app is ready to be deployed! +Note that in the frontend folder you will find a file called .gitignore with the list of all files that need to be ignored. -See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. - -### `yarn eject` - -**Note: this is a one-way operation. Once you `eject`, you can't go back!** - -If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. - -You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. - -## Learn More - -You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). - -To learn React, check out the [React documentation](https://reactjs.org/). - -### Code Splitting - -This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) - -### Analyzing the Bundle Size - -This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) - -### Making a Progressive Web App - -This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) - -### Advanced Configuration - -This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) - -### Deployment - -This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) - -### `yarn build` fails to minify - -This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index bc53348..1392013 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -34,6 +34,7 @@ "react-fusioncharts": "^4.0.0", "react-google-charts": "^4.0.0", "react-html-parser": "^2.0.2", + "react-icons": "^5.1.0", "react-json-pretty": "^2.2.0", "react-modal": "^3.16.1", "react-modal-hover": "^1.1.13", @@ -43,6 +44,7 @@ "react-router-dom": "^6.4.3", "react-router-scroll-top": "^0.3.1", "react-scripts": "^5.0.1", + "react-scroll-to-top": "^3.0.0", "react-select": "^5.7.2", "react-svg-worldmap": "^2.0.0-alpha.16", "react-tag-box": "^1.6.0", @@ -16318,6 +16320,14 @@ "readable-stream": "^3.1.1" } }, + "node_modules/react-icons": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.1.0.tgz", + "integrity": "sha512-D3zug1270S4hbSlIRJ0CUS97QE1yNNKDjzQe3HqY0aefp2CBn9VgzgES27sRR2gOvFK+0CNx/BW0ggOESp6fqQ==", + "peerDependencies": { + "react": "*" + } + }, "node_modules/react-input-autosize": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-3.0.0.tgz", @@ -16627,6 +16637,14 @@ "node": ">=10" } }, + "node_modules/react-scroll-to-top": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-scroll-to-top/-/react-scroll-to-top-3.0.0.tgz", + "integrity": "sha512-I/k45Ujai097du59tHBbzGxN7Lyc6K8Uc3IChq6HMXaBfB8N/rrfm055T5Yv0DWfVpf6pOFaBmhD3LOfH5unGw==", + "peerDependencies": { + "react": "^16.8.0 || 17.x || ^18" + } + }, "node_modules/react-select": { "version": "5.7.3", "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.7.3.tgz", diff --git a/frontend/package.json b/frontend/package.json index 820f467..eeb9e2c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -29,6 +29,7 @@ "react-fusioncharts": "^4.0.0", "react-google-charts": "^4.0.0", "react-html-parser": "^2.0.2", + "react-icons": "^5.1.0", "react-json-pretty": "^2.2.0", "react-modal": "^3.16.1", "react-modal-hover": "^1.1.13", diff --git a/frontend/public/CINECA_logo.png b/frontend/public/CINECA_logo.png new file mode 100644 index 0000000..4c95f92 Binary files /dev/null and b/frontend/public/CINECA_logo.png differ diff --git a/frontend/public/ISCIII_logo.png b/frontend/public/ISCIII_logo.png new file mode 100644 index 0000000..a2b1fa7 Binary files /dev/null and b/frontend/public/ISCIII_logo.png differ diff --git a/frontend/public/arrows-cross.png b/frontend/public/arrows-cross.png new file mode 100644 index 0000000..7b7b0fb Binary files /dev/null and b/frontend/public/arrows-cross.png differ diff --git a/frontend/public/by-covid-logo.png b/frontend/public/by-covid-logo.png new file mode 100644 index 0000000..6256240 Binary files /dev/null and b/frontend/public/by-covid-logo.png differ diff --git a/frontend/public/dictionary.png b/frontend/public/dictionary.png new file mode 100644 index 0000000..606d9ee Binary files /dev/null and b/frontend/public/dictionary.png differ diff --git a/frontend/public/ega-archive.png b/frontend/public/ega-archive.png new file mode 100644 index 0000000..5699da0 Binary files /dev/null and b/frontend/public/ega-archive.png differ diff --git a/frontend/public/elixirLogo.png b/frontend/public/elixirLogo.png deleted file mode 100644 index 600f290..0000000 Binary files a/frontend/public/elixirLogo.png and /dev/null differ diff --git a/frontend/public/eosc4cancer.png b/frontend/public/eosc4cancer.png new file mode 100644 index 0000000..96dac23 Binary files /dev/null and b/frontend/public/eosc4cancer.png differ diff --git a/frontend/public/filter.png b/frontend/public/filter.png new file mode 100644 index 0000000..6d00183 Binary files /dev/null and b/frontend/public/filter.png differ diff --git a/frontend/public/formula.png b/frontend/public/formula.png new file mode 100644 index 0000000..096522b Binary files /dev/null and b/frontend/public/formula.png differ diff --git a/frontend/public/horizonEuropeLogo.png b/frontend/public/horizonEuropeLogo.png deleted file mode 100644 index b55a886..0000000 Binary files a/frontend/public/horizonEuropeLogo.png and /dev/null differ diff --git a/frontend/public/impactLogo.png b/frontend/public/impactLogo.png new file mode 100644 index 0000000..88a06b9 Binary files /dev/null and b/frontend/public/impactLogo.png differ diff --git a/frontend/public/index.html b/frontend/public/index.html index 60b8597..0b0d991 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -22,7 +22,7 @@ work correctly both with client-side routing and a non-root public URL. Learn how to configure a non-root public URL by running `npm run build`. --> - ELIXIR Beacon network demo + EGA Beacon demo diff --git a/frontend/public/laMaratoLogo.png b/frontend/public/laMaratoLogo.png new file mode 100644 index 0000000..138b7fd Binary files /dev/null and b/frontend/public/laMaratoLogo.png differ diff --git a/frontend/public/logout.png b/frontend/public/logout.png index 3bf6511..52dcd24 100644 Binary files a/frontend/public/logout.png and b/frontend/public/logout.png differ diff --git a/frontend/public/ministerio_logo.png b/frontend/public/ministerio_logo.png new file mode 100644 index 0000000..fd38b97 Binary files /dev/null and b/frontend/public/ministerio_logo.png differ diff --git a/frontend/src/App.css b/frontend/src/App.css index e335d3a..619f6a0 100644 --- a/frontend/src/App.css +++ b/frontend/src/App.css @@ -37,6 +37,23 @@ html { margin-left: 10px; } +.scopeSelection{ + position: absolute; + top: 286px; + z-index: 5; + background-color: #e2f4ff; + /* height: 80px; */ + display: flex; + align-items: center; + padding: 7px; + padding-left: 19px; + padding-right: 19px; + height: 123px; + border-radius: 13px; + color: #1a4b1a; + font-size: 17px; + box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; +} .resultSetsDiv2 .multi-switch-container { margin-left: -5px; margin-top: 8px; @@ -66,10 +83,9 @@ html { } .version { - margin-bottom: 19px; - margin-right: 25px; - margin-top: 4px; - color: rgb(102 116 152) !important; + margin-right: 37px; + margin-top: -18px; + color: #3176b1 !important; font-weight: 700 !important; } @@ -87,6 +103,28 @@ html { padding-left: 0px; cursor: pointer; margin-left: 12px; + border: none; + background: white; +} + +.scopeDiv { + display: flex; + align-content: center; + justify-content: center; + align-items: center; +} + +.scopeDiv h10 { + margin-top: 0px; +} + +.doneButton ion-icon:hover { + color: rgb(36, 135, 128); +} + +p a { + text-decoration: underline; + text-underline-offset: 2px; } .modeVariantsQuery { @@ -112,6 +150,34 @@ html { font-variant-caps: all-petite-caps; } + +.variantsForm { + margin-top: 10px; + display: flex; + flex-direction: column; + align-content: center; + justify-content: center; + align-items: center; + margin-left: -70px; +} + + + + +.variantsFormVariant { + margin-top: -14px; + display: flex; + flex-direction: column; + align-content: center; + justify-content: center; + align-items: center; + margin-left: -70px; +} +.crossQueriesTittle { + margin-bottom: 18px; + font-size: 12px; + margin-top: -56px; +} .modeVariantsBarMode:hover h2 { color: rgb(236, 149, 0) !important; } @@ -133,16 +199,106 @@ html { } .containerTableResults { + width: 100vw; display: flex; align-content: center; justify-content: center; align-items: center; } + .newSearchButton:hover { color: rgb(118, 151, 228); } +.moduleAddedQuery { + display: flex; + flex-direction: column; + width: 145px; + justify-content: center; + border: 0px solid #f2eded; + padding: 11px; + border-radius: 15px; + margin-top: 11px; + margin-bottom: 11px; + box-shadow: rgba(192, 200, 227, 0.27) 0px 0px 0.25em, + rgba(159, 167, 184, 0.05) 0px 0.25em 1em; + margin-left: 14px; + animation: slide-in-blurred-right 0.4s ease-in both; +} + +.doneButton ion-icon{ + color: black; +} + + + +.removeButton { + width: 130%; + display: flex; + justify-content: flex-end; + margin-top: -18px; +} + +.removeButton ion-icon { + color: rgb(221 221 221) !important; + font-size: 11px; + margin-right: 0px; +} + +.removeButton ion-icon:hover { + color: rgb(212, 6, 6) !important; + font-weight: 800; +} + +.moduleAdded { + display: flex; + align-items: center; + align-content: center; + flex-direction: column; +} +@keyframes slide-in-blurred-right { + 0% { + transform: translateX(1000px) scaleX(2.5) scaleY(0.2); + transform-origin: 0% 50%; + filter: blur(40px); + opacity: 0; + } + 100% { + transform: translateX(0) scaleY(1) scaleX(1); + transform-origin: 50% 50%; + filter: blur(0); + opacity: 1; + } +} + +.moduleAddedQuery h13 { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif; + color: #bac0c6; + text-transform: capitalize; + text-transform: uppercase; + font-weight: 600; + margin-bottom: 8px; + font-size: 12px; + margin-top: -6px; +} + +.moduleAdded ion-icon { + color: rgb(174 182 189); + margin-right: 12px; + font-size: 22px; +} +.moduleAddedContainer { + display: flex; + align-content: center; + align-items: flex-start; + justify-content: flex-start; + width: 100%; + flex-wrap: wrap; +} + .searchButton2 { cursor: pointer; /* margin-left: 26px; */ @@ -171,8 +327,12 @@ html { width: 100%; margin-right: 10px; margin-left: 10px; - justify-content: center; - height: 35px; + justify-content: space-around; + /* height: 35px; */ + align-content: center; + margin-top: 20px; + flex-wrap: wrap; + align-items: flex-start; } .form-select { @@ -196,11 +356,13 @@ html { .selectedOperator { background: white; - border: 2px solid rgba(12, 16, 64, 0.606); + border: 1px solid rgb(143 147 196 / 61%); + /* border: 1px solid rgba(12, 16, 64, 0.606); */ font-size: medium; border-radius: 4px; width: 43px; - height: 28px; + height: 27px; + margin-right: 20px; box-shadow: 1px 2px 2px #cecece; } @@ -228,23 +390,23 @@ html { } .formSearch { - width: 60vw; - margin-right: 3px; + width: 45vw; + margin-right: 0px; background: white; border: 2px solid #8985c1; font-size: medium; /* margin: 10px; */ border-radius: 10px; /* box-shadow: 2px 1px 2px #cecece; */ - height: 32px; + height: 30px; } .searchIcon { - width: 34px; + width: 31px; margin-top: -1px; } .searchIcon:hover { - width: 37px; + width: 33px; margin-top: -3px; } @@ -263,7 +425,6 @@ html { flex-direction: column; align-content: center; align-items: center; - margin-top: -48px; } .variantsContainer { @@ -276,16 +437,19 @@ html { } .inputVariants { - height: 24px; - border: 1.5px solid #dfdfdf; + width: 69px; + /* height: 24px; */ + border: 0.5px solid #dfdfdf; border-radius: 2px; - margin-bottom: 30px; - font-size: 12.5px; - padding: 5px; + margin-bottom: 2px; + margin-left: 6px; + font-size: 11.5px; + padding: 3px; + box-shadow: rgb(234 221 221 / 16%) 0px 1px 4px; } .labelVariants { - font-size: 13.5px; + font-size: 11.5px; margin-bottom: 18px; margin-right: 4px; margin-left: 18px; @@ -311,7 +475,6 @@ html { width: 100%; display: flex; justify-content: flex-end; - margin-top: -23px; } .buttonAlphanum { @@ -444,11 +607,7 @@ html { } .buttonVariants { - margin-top: 9px; margin-bottom: -14px; - box-shadow: rgba(0, 0, 0, 0.25) 0px 1px 1px, - rgba(179, 179, 179, 0.22) 0px 1px 1px; - padding: 6px; cursor: pointer; } @@ -459,9 +618,8 @@ html { } .basesSection { - margin-bottom: 30px; border: solid 1px #dadada; - margin-top: 25px; + box-shadow: rgba(207, 192, 192, 0.15) 1.4px 1.4px 2.2px; } @@ -490,7 +648,7 @@ html { font-weight: 700; } .variantExampleButton:hover { - background-color: #78beed; + background-color: #bfe1f7; border: solid #06c; } @@ -514,17 +672,16 @@ html { align-items: center; justify-content: center; border: solid #c8c8c8; - background-color: #c8c8c8; + background-color: #e1dddd; color: black; width: -moz-fit-content; width: fit-content; border-radius: 6px; - margin-left: -98px; - padding-top: 1px; padding-bottom: 1px; padding-left: 2px; padding-right: 2px; + margin-bottom: 6px; } .examplesQueriesList { @@ -603,44 +760,100 @@ html { align-items: center; } -.elixirLogo { - height: 91px; +.eosc4cancer { + height: 85px; + margin-top: 20px; + margin-right: 30px; + -webkit-filter: grayscale(20%); + filter: grayscale(60%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; +} + +.by-covid-logo{ + height: 16px; + margin-top: 30px; + margin-bottom: 5px; + margin-right: 35px; + -webkit-filter: grayscale(20%); + filter: grayscale(60%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; +} + +.ega-logo{ + height: 46px; + margin-top: 30px; + margin-bottom: 5px; + margin-right: 35px; + -webkit-filter: grayscale(20%); + filter: grayscale(35%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; +} + +.eosc4cancer,.by-covid-logo,.ega-logo:hover { + -webkit-filter: grayscale(0%); + filter: grayscale(0%); +} + + +.federLogo { + height: 33px; + margin-top: 42px; + margin-right: 14px; -webkit-filter: grayscale(20%); filter: grayscale(100%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; } -.elixirLogo:hover { +.federLogo:hover { -webkit-filter: grayscale(0%); filter: grayscale(0%); } -.laCaixaLogo { - height: 35px; - margin-right: 30px; - margin-top: 3px; +.iscLogo { + height: 33px; + margin-top: 42px; + margin-right: 14px; -webkit-filter: grayscale(20%); filter: grayscale(100%); -webkit-transition: 0.2s ease-in-out; transition: 0.2s ease-in-out; } -.laCaixaLogo:hover { +.iscLogo:hover { -webkit-filter: grayscale(0%); filter: grayscale(0%); } -.horizonEuropeLogo{ - height: 35px; - margin-right: 16px; - margin-left: 4px; - margin-top: 3px; +.ministerioLogo { + height: 33px; + margin-top: 42px; + margin-right: 14px; + -webkit-filter: grayscale(20%); + filter: grayscale(100%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; +} + +.ministerioLogo:hover { + -webkit-filter: grayscale(0%); + filter: grayscale(0%); +} + +.laCaixaLogo { + height: 33px; + margin-top: 42px; + margin-right: 30px; -webkit-filter: grayscale(20%); filter: grayscale(100%); -webkit-transition: 0.2s ease-in-out; transition: 0.2s ease-in-out; } -.horizonEuropeLogo:hover { +.laCaixaLogo:hover { -webkit-filter: grayscale(0%); filter: grayscale(0%); } @@ -700,13 +913,8 @@ select { } .results { - display: flex; - flex-direction: column; - /* justify-content: center; */ - align-content: center; - align-items: center; - padding-bottom: 55px; - min-height: 280px; + + min-height: 80px; } .resultSet2 { @@ -716,8 +924,6 @@ select { .cohortsModule { display: flex; width: 100vw; - align-items: center; - justify-content: center; } .tittleAlph { @@ -772,8 +978,9 @@ hr { .logos { display: flex; width: 100vw; - align-items: center; - margin-top: 8px; + align-items: flex-end; + margin-bottom: 19px; + margin-top: -8px; flex-direction: row; justify-content: flex-end; } @@ -829,7 +1036,6 @@ hr { } .additionalOptions { - width: 100vw; display: flex; justify-content: center; align-items: center; @@ -856,15 +1062,16 @@ hr { } .exampleQuery { + width: 100%; border: none; /* border-color: #5454bc; */ padding: 5px; cursor: pointer; display: flex; - flex-direction: row; - align-content: center; - justify-content: center; - align-items: center; + flex-direction: column-reverse; + align-items: flex-start; + justify-content: space-around; + align-content: space-around; } .exampleQueriesAlph { @@ -1063,25 +1270,26 @@ h5 { .IdForm { background: white; - border: 2px solid rgba(12, 16, 64, 0.606); + border: 1px solid rgb(121 123 163 / 61%); margin: 4px; padding: 6px; - box-shadow: 1px 1px 2px #a3a0a0; + box-shadow: 1px 1px 2px #eee9e9; width: 168px; - height: 27px; + height: 12px; border-radius: 4px; overflow: auto; } .ValueForm { background: white; - border: 2px solid rgba(12, 16, 64, 0.606); + /* border: 1px solid rgba(12, 16, 64, 0.606); */ margin-left: 5px; padding: 6px; - box-shadow: 1px 1px 2px #a3a0a0; + box-shadow: 1px 1px 2px #eee9e9; width: 30%; - height: 27px; + height: 13px; border-radius: 4px; + border: 1px solid rgb(143 147 196 / 61%); } #operator { @@ -1130,25 +1338,33 @@ h5 { } .ReactModal__Content--after-open { - width: 485px; - font-size: 11px; - height: 33%; + width: 500px; + font-size: 12px !important; + /* height: 33%; */ + height: fit-content; position: absolute !important; - inset: 35% !important; + top: 18% !important; + right: 10vw !important; + left: 32.4vw !important; border: 1px solid rgb(204, 204, 204) !important; - background: #be5930 !important; + background: #82a0b7 !important; overflow: auto !important; - border-radius: 4px !important; + border-radius: 12px !important; outline: none !important; - padding: 16px !important; + padding: 7px !important; + box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px; } .ReactModal__Content--after-open p { - font-size: 16px; + font-size: 12px; font-weight: normal; + inset: 0px !important; color: white; line-height: 30px; padding: 2px; + top: 28% !important; + right: 10vw !important; + left: 34.4vw !important; } @media (max-width: 1409px) { .containerExtraSections2 { @@ -1167,6 +1383,10 @@ h5 { align-items: center; align-content: center; } + + .variantsForm { + margin-left: 0px; + } .containerExtraSections2 { display: flex; flex-direction: column; @@ -1195,13 +1415,21 @@ h5 { } } -@media (max-width: 760px) { +@media (max-width: 900px) { .container1 a { display: flex; font-size: 11px; text-underline-offset: 1px; } + .crossQueriesTittle { + margin-bottom: 12px; + font-size: 12px; + margin-top: 37px; + text-decoration: underline; + text-underline-offset: 2px; + } + .resultset2 { display: flex; align-items: flex-start; @@ -1214,23 +1442,12 @@ h5 { padding-bottom: 1px; } - .elixirLogo { - height: 60px; - -webkit-filter: grayscale(20%); - filter: grayscale(100%); - } - - .elixirLogo:hover { - -webkit-filter: grayscale(0%); - filter: grayscale(0%); - } - .version { - margin-bottom: 63px; - margin-right: 25px; - margin-top: -10px; - color: rgb(102 116 152) !important; - font-weight: 600; + margin-bottom: 0px; + margin-right: 37px; + margin-top: -18px; + color: #3176b1 !important; + font-weight: 700 !important; } .logosVersionContainer { @@ -1242,19 +1459,69 @@ h5 { margin-bottom: 20px; } - .laCaixaLogo { - height: 31px; + .eosc4cancer { + height: 61px; + margin-top: 20px; + margin-right: 33px; + -webkit-filter: grayscale(20%); + filter: grayscale(100%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; + } + .by-covid-logo{ + height: 14px; + margin-top: 20px; + margin-right: 30px; + -webkit-filter: grayscale(20%); + filter: grayscale(60%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; + } + .ega-logo{ + height: 36px; + margin-top: 20px; margin-right: 30px; + -webkit-filter: grayscale(20%); + filter: grayscale(35%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; + } + + + .federLogo { + height: 31px; + margin-top: 31px; + margin-right: 10px; + -webkit-filter: grayscale(20%); + filter: grayscale(100%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; + } + + .iscLogo { + height: 31px; + margin-top: 31px; + margin-right: 10px; + -webkit-filter: grayscale(100%); + filter: grayscale(100%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; + } + + .ministerioLogo { + height: 31px; + margin-top: 31px; + margin-right: 10px; -webkit-filter: grayscale(100%); filter: grayscale(100%); -webkit-transition: 0.2s ease-in-out; transition: 0.2s ease-in-out; } - .horizonEuropeLogo{ + .laCaixaLogo { height: 31px; - margin-right: 16px; - margin-left: 4px; + margin-top: 31px; + margin-right: 30px; -webkit-filter: grayscale(100%); filter: grayscale(100%); -webkit-transition: 0.2s ease-in-out; @@ -1262,24 +1529,32 @@ h5 { } .inputVariants { - height: 24px; - border: 1.5px solid #dfdfdf; + width: 69px; + /* height: 24px; */ + border: 0.5px solid #dfdfdf; border-radius: 2px; - margin-bottom: 30px; - font-size: 12px; + margin-bottom: 2px; + margin-left: 6px; + font-size: 11.5px; + padding: 3px; + box-shadow: rgb(234 221 221 / 16%) 0px 1px 4px; + } + + .container2 { + margin-bottom: 0px; } .exampleQuery { + width: 100%; border: none; /* border-color: #5454bc; */ padding: 5px; cursor: pointer; display: flex; - flex-direction: row; - align-content: center; - justify-content: center; - align-items: center; - font-size: 12px; + flex-direction: column-reverse; + align-items: flex-start; + justify-content: space-around; + align-content: space-around; } .labelVariants { @@ -1293,11 +1568,7 @@ h5 { } .buttonVariants { - margin-top: 12px; margin-bottom: 20px; - box-shadow: rgba(0, 0, 0, 0.25) 0px 1px 1px, - rgba(179, 179, 179, 0.22) 0px 1px 1px; - padding: 5px; cursor: pointer; font-size: 12px; margin-right: 7px; @@ -1328,19 +1599,6 @@ h5 { margin-top: -3px; vertical-align: middle; } - .ReactModal__Content--after-open { - width: 269px; - font-size: 12px; - height: fit-content; - position: absolute !important; - inset: 35% !important; - border: 1px solid rgb(204, 204, 204) !important; - background: #be5930 !important; - overflow: auto !important; - border-radius: 4px !important; - outline: none !important; - padding: 16px !important; - } .ReactModal__Content--after-open p { font-size: 14px; @@ -1348,6 +1606,11 @@ h5 { color: white; line-height: 20px; padding: 2px; + width: 500px; + top: 28% !important; + right: 10vw !important; + left: 34.4vw !important; + inset: 0px !important; } .ReactModal__Overlay { @@ -1369,16 +1632,20 @@ h5 { .container-fluid { display: flex; width: 100%; - margin-right: 0px; - margin-left: 0px; - justify-content: center; - height: 35px; + margin-right: 10px; + margin-left: 10px; + justify-content: space-around; + /* height: 35px; */ + align-content: center; + margin-top: 20px; + flex-wrap: wrap; } .example { display: flex; align-items: center; margin-right: 0px; + width: 230px; margin-top: 22px; margin-bottom: 22px; flex-direction: row; @@ -1412,7 +1679,7 @@ h5 { } .formSearch { - width: 81vw; + width: 61vw; margin-right: 3px; background: white; border: 2px solid #8985c1; @@ -1438,12 +1705,376 @@ h5 { margin-left: -8px; } .searchIcon:hover { - width: 26px; + width: 27px; margin-top: -1px; margin-left: -8px; } - .searchButton { + .elixirLogo { + height: 70px; + margin-top: 18px; + margin-bottom: 37px; + margin-right: 21px; + } + + .searchButton { + height: 30px; + cursor: pointer; + } + + .examplesQueriesList { + display: flex; + flex-direction: column; + justify-content: center; + align-content: center; + align-items: flex-start; + width: fit-content; + border-radius: 5px; + font-size: 9px; + margin-left: 10px !important; + background: #8dbde0; + } + + .bulbExample { + margin-right: 49px; + display: flex; + padding-right: 13px; + border-right: 1.7px solid #f1f1f1; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', + 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', + 'Helvetica Neue', sans-serif; + text-transform: uppercase; + } + + .NavlinkVerifier { + color: rgba(12, 16, 64, 0.606); + font-size: 15px !important; + font-feature-settings: 'pcap', 'c2pc', 'pcap', 'c2pc'; + font-variant-caps: all-petite-caps; + margin-top: 0px; + font-size: 12px !important; + } +} + +@media (max-width: 750px) { + .container1 a { + display: flex; + font-size: 11px; + text-underline-offset: 1px; + } + + .crossQueriesTittle { + margin-bottom: 12px; + font-size: 12px; + margin-top: 37px; + text-decoration: underline; + text-underline-offset: 2px; + } + + .resultset2 { + display: flex; + align-items: flex-start; + width: 244px; + flex-direction: column; + justify-content: center; + /* margin-left: 46px; */ + background: #e0e7ef; + padding-top: 10px; + padding-bottom: 1px; + } + + .version { + margin-bottom: 0px; + margin-right: 37px; + margin-top: -18px; + color: rgb(102 116 152) !important; + font-weight: 700 !important; + } + + .logosVersionContainer { + display: flex; + flex-direction: column; + align-content: stretch; + justify-content: center; + align-items: flex-end; + margin-bottom: 20px; + } + + .eosc4cancer { + height: 61px; + margin-top: 20px; + margin-right: 33px; + -webkit-filter: grayscale(20%); + filter: grayscale(100%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; + } + .by-covid-logo{ + height: 14px; + margin-top: 20px; + margin-right: 30px; + -webkit-filter: grayscale(20%); + filter: grayscale(60%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; + } + + .ega-logo{ + height: 36px; + margin-top: 20px; + margin-right: 30px; + -webkit-filter: grayscale(20%); + filter: grayscale(35%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; + } + .federLogo { + height: 31px; + margin-top: 31px; + margin-right: 10px; + -webkit-filter: grayscale(20%); + filter: grayscale(100%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; + } + + .iscLogo { + height: 31px; + margin-top: 31px; + margin-right: 10px; + -webkit-filter: grayscale(100%); + filter: grayscale(100%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; + } + + .ministerioLogo { + height: 31px; + margin-top: 31px; + margin-right: 10px; + -webkit-filter: grayscale(100%); + filter: grayscale(100%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; + } + + .laCaixaLogo { + height: 31px; + margin-top: 31px; + margin-right: 30px; + -webkit-filter: grayscale(100%); + filter: grayscale(100%); + -webkit-transition: 0.2s ease-in-out; + transition: 0.2s ease-in-out; + } + + .inputVariants { + width: 69px; + /* height: 24px; */ + border: 0.5px solid #dfdfdf; + border-radius: 2px; + margin-bottom: 2px; + margin-left: 6px; + font-size: 11.5px; + padding: 3px; + box-shadow: rgb(234 221 221 / 16%) 0px 1px 4px; + } + + .container2 { + margin-bottom: 0px; + } + + .exampleQuery { + width: 100%; + border: none; + /* border-color: #5454bc; */ + padding: 5px; + cursor: pointer; + display: flex; + flex-direction: column-reverse; + align-items: flex-start; + justify-content: space-around; + align-content: space-around; + } + + .labelVariants { + font-size: 11.5px; + margin-bottom: 18px; + margin-right: 4px; + margin-left: 18px; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', + 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', + 'Helvetica Neue', sans-serif; + } + + .buttonVariants { + margin-bottom: 20px; + cursor: pointer; + font-size: 12px; + margin-right: 7px; + } + + .switchDescendants h3 { + color: #e16e00; + text-transform: uppercase; + margin-left: 3px !important; + margin-top: 6px; + font-size: 10px; + } + .css-1ycxvqq-MuiSwitch-root { + display: -webkit-inline-box; + display: -webkit-inline-flex; + display: -ms-inline-flexbox; + display: inline-flex; + width: 40px; + height: 24px; + overflow: hidden; + padding: 7px; + box-sizing: border-box; + position: relative; + -webkit-flex-shrink: 0; + -ms-flex-negative: 0; + flex-shrink: 0; + z-index: 0; + margin-top: -3px; + vertical-align: middle; + } + .ReactModal__Content--after-open { + width: 280px; + font-size: 11px; + /* height: 33%; */ + height: 22%; + position: absolute !important; + top: 28% !important; + right: 10vw !important; + left: 32.4vw !important; + border: 1px solid rgb(204, 204, 204) !important; + background: #82a0b7 !important; + overflow: auto !important; + border-radius: 12px !important; + outline: none !important; + padding: 7px !important; + box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px; + inset: 20vw !important; + } + + .ReactModal__Content--after-open p { + font-size: 12px; + font-weight: normal; + color: white; + width: fit-content; + line-height: 20px; + padding: 2px; + top: 28% !important; + right: 10vw !important; + left: 34.4vw !important; + } + + .ReactModal__Overlay { + z-index: 3; + } + + .filters { + padding: 4px; + cursor: pointer; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', + 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', + 'Helvetica Neue', sans-serif; + text-transform: uppercase; + font-size: 10px; + margin-right: 3px; + margin-left: -23px; + } + + .container-fluid { + display: flex; + width: 100%; + margin-right: 10px; + margin-left: 10px; + justify-content: space-around; + /* height: 35px; */ + align-content: center; + margin-top: 20px; + flex-wrap: wrap; + } + + .example { + display: flex; + align-items: center; + margin-right: 0px; + width: 230px; + margin-top: 22px; + margin-bottom: 22px; + flex-direction: row; + align-content: space-between; + justify-content: center; + } + + .exampleQueries { + border: none; + background-color: #ffffff; + color: #4d4b4b; + cursor: pointer; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', + 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', + 'Helvetica Neue', sans-serif; + text-transform: uppercase; + font-size: 10px; + margin-left: 0px !important; + } + + .additionalOptions { + justify-content: center; + align-items: center; + z-index: 0; + height: 73px; + margin-top: 11px; + } + + .bulbLogo { + display: none; + } + + .formSearch { + width: 71vw; + margin-right: 3px; + background: white; + border: 2px solid #8985c1; + font-size: small; + /* margin: 10px; */ + border-radius: 10px; + /* box-shadow: 2px 1px 2px #cecece; */ + height: 27px; + } + .bulbExample { + margin-right: 48px; + padding-right: 19px; + border-right: 1.7px solid #f1f1f1; + display: flex; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', + 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', + 'Helvetica Neue', sans-serif; + text-transform: uppercase; + } + .searchIcon { + width: 26px; + margin-top: -1px; + margin-left: -8px; + } + .searchIcon:hover { + width: 27px; + margin-top: -1px; + margin-left: -8px; + } + + .elixirLogo { + height: 70px; + margin-top: 18px; + margin-bottom: 37px; + margin-right: 21px; + } + + .searchButton { height: 30px; cursor: pointer; } @@ -1481,3 +2112,27 @@ h5 { font-size: 12px !important; } } + +@media (max-width: 460px) { + .containerForm { + margin-left: 0px; + } + .formSearch { + width: 71vw; + margin-right: 3px; + background: white; + border: 2px solid #8985c1; + font-size: small; + /* margin: 10px; */ + border-radius: 10px; + /* box-shadow: 2px 1px 2px #cecece; */ + height: 30px; + } + .crossQueriesTittle { + margin-bottom: 12px; + font-size: 10px; + margin-top: 24px; + text-decoration: underline; + text-underline-offset: 2px; + } +} diff --git a/frontend/src/App.js b/frontend/src/App.js index 04b8da4..0066310 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -12,7 +12,6 @@ import Cohorts from './components/Cohorts/Cohorts' import ErrorPage from './pages/ErrorPage' import Navbar from './components/NavBar/Navbar' import SignInForm from './components/SignIn/SignInForm' -import ResultsDatasets from './components/Datasets/ResultsDatasets' import CrossQueries from './components/CrossQueries/CrossQueries' import LoggedIn from './components/SignIn/LoggedIn' import Validator from './components/Validator/Validator' @@ -20,6 +19,7 @@ import SignInFormNoLS from './components/SignIn/SignInFormNoLS' import AboutSection from './components/AboutSection/AboutSection' import SignInOptions from './components/SignInOptions/SignInOptions' import Footer from './components/Footer/Footer' +import BeaconInfo from './components/Dataset/BeaconInfo' function App () { return ( @@ -33,7 +33,7 @@ function App () { } /> } /> } /> - } /> + } /> } /> } /> } /> @@ -43,7 +43,7 @@ function App () { } /> } /> -