diff --git a/CHANGELOG.md b/CHANGELOG.md
index aa01c18c6bb..59d4456fe2f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
+## [23.08.0] - 2023-07-13
+### Changed
+- Removed remaining Bootstrap components
+- Added JSON-LD metadata to registration overview page for Google structured data markup
+
## [23.07.0] - 2023-05-01
### Changed
- Fix some deprecations
@@ -1927,6 +1932,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
### Added
- Quick Files
+[23.08.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/23.08.0
[23.07.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/23.07.0
[23.06.1]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/23.06.1
[23.06.0]: https://github.com/CenterForOpenScience/ember-osf-web/releases/tag/23.06.0
diff --git a/app/application/-components/verify-email-modal/styles.scss b/app/application/-components/verify-email-modal/styles.scss
new file mode 100644
index 00000000000..8ce223ce1b0
--- /dev/null
+++ b/app/application/-components/verify-email-modal/styles.scss
@@ -0,0 +1,4 @@
+.modal-title {
+ margin: 0;
+ line-height: $tall-line-height;
+}
diff --git a/app/application/-components/verify-email-modal/template.hbs b/app/application/-components/verify-email-modal/template.hbs
index 13ff920e2c9..521efaa39bd 100644
--- a/app/application/-components/verify-email-modal/template.hbs
+++ b/app/application/-components/verify-email-modal/template.hbs
@@ -1,34 +1,33 @@
-{{#if (and this.shouldShowModal this.userEmail)}}
-
-
- {{t this.translationKeys.header}}
-
-
-
- {{t this.translationKeys.body email=this.userEmail.emailAddress htmlSafe=true}}
-
-
-
-
- {{t this.translationKeys.denyButton}}
-
-
- {{t this.translationKeys.verifyButton}}
-
-
-
-{{/if}}
+
+
+ {{t this.translationKeys.header}}
+
+
+
+ {{t this.translationKeys.body email=this.userEmail.emailAddress htmlSafe=true}}
+
+
+
+
+
+
+
diff --git a/app/dashboard/controller.ts b/app/dashboard/controller.ts
index 1777f44b2bb..ab3bc0d0dc6 100644
--- a/app/dashboard/controller.ts
+++ b/app/dashboard/controller.ts
@@ -9,6 +9,7 @@ import { all, restartableTask, task, timeout } from 'ember-concurrency';
import { taskFor } from 'ember-concurrency-ts';
import config from 'ember-get-config';
import $ from 'jquery';
+import Media from 'ember-responsive';
import Institution from 'ember-osf-web/models/institution';
import Node from 'ember-osf-web/models/node';
@@ -29,6 +30,7 @@ export default class Dashboard extends Controller {
@service analytics!: Analytics;
@service currentUser!: CurrentUser;
@service store!: Store;
+ @service media!: Media;
page = 1;
loading = false;
@@ -155,9 +157,16 @@ export default class Dashboard extends Controller {
taskFor(this.findNodes).perform();
}
- @action
- projectCreated(newNode: Node) {
+ @task
+ async projectCreated(newNode: Node) {
+ this.set('modalOpen', false);
+ await timeout(1);
this.set('newNode', newNode);
this.set('showNewNodeNavigation', true);
+ this.set('modalOpen', true);
+ }
+
+ get isMobile() {
+ return this.media.isMobile;
}
}
diff --git a/app/dashboard/styles.scss b/app/dashboard/styles.scss
index 54e0bc12cd6..90005f1b3af 100644
--- a/app/dashboard/styles.scss
+++ b/app/dashboard/styles.scss
@@ -1,206 +1,418 @@
-/* stylelint-disable */
-.quickSearch {
- min-height: 700px;
- background: #C5D6E6 url('/assets/images/dashboard/bg6.jpg') top center repeat-y;
- background-size: cover;
-}
-
-.public-projects-box {
- background: rgba(255, 255, 255, 0.22);
- padding: 10px 15px;
- border-radius: 2px;
- margin-top: 20px;
-
- > a:hover {
- text-decoration: none;
- }
-}
-
-.newAndNoteworthy {
- min-height: 650px;
- background: $color-bg-gray-blue-dark;
- padding-top: 25px;
- color: $color-text-white;
-}
-
-.bg-web {
- background: #166595 url("/assets/images/home/bg-web.png") no-repeat center top;
- background-size: cover;
-}
+// stylelint-disable max-nesting-depth, selector-max-compound-selectors, selector-no-qualifying-type
-.institutions-panel {
- padding-top: 20px;
- padding-bottom: 20px;
-}
+.dashboard-container {
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+ width: 100%;
+
+ .quick-search-container {
+ min-height: 700px;
+ background: #c5d6e6 url('/assets/images/dashboard/bg6.jpg') top center repeat-y;
+ background-size: cover;
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+ width: 100%;
+ padding-top: 25px;
+
+ .header-container {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+ padding-right: 20px;
+ padding-left: 20px;
+ width: 60%;
+
+ .button {
+ font-weight: 600px;
+ }
+ }
-.meetings {
- color: $color-text-white;
-}
+ .no-results-container {
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+ width: 60%;
+
+ .iframe-container {
+ display: flex;
+ justify-content: center;
+ flex-wrap: wrap;
+ margin-top: 20px;
+ margin-bottom: 30px;
+
+ .osf-video {
+ width: 560px;
+ height: 315px;
+ }
+
+ &.mobile {
+ .osf-video {
+ width: fit-content;
+ }
+ }
+ }
+ }
-.preprints {
- background: $color-bg-gray-blue-dark;
- color: $color-text-white;
-}
+ .quick-project-container {
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+ width: 60%;
+
+ .text-center {
+ text-align: center;
+ }
+
+ .quick-search-input {
+ width: 70%;
+ margin-top: 20px;
+ margin-bottom: 20px;
+
+ input {
+ height: 38px;
+ border-radius: 5px;
+ display: inline-block;
+ padding-right: 40px;
+ }
+ }
+
+ .quick-search-table {
+ background: rgba(255, 255, 255, 0.49);
+ padding: 10px 15px;
+ margin-top: 20px;
+ margin-bottom: 50px;
+ width: 100%;
+
+ .load-nodes-button {
+ width: 100%;
+
+ .load-nodes {
+ font-size: 2em;
+ color: #777;
+ }
+
+ .load-nodes:hover {
+ color: $color-text-black;
+ }
+
+ .load-nodes-button:hover,
+ .load-nodes-button:focus,
+ .load-nodes-button:active,
+ .load-nodes-button:focus:active {
+ background-color: transparent;
+ box-shadow: 0 0 0 0 transparent;
+ outline-width: 0;
+ }
+ }
+
+ .table-header-container {
+ margin-top: 15px;
+ font-weight: bold;
+ display: flex;
+ flex-direction: row;
+
+ .column-25,
+ .column-50 {
+ display: flex;
+ flex-direction: row;
+ width: 25%;
+ padding-left: 5px;
+ justify-content: flex-start;
+ align-items: center;
+
+ button {
+ height: 26px;
+ }
+ }
+
+ .column-50 {
+ width: 50%;
+ }
+ }
+
+ .mobile-header-container {
+ display: flex;
+ justify-content: flex-end;
+ width: 100%;
+ font-weight: bold;
+ }
+
+ .loading-dashboard-item {
+ opacity: 0.5;
+ pointer-events: none;
+ }
+ }
+ }
-.btn-banner {
- box-shadow: 0 0 9px -4px #000;
- width: 70%;
-}
+ &.mobile {
+ .header-container {
+ width: 100%;
+ flex-direction: column;
+ padding-bottom: 20px;
+ padding-left: 0;
+ padding-right: 0;
+ }
+
+ .no-results-container,
+ .quick-project-container {
+ width: 100%;
+
+ .quick-search-input {
+ width: 100%;
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+ }
+ }
+ }
-.quick-project button {
- appearance: none;
- outline: none;
- border: 0;
- background: transparent;
-}
+ .background {
+ background: #166595 url('/assets/images/home/bg-web.png') no-repeat center top;
+ background-size: cover;
+ }
-.load-nodes {
- font-size: 2em;
-}
+ .products-container {
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+ width: 100%;
+ padding-top: 20px;
+ padding-bottom: 20px;
+
+ .img-responsive {
+ display: block;
+ max-width: 100%;
+ }
-.load-nodes:hover {
- color: $color-text-black;
-}
+ a {
+ margin-bottom: 10px;
+ margin-top: 10px;
+ }
+ }
-.load-nodes-button:hover,
-.load-nodes-button:focus,
-.load-nodes-button:active,
-.load-nodes-button:focus:active {
- background-color: transparent;
- box-shadow: 0 0 0 0 transparent;
- outline-width: 0;
-}
+ .noteworthy-container {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+ background: $color-bg-gray-blue-dark;
+ padding-top: 25px;
+ color: $color-text-white;
+
+ .noteworthy-header-container {
+ width: 50%;
+ }
-.quick-project img {
- margin-top: 30px;
- border: 3px solid $color-border-white;
- opacity: 0.6;
-}
+ .noteworthy-search-container {
+ width: fit-content;
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ margin-top: 25px;
+ margin-bottom: 25px;
+ }
-.node-col-headers {
- font-weight: bold;
-}
+ .new-noteworthy-container {
+ width: 50%;
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: flex-start;
+
+ .new-container,
+ .noteworthy-container {
+ width: calc(50% - 10px);
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: flex-start;
+ background: rgba(255, 255, 255, 0.22);
+ padding: 10px 15px;
+ border-radius: 2px;
+ margin-top: 20px;
+
+ > a:hover {
+ text-decoration: none;
+ }
+ }
+ }
-@media screen and (max-width: 768px) {
- .node-col-headers {
- display: none;
+ &.mobile {
+ .noteworthy-header-container {
+ padding-left: 10px;
+ width: 100%;
+ }
+
+ .new-noteworthy-container {
+ flex-direction: column;
+ width: 100%;
+
+ .new-container,
+ .noteworthy-container {
+ width: 100%;
+ }
+ }
+ }
}
- .iframe-container {
- .osf-video {
- width: 336px;
- height: 190px;
+ .preprint-container,
+ .meeting-container {
+ width: 100%;
+ color: $color-text-white;
+
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: flex-start;
+
+ .preprints,
+ .meetings {
+ width: 60%;
+ height: 150px;
+
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-start;
+ align-items: center;
+
+ .information-container {
+ width: 70%;
+
+ .conference-text {
+ margin-top: 25px;
+ font-size: 1.1em;
+ }
+ }
+
+ .button-container {
+ width: 30%;
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+
+ .button-banner {
+ box-shadow: 0 0 9px -4px #000;
+ width: 200px;
+ font-weight: 600;
+ }
+ }
}
- }
-}
-@media screen and (min-width: 768px) {
- .node-sort-dropdown {
- display: none;
+ &.mobile {
+ .preprints,
+ .meetings {
+ padding-left: 10px;
+ width: 100%;
+ height: 100%;
+ flex-direction: column;
+
+ .information-container,
+ .button-container {
+ width: 100%;
+ }
+
+ .button-container {
+ margin-top: 35px;
+ margin-bottom: 35px;
+ }
+ }
+ }
}
-}
-
-.quick-project label {
- font-weight: normal;
-}
-
-.prevent-overflow {
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-// .blank-line {
-// margin-bottom: 15px;
-// }
-
-.quick-search-input {
- width: 70%;
- margin: 10px auto;
-
- input {
- height: 38px;
- border-radius: 5px;
- display: inline-block;
- padding-right: 40px;
+ .preprint-container {
+ background: $color-bg-gray-blue-dark;
+ color: $color-text-white;
}
- span {
- color: $color-text-gray-dark;
+ .btn {
display: inline-block;
- margin-left: -36px;
- background: $color-bg-gray-light;
- border-radius: 12px;
- font-size: 13px;
- padding: 1px;
- width: 26px;
+ margin-bottom: 0;
+ font-weight: 400;
+ text-align: center;
+ white-space: nowrap;
+ touch-action: manipulation;
+ cursor: pointer;
+ background-image: none;
+ border: 1px solid transparent;
+ border-radius: 2px;
+ padding: 6px 12px;
+ font-size: 14px;
+ line-height: 1.42857;
+ user-select: none;
+ vertical-align: middle;
}
-}
-
-.quick-search-col {
- padding-left: 5px;
-
- span {
- height: 28px;
- vertical-align: bottom;
- display: table-cell;
+
+ .btn-lg {
+ padding: 10px 16px;
+ font-size: 18px;
+ line-height: 1.33333;
}
-}
-
-@media (min-width: 768px) {
- .quick-search-contents {
- min-height: 880px;
+
+ .btn-success {
+ color: $color-text-white;
+ background-color: #357935;
+ border-color: #2d672d;
}
-}
-@media (max-width: 768px) {
- .quick-search-contents {
- min-height: 1450px;
+
+ .btn-success:focus,
+ .btn-success.focus {
+ color: $color-text-white;
+ background-color: #357935;
+ border-color: #163216;
}
-}
-
-.quick-search-table {
- background: rgba(255, 255, 255, 0.49);
- padding: 10px 15px;
- border-radius: 2px;
- margin-top: 20px;
- margin-bottom: 50px;
-}
-
-.prereg-banner p {
- margin: 0;
- padding-top: 6px;
- padding-bottom: 6px;
- font-weight: bold;
-}
-
-.loading-dashboard-item {
- opacity: .5;
- pointer-events: none;
-}
-
-.pointer {
- cursor: pointer;
-}
-
-.osf-project-navbar a.project-title {
- max-width: 100%;
-}
-
-.quick-search-input > input::placeholder {
- color: $color-text-placeholder-grey-dark;
- opacity: 1;
-}
-
-.iframe-container {
- display: flex;
- justify-content: center;
- flex-wrap: wrap;
- margin-top: 20px;
- margin-bottom: 30px;
-
- .osf-video {
- width: 560px;
- height: 315px;
+
+ .btn-success:hover {
+ color: $color-text-white;
+ background-color: #357935;
+ border-color: #2a602a;
+ }
+
+ .btn-default {
+ background-color: $bg-light;
+ color: $color-text-black;
+ border-color: $color-border-gray;
+ }
+
+ .btn-default:focus,
+ .btn-default.focus {
+ color: $color-text-black;
+ background-color: #e6e6e6;
+ border-color: #8c8c8c;
}
+
+ .btn-default:hover {
+ color: $color-text-black;
+ background-color: #e6e6e6;
+ border-color: #adadad;
+ }
+
+ .btn-primary {
+ color: $color-text-white;
+ background-color: #337ab7;
+ border-color: #2e6da4;
+ }
+
+ .btn-primary:focus,
+ .btn-primary.focus {
+ color: $color-text-white;
+ background-color: #286090;
+ border-color: #122b40;
+ }
+
+ .btn-primary:hover {
+ color: $color-text-white;
+ background-color: #286090;
+ border-color: #204d74;
+ }
}
-
diff --git a/app/dashboard/template.hbs b/app/dashboard/template.hbs
index 7e8d1c2c98c..40bb5818cc0 100644
--- a/app/dashboard/template.hbs
+++ b/app/dashboard/template.hbs
@@ -1,330 +1,286 @@
{{page-title (t 'dashboard.page_title')}}
-
+
{{#if this.modalOpen}}
- {{#if this.showNewNodeNavigation}}
-
- {{else}}
-
- {{/if}}
+
+
{{/if}}
-
-
-
-
-
-
-
{{t 'dashboard.title'}}
-
-
-
- {{t 'dashboard.create_new_project_button'}}
-
+
+
+
{{t 'dashboard.title'}}
+
+
+
+ {{#if this.initialLoad}}
+
+ {{else}}
+ {{#if this.hasNodes}}
+
+
+
+
{{t 'dashboard.quicksearch.other_links' htmlSafe=true}}
+
+ {{#if this.isMobile}}
+
+
+
+ {{else}}
+
+
+ {{t 'general.title'}}
+
+
+
+ {{t 'general.contributors'}}
+
+
+ {{t 'general.modified'}}
+
-
-
-
- {{#if this.initialLoad}}
-
- {{else}}
- {{#if this.hasNodes}}
-
-
-
{{t 'dashboard.quicksearch.other_links' htmlSafe=true}}
-
-
-
-
- {{t 'general.title'}}
-
-
-
-
-
- {{t 'general.contributors'}}
-
-
-
-
- {{t 'general.modified'}}
-
-
-
-
-
-
-
-
-
- {{#each this.nodes as | node |}}
-
-
-
- {{else}}
- {{#if this.loading}}
-
- {{else}}
-
-
{{t 'dashboard.quicksearch.no_results'}}
-
- {{/if}}
- {{/each}}
-
- {{#if this.hasMore}}
- {{#if this.loadingMore}}
-
- {{else}}
-
-
-
-
-
- {{/if}}
- {{/if}}
-
- {{else}}
-
-
-
{{t 'dashboard.quicksearch.no_projects.line1'}}
-
{{t 'dashboard.quicksearch.no_projects.line2'}}
-
-
-
-
-
- {{t 'dashboard.getting_started'}}
-
-
-
- {{/if}}
- {{/if}}
+ {{/if}}
+ {{#each this.nodes as | node |}}
+
+
+ {{else}}
+ {{#if this.loading}}
+
+ {{else}}
+
+
{{t 'dashboard.quicksearch.no_results'}}
+
+ {{/if}}
+ {{/each}}
+ {{#if this.hasMore}}
+ {{#if this.loadingMore}}
+
+ {{else}}
+
+ {{/if}}
+ {{/if}}
+
+ {{else}}
+
+
{{t 'dashboard.quicksearch.no_projects.line1'}}
+
{{t 'dashboard.quicksearch.no_projects.line2'}}
+
+
+
+
+
+ {{t 'dashboard.getting_started'}}
+
-
-
+ {{/if}}
+ {{/if}}
-
-
+
+
-
-
-
-
-
{{t 'dashboard.noteworthy.description'}}
-
+
+
+
+
{{t 'dashboard.noteworthy.description'}}
+
+
+
+
{{t 'dashboard.noteworthy.new_and_noteworthy'}}
+ {{#if this.failedLoading-noteworthy}}
+ {{t 'dashboard.noteworthy.failed_noteworthy'}}
+ {{else}}
+ {{#if this.noteworthy.length}}
+ {{#each this.noteworthy as | project | }}
+
+ {{/each}}
+ {{else}}
+
+ {{/if}}
+ {{/if}}
-
-
-
-
-
-
-
{{t 'dashboard.noteworthy.new_and_noteworthy'}}
- {{#if this.failedLoading-noteworthy}}
- {{t 'dashboard.noteworthy.failed_noteworthy'}}
- {{else}}
- {{#if this.noteworthy.length}}
- {{#each this.noteworthy as | project | }}
-
- {{/each}}
- {{else}}
-
- {{/if}}
- {{/if}}
-
-
-
-
-
{{t 'dashboard.noteworthy.most_popular'}}
- {{#if this.failedLoading-popular}}
- {{t 'dashboard.noteworthy.failed_popular'}}
- {{else}}
- {{#if this.popular.length}}
- {{#each this.popular as | project | }}
-
- {{/each}}
- {{else}}
-
- {{/if}}
- {{/if}}
-
-
-
-
-
-
- {{t 'dashboard.noteworthy.search_more'}}
-
-
-
-
-
+
+
{{t 'dashboard.noteworthy.most_popular'}}
+ {{#if this.failedLoading-popular}}
+ {{t 'dashboard.noteworthy.failed_popular'}}
+ {{else}}
+ {{#if this.popular.length}}
+ {{#each this.popular as | project | }}
+
+ {{/each}}
+ {{else}}
+
+ {{/if}}
+ {{/if}}
+
+
+ {{t 'dashboard.noteworthy.search_more'}}
+
+
-
-
-
-
-
-
-
-
-
{{t 'dashboard.meetings.title'}}
-
-
-
{{t 'dashboard.meetings.description'}}
-
-
-
-
-
- {{t 'dashboard.meetings.button'}}
-
-
-
-
-
+
+
+
+
{{t 'dashboard.meetings.title'}}
+
+
{{t 'dashboard.meetings.description'}}
+
+
+ {{t 'dashboard.meetings.button'}}
+
+
-
-
-
-
-
-
-
-
-
{{t 'dashboard.preprints.title'}}
-
-
-
{{t 'dashboard.preprints.description'}}
-
-
-
-
-
- {{t 'dashboard.preprints.button'}}
-
-
-
-
-
+
+
+
+
{{t 'dashboard.preprints.title'}}
+
+
{{t 'dashboard.preprints.description'}}
+
+
+ {{t 'dashboard.preprints.button'}}
+
+
\ No newline at end of file
diff --git a/app/error-no-api/styles.scss b/app/error-no-api/styles.scss
new file mode 100644
index 00000000000..2c3a30ae55f
--- /dev/null
+++ b/app/error-no-api/styles.scss
@@ -0,0 +1,8 @@
+.error-container {
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: flex-start;
+ margin-left: 20px;
+ margin-right: 20px;
+}
diff --git a/app/error-no-api/template.hbs b/app/error-no-api/template.hbs
index db79eed28aa..b9b58cc9083 100644
--- a/app/error-no-api/template.hbs
+++ b/app/error-no-api/template.hbs
@@ -1,8 +1,4 @@
-
-
-
-
{{t 'error_no_api.title'}}
-
{{t 'error_no_api.body' supportEmail=this.supportEmail htmlSafe=true}}
-
-
+
+
{{t 'error_no_api.title'}}
+
{{t 'error_no_api.body' supportEmail=this.supportEmail htmlSafe=true}}
diff --git a/app/guid-file/styles.scss b/app/guid-file/styles.scss
index db5290048e8..52797c68f49 100644
--- a/app/guid-file/styles.scss
+++ b/app/guid-file/styles.scss
@@ -80,7 +80,7 @@
height: 95%;
margin: 0 20px 20px;
- &.Mobile {
+ &.mobile {
width: 90vw;
}
diff --git a/app/guid-file/template.hbs b/app/guid-file/template.hbs
index ce1b6c3712c..dddac29fd66 100644
--- a/app/guid-file/template.hbs
+++ b/app/guid-file/template.hbs
@@ -66,7 +66,7 @@
{{/if}}
{{#if this.metadataOpened}}
-
+
@@ -327,49 +327,49 @@
<:rightButtons>
{{#if this.media.isMobile}}
-
-
+
{{/if}}
-
-
+
{{#if this.model.shouldShowRevisions}}
-
-
+
{{/if}}
{{#if this.model.shouldShowTags}}
-
-
+
{{/if}}
diff --git a/app/guid-node/forks/styles.scss b/app/guid-node/forks/styles.scss
index 0129924e7e6..4f561483820 100644
--- a/app/guid-node/forks/styles.scss
+++ b/app/guid-node/forks/styles.scss
@@ -71,3 +71,23 @@
.Forks__placeholder {
padding: 15px;
}
+
+.close {
+ padding: 0;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+ appearance: none;
+ float: right;
+ font-size: 21px;
+ font-weight: bold;
+ line-height: 1;
+ color: $color-text-black;
+ text-shadow: 0 1px 0 $color-text-white;
+ filter: alpha(opacity=20);
+ opacity: 0.2;
+}
+
+.m-md {
+ margin: 15px;
+}
diff --git a/app/guid-node/forks/template.hbs b/app/guid-node/forks/template.hbs
index 865387f6383..582a88ffc2d 100644
--- a/app/guid-node/forks/template.hbs
+++ b/app/guid-node/forks/template.hbs
@@ -1,55 +1,51 @@
{{! using unsafeTitle here to avoid double encoding because the title helper does its own }}
{{page-title (t 'forks.page_title' nodeTitle=this.model.taskInstance.value.unsafeTitle)}}
-
-
-
-
+
{{t 'forks.create_fork_modal'}}
-
-
-
+
+
-
+
-
-
+
+
+
-
-
+
-
+
{{#if this.currentUser.user}}
-
{{#if this.loadingNew}}
{{t 'forks.loading_new'}}
{{else}}
{{t 'forks.new'}}
{{/if}}
-
+
{{/if}}
diff --git a/app/guid-node/registrations/controller.ts b/app/guid-node/registrations/controller.ts
index 74f2947a4e8..311ea1a9791 100644
--- a/app/guid-node/registrations/controller.ts
+++ b/app/guid-node/registrations/controller.ts
@@ -7,12 +7,14 @@ import { inject as service } from '@ember/service';
import { waitFor } from '@ember/test-waiters';
import { task } from 'ember-concurrency';
import config from 'ember-get-config';
+import Media from 'ember-responsive';
import Node from 'ember-osf-web/models/node';
import RegistrationSchema from 'ember-osf-web/models/registration-schema';
import Analytics from 'ember-osf-web/services/analytics';
export default class GuidNodeRegistrations extends Controller {
+ @service media!: Media;
@service analytics!: Analytics;
@service store!: Store;
@@ -24,19 +26,9 @@ export default class GuidNodeRegistrations extends Controller {
selectedSchema!: RegistrationSchema;
schemas: RegistrationSchema[] = [];
newModalOpen = false;
- preregModalOpen = false;
- preregConsented = false;
reloadDrafts?: (page?: number) => void; // bound by paginated-list
- preregLinks = {
- approvedJournal: 'http://cos.io/our-services/prereg-more-information/',
- learnMore: 'https://cos.io/prereg',
- eligibleJournal: 'https://cos.io/preregjournals',
- embargoedCountries: 'https://www.pmddtc.state.gov/?id=ddtc_public_portal_country_landing',
- terms: 'https://osf.io/4uxbj/',
- };
-
@alias('model.taskInstance.value') node!: Node | null;
@task
@@ -72,20 +64,6 @@ export default class GuidNodeRegistrations extends Controller {
this.set('selectedSchema', this.defaultSchema);
}
- @action
- togglePreregConsent() {
- this.toggleProperty('preregConsented');
- if (this.preregConsented) {
- this.analytics.click('checkbox', 'Registrations tab - Consent to Prereg Challenge ');
- }
- }
-
- @action
- closePreregModal() {
- this.set('preregModalOpen', false);
- this.set('selectedSchema', this.defaultSchema);
- }
-
@action
schemaChanged(schema: RegistrationSchema) {
this.set('selectedSchema', schema);
@@ -97,12 +75,6 @@ export default class GuidNodeRegistrations extends Controller {
const branchedFrom = this.node!;
assert('Check that the node exists', Boolean(branchedFrom));
- if (this.selectedSchema.name === 'Prereg Challenge' && this.newModalOpen) {
- this.set('newModalOpen', false);
- this.set('preregConsented', false);
- this.set('preregModalOpen', true);
- return;
- }
const draftRegistration = this.store.createRecord('draft-registration', {
registrationSupplement: this.selectedSchema.id,
branchedFrom,
@@ -118,6 +90,10 @@ export default class GuidNodeRegistrations extends Controller {
draftRegistration.id,
);
}
+
+ get isMobile() {
+ return this.media.isMobile;
+ }
}
declare module '@ember/controller' {
diff --git a/app/guid-node/registrations/styles.scss b/app/guid-node/registrations/styles.scss
index 964c3b4bcc3..01662ce2136 100644
--- a/app/guid-node/registrations/styles.scss
+++ b/app/guid-node/registrations/styles.scss
@@ -1,26 +1,116 @@
-.RegistrationsContainer {
- margin-top: 15px;
- margin-bottom: 15px;
+// stylelint-disable max-nesting-depth, selector-max-compound-selectors
+
+.registration-container {
+ margin: 30px;
padding: 30px;
-}
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: flex-start;
+
+ .registration-tab-container {
+ width: 100%;
+
+ .tabs {
+ .registration-pane {
+ padding-top: 20px;
+ min-height: 150px;
+ }
+
+ /* stylelint-disable selector-no-qualifying-type */
+ ul.tab-list {
+ margin-bottom: 10px;
+ border-bottom: 1px solid #ddd;
+ box-sizing: border-box;
+ color: rgb(51, 51, 51);
+ display: block;
+ line-height: 20px;
+ list-style-image: none;
+ list-style-position: outside;
+ list-style-type: none;
+ height: 41px;
+ padding: 0;
+ }
+
+ /* stylelint-enable selector-no-qualifying-type */
+ .tab-list {
+ li {
+ display: block;
+ position: relative;
+ margin-bottom: -1px;
+ float: left;
+ height: 41px;
+ padding: 10px 15px;
+ }
+
+ li:global(.ember-tabs__tab--selected) {
+ background-color: #f8f8f8;
+ border-bottom: 2px solid #204762;
+ }
+
+ li:hover {
+ border-color: transparent;
+ text-decoration: none;
+ background-color: #f8f8f8;
+ color: var(--primary-color);
+ }
+ }
+ }
+ }
+
+ .registration-button-container {
+ width: 100%;
+
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: flex-end;
+ margin-bottom: 10px;
+ }
+
+ .register-project-container {
+ width: 100%;
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ margin-bottom: 10px;
+ }
-.RegistrationsPane {
- padding-top: 20px;
- min-height: 150px;
+ &.mobile {
+ margin: 0;
+ padding: 0;
+
+ .registration-button-container {
+ margin-top: 10px;
+ padding-right: 10px;
+ }
+
+ .registration-tab-container {
+ width: 100%;
+
+ .tabs {
+ .registration-pane {
+ padding-top: 20px;
+ min-height: 150px;
+ }
+ }
+ }
+ }
}
-h4:global(.NewRegistrationModal__header) {
+h4:global(.new-registration-modal-header) {
font-size: 24px;
font-weight: normal;
}
-:global(.NewRegistrationModal__info) {
+:global(.new-registration-modal-info) {
strong {
font-weight: 600;
}
}
-:global(.NewRegistrationModal__schema-list) {
+:global(.new-registration-modal-schema-list) {
ul {
list-style: none;
}
@@ -43,70 +133,7 @@ h4:global(.NewRegistrationModal__header) {
}
}
-:global(.PreRegChallengeModal__title) {
- text-align: center;
-}
-
-:global(.PreRegChallengeModal__notice) {
- text-align: center;
-}
-
-:global(.PreRegChallengeModal__eligibility) {
- font-weight: 600;
-}
-
-:global(.PreRegChallengeModal__info) {
- strong {
- font-weight: 600;
- }
-}
-
-:global(.PreRegChallengeModal__list) {
- strong {
- font-weight: 600;
- }
-}
-
-:global(.PreRegChallengeModal__consent) {
- font-weight: normal;
-}
-
-.Tabs {
- /* stylelint-disable selector-no-qualifying-type */
- ul.TabList {
- margin-bottom: 10px;
- border-bottom: 1px solid #ddd;
- box-sizing: border-box;
- color: rgb(51, 51, 51);
- display: block;
- line-height: 20px;
- list-style-image: none;
- list-style-position: outside;
- list-style-type: none;
- height: 41px;
- padding: 0;
- }
- /* stylelint-enable selector-no-qualifying-type */
- .TabList {
- li {
- display: block;
- position: relative;
- margin-bottom: -1px;
- float: left;
- height: 41px;
- padding: 10px 15px;
- }
-
- li:global(.ember-tabs__tab--selected) {
- background-color: #f8f8f8;
- border-bottom: 2px solid #204762;
- }
-
- li:hover {
- border-color: transparent;
- text-decoration: none;
- background-color: #f8f8f8;
- color: var(--primary-color);
- }
- }
+.no-registrations-mobile {
+ margin-left: 10px;
+ margin-right: 10px;
}
diff --git a/app/guid-node/registrations/template.hbs b/app/guid-node/registrations/template.hbs
index d93ca1a2dfc..d2220c70b98 100644
--- a/app/guid-node/registrations/template.hbs
+++ b/app/guid-node/registrations/template.hbs
@@ -3,38 +3,111 @@
-
-
-
+
+
+ {{/if}}
+
{{#if this.isComponentRootAdmin}}
-
+
{{t 'node.registrations.register_entire_project' rootNodeTitle=this.node.root.title}}
+
-
{{t 'osf-components.file-browser.storage_location'}}
{{this.model.taskInstance.value.region.name}}
-
+
{{/if}}
diff --git a/app/guid-registration/forks/styles.scss b/app/guid-registration/forks/styles.scss
index 3fe3dad8288..0676070e292 100644
--- a/app/guid-registration/forks/styles.scss
+++ b/app/guid-registration/forks/styles.scss
@@ -70,3 +70,23 @@
.Forks__placeholder {
padding: 15px;
}
+
+.close {
+ padding: 0;
+ cursor: pointer;
+ background: transparent;
+ border: 0;
+ appearance: none;
+ float: right;
+ font-size: 21px;
+ font-weight: bold;
+ line-height: 1;
+ color: $color-text-black;
+ text-shadow: 0 1px 0 $color-text-white;
+ filter: alpha(opacity=20);
+ opacity: 0.2;
+}
+
+.m-md {
+ margin: 15px;
+}
diff --git a/app/guid-registration/forks/template.hbs b/app/guid-registration/forks/template.hbs
index ee15a5fd2b3..7fea41c5b48 100644
--- a/app/guid-registration/forks/template.hbs
+++ b/app/guid-registration/forks/template.hbs
@@ -5,45 +5,44 @@
class='container'
local-class='Forks'
>
-
-
-
-
+
{{t 'forks.create_fork_modal'}}
-
-
-
+
+
{{t 'general.cancel'}}
-
-
+
{{t 'forks.fork'}}
-
-
-
+
+
+
{{! Analytics being called in the controller action }}
-
-
+
-
+
{{#if this.currentUser.user}}
-
{{#if this.loadingNew}}
{{t 'forks.loading_new'}}
{{else}}
{{t 'forks.new'}}
{{/if}}
-
+
{{/if}}
diff --git a/app/guid-registration/styles.scss b/app/guid-registration/styles.scss
index f3725ad95c6..4a0c01b9365 100644
--- a/app/guid-registration/styles.scss
+++ b/app/guid-registration/styles.scss
@@ -4,3 +4,16 @@
min-height: 70vh;
padding-top: 15px;
}
+
+.alert {
+ border-radius: 2px;
+ padding: 10px 15px;
+ margin-bottom: 20px;
+ border: 1px solid transparent;
+}
+
+.alert-info {
+ color: #31708f;
+ background-color: #d9edf7;
+ border-color: #bce8f1;
+}
diff --git a/app/guid-registration/template.hbs b/app/guid-registration/template.hbs
index f0d0fcb1dd3..db610cfb0e4 100644
--- a/app/guid-registration/template.hbs
+++ b/app/guid-registration/template.hbs
@@ -3,7 +3,7 @@
{{/unless}}
-
+
{{t 'registration.project_alert' projectId=this.projectId htmlSafe=true}}
{{outlet}}
diff --git a/app/home/-components/support-section/learn-more-button/styles.scss b/app/home/-components/support-section/learn-more-button/styles.scss
index 668db583c80..bdca3326607 100644
--- a/app/home/-components/support-section/learn-more-button/styles.scss
+++ b/app/home/-components/support-section/learn-more-button/styles.scss
@@ -1,4 +1,4 @@
-.learnMoreButton {
+.learnMoreButton.learnMoreButton {
width: 250px;
height: 60px;
font-size: 20px;
@@ -15,3 +15,40 @@
font-size: 18px;
}
}
+
+.btn {
+ display: inline-block;
+ margin-bottom: 0;
+ font-weight: 400;
+ text-align: center;
+ white-space: nowrap;
+ touch-action: manipulation;
+ cursor: pointer;
+ background-image: none;
+ border: 1px solid transparent;
+ border-radius: 2px;
+ padding: 6px 12px;
+ font-size: 14px;
+ line-height: 1.42857;
+ user-select: none;
+ vertical-align: middle;
+}
+
+.btn-primary {
+ color: $color-text-white;
+ background-color: #337ab7;
+ border-color: #2e6da4;
+}
+
+.btn-primary:focus,
+.btn-primary.focus {
+ color: $color-text-white;
+ background-color: #286090;
+ border-color: #122b40;
+}
+
+.btn-primary:hover {
+ color: $color-text-white;
+ background-color: #286090;
+ border-color: #204d74;
+}
diff --git a/app/home/-components/support-section/learn-more-button/template.hbs b/app/home/-components/support-section/learn-more-button/template.hbs
index 040341957e2..290ab3d5159 100644
--- a/app/home/-components/support-section/learn-more-button/template.hbs
+++ b/app/home/-components/support-section/learn-more-button/template.hbs
@@ -1,8 +1,7 @@
{{t 'home.learn_more'}}
diff --git a/app/institutions/dashboard/-components/institutional-users-list/styles.scss b/app/institutions/dashboard/-components/institutional-users-list/styles.scss
index 68eee45c9ee..ba468a48f50 100644
--- a/app/institutions/dashboard/-components/institutional-users-list/styles.scss
+++ b/app/institutions/dashboard/-components/institutional-users-list/styles.scss
@@ -92,3 +92,7 @@
}
}
}
+
+.text-center {
+ text-align: center;
+}
diff --git a/app/institutions/dashboard/-components/institutional-users-list/template.hbs b/app/institutions/dashboard/-components/institutional-users-list/template.hbs
index dc6224572d5..26aa1a76a95 100644
--- a/app/institutions/dashboard/-components/institutional-users-list/template.hbs
+++ b/app/institutions/dashboard/-components/institutional-users-list/template.hbs
@@ -37,17 +37,17 @@
{{t 'institutions.dashboard.users_list.department'}}
-
+ |
{{t 'institutions.dashboard.users_list.projects'}}
|
-
+ |
|
-
+ |
@@ -63,8 +63,8 @@
| {{institutionalUser.department}} |
- {{institutionalUser.publicProjects}} |
- {{institutionalUser.privateProjects}} |
+ {{institutionalUser.publicProjects}} |
+ {{institutionalUser.privateProjects}} |
{{else}}
{{placeholder.text lines=1}} |
{{placeholder.text lines=1}} |
diff --git a/app/institutions/dashboard/-components/panel/styles.scss b/app/institutions/dashboard/-components/panel/styles.scss
index daf0fe65f79..cba6f52f7da 100644
--- a/app/institutions/dashboard/-components/panel/styles.scss
+++ b/app/institutions/dashboard/-components/panel/styles.scss
@@ -1,17 +1,17 @@
.panel {
- :global(.panel) {
+ .panel-overall {
border: 0;
margin-bottom: 30px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
- :global(.panel-heading) {
+ .panel-heading {
background: #365063;
padding: 15px;
border: 0;
}
- :global(.panel-title) {
+ .panel-title {
display: block;
float: none;
color: #fff;
@@ -22,8 +22,13 @@
line-height: 20px;
}
- :global(.panel-body) {
+ .panel-body {
color: #263947;
text-align: center;
+
+ h3 {
+ font-size: 18pt;
+ font-weight: 800;
+ }
}
}
diff --git a/app/institutions/dashboard/-components/panel/template.hbs b/app/institutions/dashboard/-components/panel/template.hbs
index ca6da0251ce..d8d1e4fa52f 100644
--- a/app/institutions/dashboard/-components/panel/template.hbs
+++ b/app/institutions/dashboard/-components/panel/template.hbs
@@ -1,10 +1,12 @@
-
-
+
+
+ {{@title}}
+
{{#if @isLoading}}
{{else}}
- {{yield}}
+ {{yield}}
{{/if}}
\ No newline at end of file
diff --git a/app/institutions/index/controller.ts b/app/institutions/index/controller.ts
index 271c7c2247d..9001485e6ef 100644
--- a/app/institutions/index/controller.ts
+++ b/app/institutions/index/controller.ts
@@ -3,12 +3,14 @@ import Controller from '@ember/controller';
import { action, computed } from '@ember/object';
import { inject as service } from '@ember/service';
import { waitFor } from '@ember/test-waiters';
+import Media from 'ember-responsive';
import { restartableTask, timeout } from 'ember-concurrency';
import Institution from 'ember-osf-web/models/institution';
import Analytics from 'ember-osf-web/services/analytics';
export default class Institutions extends Controller {
+ @service media!: Media;
@service store!: Store;
@service analytics!: Analytics;
@@ -59,6 +61,10 @@ export default class Institutions extends Controller {
sort(sortOrder: 'title' | '-title') {
this.set('sortOrder', sortOrder);
}
+
+ get isMobile() {
+ return this.media.isMobile;
+ }
}
declare module '@ember/controller' {
diff --git a/app/institutions/index/styles.scss b/app/institutions/index/styles.scss
index c9be945da1d..d0ff3cf83ea 100644
--- a/app/institutions/index/styles.scss
+++ b/app/institutions/index/styles.scss
@@ -1,108 +1,225 @@
-@media screen and (max-width: 500px) {
- .Institutions__logo {
- display: none;
- }
+// stylelint-disable max-nesting-depth, selector-max-compound-selectors
- .Institutions__table__title {
+.institution-container {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: flex-start;
+
+ .header {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
width: 100%;
- }
-}
-
-.Institutions__header-logo {
- background: url('/assets/images/institutions/osf_institutions_white.png') top center no-repeat;
- height: 100px;
- background-size: contain;
-}
-
-.Institutions__logo {
- height: 100px;
- background-size: contain;
-}
-
-.Institutions__block {
- background: $color-bg-blue-darker;
- background-position-y: -50px;
- padding-bottom: 30px;
- border-bottom: 1px solid $color-border-gray;
- color: $color-text-white;
-}
-
-.Institutions__block__link {
- color: $color-link-blue;
-}
-
-.Institutions__block__link:hover {
- color: $color-link-blue;
-}
-
-.Institutions__header {
- padding-top: 50px;
-}
-
-.Institutions__footer {
- padding-top: 40px;
- padding-bottom: 40px;
- margin-bottom: -25px;
- a {
- color: $color-link-blue;
+ background: $color-bg-blue-darker;
+ background-position-y: -50px;
+ padding-bottom: 30px;
+ border-bottom: 1px solid $color-border-gray;
+ color: $color-text-white;
+
+ padding-top: 50px;
+
+ .information {
+ width: 90%;
+ text-align: center;
+
+ .link {
+ color: $color-link-blue;
+ }
+
+ .link:hover {
+ color: $color-link-blue;
+ }
+ }
+
+ .logo {
+ background: url('/assets/images/institutions/osf_institutions_white.png') top center no-repeat;
+ height: 100px;
+ background-size: contain;
+ width: 90%;
+ }
}
-}
-
-.Institutions__page {
- width: 100%;
-}
-.Institutions__browser {
- min-height: 700px;
- background: $color-bg-blue-light url('/assets/images/institutions/bg6.jpg') top center repeat-y;
- background-size: cover;
-}
-
-.Institutions__browser_title {
- vertical-align: bottom;
- margin-bottom: 2px;
-}
+ .browser-container {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+
+ min-height: 700px;
+ background: $color-bg-blue-light url('/assets/images/institutions/bg6.jpg') top center repeat-y;
+ background-size: cover;
+ padding-top: 25px;
+
+ .table {
+ background: $color-bg-white-transparent;
+ margin-bottom: 50px;
+ width: 60%;
+ min-width: 500px;
+ overflow: hidden;
+
+ .sort-container {
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-start;
+ align-items: center;
+ width: 100%;
+ padding: 10px;
+
+ .sort-direction {
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-start;
+ align-items: center;
+ width: 30%;
+ height: 35px;
+
+ .button-margin {
+ margin-top: -6px;
+ }
+ }
+
+ .sort-input {
+ width: 70%;
+ }
+ }
+
+ .institution-container {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: flex-start;
+
+ .institution {
+ width: 100%;
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-start;
+ align-items: center;
+
+ background-color: $color-bg-white;
+ box-shadow: 1px 1px 1px $color-border-gray;
+ padding: 6px;
+ color: $color-text-gray;
+ font-size: 25px;
+ text-align: center;
+ cursor: pointer;
+ margin-top: 10px;
+
+ .logo-container {
+ width: 30%;
+ height: 100px;
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+
+ .logo {
+ height: 100px;
+ }
+ }
+
+ .title {
+ width: 70%;
+ height: 100px;
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ }
+ }
+ }
+
+ .more {
+ cursor: pointer;
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ .pagination {
+ font-size: 20px;
+ }
+ }
+ }
+ }
-.Institutions__table {
- background: $color-bg-white-transparent;
- padding: 10px 15px;
- border-radius: 2px;
- margin-top: 20px;
- margin-bottom: 50px;
-}
+ .footer-container {
+ padding-top: 40px;
+ padding-bottom: 20px;
+ background: $color-bg-blue-darker;
+ color: $color-text-white;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ width: 100%;
+ text-align: center;
-.Institutions__table__item {
- display: block;
- background-color: $color-bg-white;
- box-shadow: 1px 1px 1px $color-border-gray;
- padding: 6px;
- color: $color-text-gray;
- font-size: 25px;
- text-align: center;
- cursor: pointer;
-}
+ a {
+ color: $color-link-blue;
+ }
+ }
-.Institutions__table__title {
- padding-top: 30px;
- padding-bottom: 30px;
+ &.mobile {
+ .header {
+ .logo {
+ height: 50px;
+ }
+ }
+
+ .footer-container {
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+
+ .browser-container {
+ .table {
+ width: calc(100% - 20px);
+ min-width: 0;
+
+ .sort-container {
+ flex-direction: column-reverse;
+
+ .sort-direction,
+ .sort-input {
+ width: 100%;
+ }
+ }
+
+ .institution-container {
+ .institution {
+ .title {
+ width: 100%;
+ }
+ }
+ }
+ }
+ }
+ }
}
-
-.Institutions__pagination {
- font-size: 20px;
+.lead {
+ margin-bottom: 20px;
+ font-size: 16px;
+ font-weight: 300;
+ line-height: 1.4;
}
-.Institutions__sorting {
- span {
- display: inline-block;
+@media (min-width: 768px) {
+ .lead {
+ font-size: 21px;
}
}
-.Institutions__more {
- text-align: center;
- cursor: pointer;
- padding-left: 50%;
- padding-right: 50%;
+.pagination {
+ display: inline-block;
+ padding-left: 0;
+ margin: 20px 0;
+ border-radius: 4px;
}
-
diff --git a/app/institutions/index/template.hbs b/app/institutions/index/template.hbs
index 383edda7be6..5b616dfed0c 100644
--- a/app/institutions/index/template.hbs
+++ b/app/institutions/index/template.hbs
@@ -2,139 +2,114 @@
-
-
-
-
-
- {{t 'institutions.description'}}
-
-
- {{t 'institutions.read_more'}}
-
-
-
-
-
+
+
+ {{t 'institutions.description'}}
+
+
+ {{t 'institutions.read_more'}}
+
+
-
-
-
-
-
-
-
-
-
- {{t 'institutions.title'}}
-
-
-
-
-
-
-
-
- {{#each this.institutions as |institution|}}
-
-
-
![{{institution.name}}]({{institution.logoUrl}})
-
-
-
- {{institution.name}}
-
-
-
- {{/each}}
-
- {{#if this.hasMore}}
-
-
-
- {{/if}}
+
+
+
+
+ {{t 'institutions.title'}}
+
+
+
+
+
+
+
+
+ {{#each this.institutions as |institution|}}
+
+ {{#unless this.isMobile}}
+
+
+ {{/unless}}
+
+ {{institution.name}}
-
-
+
+ {{/each}}
+ {{#if this.hasMore}}
+
+
+
+ {{/if}}
-
-
-
-
- {{t 'institutions.footer'}}
-
- {{t 'institutions.contact_us'}}
-
-
-
-
-
+
+ {{t 'institutions.footer'}}
+
+ {{t 'institutions.contact_us'}}
+
+
diff --git a/app/meetings/detail/-components/meeting-detail-header/styles.scss b/app/meetings/detail/-components/meeting-detail-header/styles.scss
index 3ea7f96e0eb..ac6885f143e 100644
--- a/app/meetings/detail/-components/meeting-detail-header/styles.scss
+++ b/app/meetings/detail/-components/meeting-detail-header/styles.scss
@@ -26,3 +26,8 @@
.meeting-format-body {
padding-left: 25px;
}
+
+.img-responsive {
+ display: block;
+ max-width: 100%;
+}
diff --git a/app/meetings/detail/-components/meeting-detail-header/template.hbs b/app/meetings/detail/-components/meeting-detail-header/template.hbs
index 25df81896bc..50c19f2b94f 100644
--- a/app/meetings/detail/-components/meeting-detail-header/template.hbs
+++ b/app/meetings/detail/-components/meeting-detail-header/template.hbs
@@ -14,21 +14,22 @@
data-test-meeting-logo
src={{this.meeting.logoUrl}}
alt={{t 'meetings.detail.meeting-detail-header.image_alt'}}
- class='img-responsive'
+ local-class='img-responsive'
>
{{/if}}
{{#if this.meeting.active}}
-
+ @layout='fake-link'
+ {{on 'click' (action this.togglePanel)}}
+ >
{{t 'meetings.detail.meeting-detail-header.add_your'}} {{this.addSubmissionText}}
-
+
{{/if}}
{{if (and this.meeting.active this.meeting.infoUrl) '|'}}
{{#if this.meeting.infoUrl}}
diff --git a/app/meetings/detail/-components/meeting-submissions-list/component.ts b/app/meetings/detail/-components/meeting-submissions-list/component.ts
index 0684446ed03..3c41e7ce542 100644
--- a/app/meetings/detail/-components/meeting-submissions-list/component.ts
+++ b/app/meetings/detail/-components/meeting-submissions-list/component.ts
@@ -1,5 +1,7 @@
import { tagName } from '@ember-decorators/component';
import Component from '@ember/component';
+import Media from 'ember-responsive';
+import { inject as service } from '@ember/service';
import { action, computed } from '@ember/object';
import { waitFor } from '@ember/test-waiters';
import { restartableTask, timeout } from 'ember-concurrency';
@@ -8,6 +10,7 @@ import MeetingSubmissionModel from 'ember-osf-web/models/meeting-submission';
@tagName('')
export default class MeetingSubmissionsList extends Component {
+ @service media!: Media;
// Private properties
search?: string;
sort?: string;
@@ -40,4 +43,8 @@ export default class MeetingSubmissionsList extends Component {
downloadFile(submission: MeetingSubmissionModel) {
window.open(submission.links.download);
}
+
+ get isMobile() {
+ return this.media.isMobile;
+ }
}
diff --git a/app/meetings/detail/-components/meeting-submissions-list/styles.scss b/app/meetings/detail/-components/meeting-submissions-list/styles.scss
index 2ede4e016bc..c78f22442c1 100644
--- a/app/meetings/detail/-components/meeting-submissions-list/styles.scss
+++ b/app/meetings/detail/-components/meeting-submissions-list/styles.scss
@@ -1,3 +1,34 @@
+// stylelint-disable max-nesting-depth, selector-max-compound-selectors
+
+.search-container {
+ width: 100%;
+ background: $color-bg-gray-light;
+ margin: 0 0 10px;
+ padding: 7px;
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-end;
+ align-items: center;
+
+ .search {
+ width: 50%;
+ padding: 6px 12px;
+ border: 1px solid $color-border-gray;
+ padding-right: 15px;
+ padding-left: 15px;
+
+ &.mobile {
+ width: 100%;
+ }
+
+ &:focus {
+ border-color: #66afe9;
+ outline: 0;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
+ }
+ }
+}
+
.table {
ul {
display: table;
@@ -18,73 +49,60 @@
white-space: nowrap;
}
}
-}
-.search {
- display: inline-block;
- width: 100%;
- background: #efefef;
- margin: 0 0 10px;
- padding: 7px;
+ .header {
+ .wide-column,
+ .narrow-column {
+ width: 15%;
- input {
- float: right;
- width: 100%;
- padding: 6px 12px;
- border: 1px solid #ccc;
-
- &:focus {
- border-color: #66afe9;
- outline: 0;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
- }
- }
-}
+ padding: 3px 0 7px 5px;
+ font-weight: 700;
+ background: #f5f5f5;
+ border-left: 1px solid #ddd;
-.header > div {
- padding: 3px 0 7px 5px;
- font-weight: 700;
- background: #f5f5f5;
- border-left: 1px solid #ddd;
+ &:first-of-type {
+ border-left: 0;
+ }
+
+ .sort-button {
+ display: inline;
+ padding-left: 4px;
- &:first-of-type {
- border-left: 0;
- }
-}
+ button,
+ button:active,
+ button:focus,
+ button:focus:active,
+ button:hover {
+ padding-top: 0;
+ height: 1em;
+ margin-top: -10px;
+ }
+ }
+ }
-.sort-button {
- display: inline;
- padding-left: 4px;
-
- button,
- button:active,
- button:focus,
- button:focus:active,
- button:hover {
- padding-top: 0;
- height: 1em;
- margin-top: -10px;
+ .wide-column {
+ width: 40%;
+ }
}
-}
-.item > div {
- padding: 2px 0 4px 5px;
- border-top: 1px solid #f5f5f5;
+ .item > div {
+ padding: 2px 0 4px 5px;
+ border-top: 1px solid #f5f5f5;
- :global(.ember-content-placeholders-text__line) {
- margin: 2px 0 3px 1px;
- height: 1em;
+ :global(.ember-content-placeholders-text__line) {
+ margin: 2px 0 3px 1px;
+ height: 1em;
+ }
}
-}
-.empty {
- text-align: center;
-}
-
-.HeaderWide {
- width: 40%;
+ .empty {
+ text-align: center;
+ }
}
-.HeaderNarrow {
- width: 15%;
+.btn-xs {
+ padding: 1px 5px;
+ font-size: 12px;
+ line-height: 1.5;
+ border-radius: 3px;
}
diff --git a/app/meetings/detail/-components/meeting-submissions-list/template.hbs b/app/meetings/detail/-components/meeting-submissions-list/template.hbs
index 90005c760ce..73fd37770ba 100644
--- a/app/meetings/detail/-components/meeting-submissions-list/template.hbs
+++ b/app/meetings/detail/-components/meeting-submissions-list/template.hbs
@@ -1,12 +1,11 @@
-
-
-
-
+
+
@@ -24,23 +23,23 @@
sortAction=(action this.sortSubmissions)
sort=this.sort
) as |SortButton|}}
-
+
{{t 'meetings.detail.meeting-submissions-list.title'}}
-
+
{{t 'meetings.detail.meeting-submissions-list.author'}}
-
+
{{t 'meetings.detail.meeting-submissions-list.category'}}
-
+
{{t 'meetings.detail.meeting-submissions-list.dateCreated'}}
-
+
{{t 'meetings.detail.meeting-submissions-list.downloads'}}
@@ -64,14 +63,14 @@
{{#if submission.links.download}}
-
-
+
{{submission.downloadCount}}
{{/if}}
diff --git a/app/meetings/detail/styles.scss b/app/meetings/detail/styles.scss
index a4bf8a23e70..9511bd03581 100644
--- a/app/meetings/detail/styles.scss
+++ b/app/meetings/detail/styles.scss
@@ -1,3 +1,21 @@
-.meeting-submission-list {
- margin-top: 0;
+.meeting-detail-container {
+ background-color: $color-bg-white;
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+ width: 100%;
+
+ .meeting-detail,
+ .meeting-submission-list-container {
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: flex-start;
+ width: 90%;
+ }
+
+ .meeting-submission-list-container {
+ align-items: center;
+ }
}
diff --git a/app/meetings/detail/template.hbs b/app/meetings/detail/template.hbs
index 41a1187f4e1..17a321124fa 100644
--- a/app/meetings/detail/template.hbs
+++ b/app/meetings/detail/template.hbs
@@ -1,8 +1,8 @@
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/app/meetings/index/-components/meetings-footer/component.ts b/app/meetings/index/-components/meetings-footer/component.ts
new file mode 100644
index 00000000000..5d7645f476c
--- /dev/null
+++ b/app/meetings/index/-components/meetings-footer/component.ts
@@ -0,0 +1,11 @@
+import Component from '@glimmer/component';
+import { inject as service } from '@ember/service';
+import Media from 'ember-responsive';
+
+export default class MeetingsFooter extends Component {
+ @service media!: Media;
+
+ get isMobile() {
+ return this.media.isMobile;
+ }
+}
diff --git a/app/meetings/index/-components/meetings-footer/styles.scss b/app/meetings/index/-components/meetings-footer/styles.scss
index 6d11300435a..3ab91966a55 100644
--- a/app/meetings/index/-components/meetings-footer/styles.scss
+++ b/app/meetings/index/-components/meetings-footer/styles.scss
@@ -1,27 +1,76 @@
-.org-logo {
+// stylelint-disable max-nesting-depth, selector-max-compound-selectors
+
+.row-container {
display: flex;
+ flex-direction: row;
+ justify-content: space-evenly;
align-items: center;
-}
+ margin-top: 25px;
+ margin-bottom: 25px;
+ width: 100%;
-.org-logo img {
- padding: 20px 20% 0;
-}
+ &.mobile {
+ flex-direction: column;
-.org-logo div {
- position: relative;
- top: 50%;
-}
+ .icon-container {
+ width: 100%;
+ height: 225px;
+ }
+
+ .uses-container {
+ width: 100%;
+ }
+ }
+
+
+ .icon-container {
+ width: 33%;
+ height: 225px;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ padding-left: 20px;
+ padding-right: 20px;
+
+ .footer-text {
+ text-align: center;
+ }
+
+ .icon-circle {
+ border-radius: 60px;
+ width: 100px;
+ height: 100px;
+ border: 3px solid #d3e1ee;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+
+ .blue-icon {
+ color: $color-text-blue-dark;
+ font-size: 50px;
+ }
+ }
+ }
+
+ .uses-container {
+ width: 25%;
+ text-align: center;
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ height: 125px;
-.blue-icon {
- color: #337ab7;
- font-size: 50px;
+ .img {
+ width: 100px;
+ }
+ }
}
-.icon-circle {
- display: inline-block;
- border-radius: 60px;
- width: 100px;
- height: 100px;
- padding-top: 20px;
- border: 3px solid #d3e1ee;
+.uses-text-container {
+ width: 100%;
+ margin-bottom: 15px;
+ text-align: center;
}
diff --git a/app/meetings/index/-components/meetings-footer/template.hbs b/app/meetings/index/-components/meetings-footer/template.hbs
index 856af59e69b..4ee2b271dbe 100644
--- a/app/meetings/index/-components/meetings-footer/template.hbs
+++ b/app/meetings/index/-components/meetings-footer/template.hbs
@@ -1,106 +1,94 @@
-
-
-
-
-
-
-
- {{t 'meetings.index.meetings-footer.discover'}}
-
-
-
- {{t 'meetings.index.meetings-footer.discover_text'}}
-
-
+
+
+
+
+
+ {{t 'meetings.index.meetings-footer.discover'}}
+
+
+ {{t 'meetings.index.meetings-footer.discover_text'}}
+
-
-
-
-
-
-
- {{t 'meetings.index.meetings-footer.share'}}
-
-
-
- {{t 'meetings.index.meetings-footer.share_text'}}
-
-
+
+
+
+
+ {{t 'meetings.index.meetings-footer.share'}}
+
+
+ {{t 'meetings.index.meetings-footer.share_text'}}
+
-
-
-
-
-
-
- {{t 'meetings.index.meetings-footer.enhance'}}
-
-
-
- {{t 'meetings.index.meetings-footer.enhance_text'}}
-
-
+
+
+
+
+ {{t 'meetings.index.meetings-footer.enhance'}}
+
+
+ {{t 'meetings.index.meetings-footer.enhance_text'}}
+
-
+
{{t 'meetings.index.meetings-footer.who_use_text'}}
-
-
+
+
-
+
-
+
-
+
diff --git a/app/meetings/index/-components/meetings-hero-banner/component.ts b/app/meetings/index/-components/meetings-hero-banner/component.ts
index 27c758c2f6d..2f074b23b17 100644
--- a/app/meetings/index/-components/meetings-hero-banner/component.ts
+++ b/app/meetings/index/-components/meetings-hero-banner/component.ts
@@ -1,8 +1,11 @@
import Component from '@ember/component';
+import { inject as service } from '@ember/service';
+import Media from 'ember-responsive';
import { action } from '@ember/object';
export default class MeetingsHeroBanner extends Component {
// Private properties
+ @service media!: Media;
registerPanelOpen = false;
uploadPanelOpen = false;
@@ -15,4 +18,8 @@ export default class MeetingsHeroBanner extends Component {
toggleUploadPanel() {
this.toggleProperty('uploadPanelOpen');
}
+
+ get isMobile() {
+ return this.media.isMobile;
+ }
}
diff --git a/app/meetings/index/-components/meetings-hero-banner/styles.scss b/app/meetings/index/-components/meetings-hero-banner/styles.scss
index 960aae1e718..f196224b6cc 100644
--- a/app/meetings/index/-components/meetings-hero-banner/styles.scss
+++ b/app/meetings/index/-components/meetings-hero-banner/styles.scss
@@ -1,55 +1,98 @@
-.osf-meeting-header-img {
+// stylelint-disable max-nesting-depth, selector-max-compound-selectors
+
+.meeting-container {
background: #67a3bf;
background: linear-gradient(35deg, #67a3bf 0%, #166596 18%, #000 100%);
color: #fff;
padding-top: 40px;
- position: relative;
-}
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
-.network-img {
- background: url('/assets/images/meetings/network-web.png') repeat;
- background-size: contain;
- height: 1000px;
- margin-bottom: -1000px;
- opacity: 0.35;
-}
+ .meeting-information-container,
+ .meeting-header-container {
+ width: 80%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 25px;
+ position: relative;
+ z-index: 2;
-.user-icon {
- font-size: 85px;
- padding-top: 25px;
-}
+ h2 {
+ font-size: 24px;
+ text-align: center;
+ }
-.cloud-icon {
- font-size: 100px;
- padding-top: 25px;
-}
+ .meeting-logo {
+ width: 90%;
+ }
-.icon-circle {
- border-radius: 85px;
- box-shadow: 0 0 10px #e0e7ec;
- width: 140px;
- height: 140px;
- margin-left: auto;
- margin-right: auto;
-}
+ .meeting-action-container {
+ width: 40%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 25px;
-.osf-meeting-header {
- h1 {
- font-size: 3.5em;
- margin-bottom: -15px;
+ .font-weight {
+ font-weight: 600;
+ }
- img {
- width: 80%;
+ .icon-circle {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ align-items: center;
+ border-radius: 85px;
+ box-shadow: 0 0 10px #e0e7ec;
+ width: 140px;
+ height: 140px;
+
+ .user-icon {
+ font-size: 85px;
+ }
+ }
+
+ .button-container {
+ padding-top: 15px;
+ padding-bottom: 15px;
+ }
+
+ .register-box {
+ padding: 15px;
+ margin: 25px;
+
+ a {
+ color: $color-link-dark;
+ }
+ }
}
}
- h2 {
- font-size: 24px;
- }
+ .meeting-information-container {
+ flex-direction: row;
+ align-items: flex-start;
- .register-box {
- a {
- color: $color-link-dark;
+ &.mobile {
+ flex-direction: column;
+
+ .meeting-action-container {
+ width: 100%;
+ }
}
}
+
+ .network-img {
+ background: url('/assets/images/meetings/network-web.png') repeat;
+ background-size: contain;
+ width: 100%;
+ height: 1000px;
+ margin-bottom: -1000px;
+ opacity: 0.35;
+ }
}
diff --git a/app/meetings/index/-components/meetings-hero-banner/template.hbs b/app/meetings/index/-components/meetings-hero-banner/template.hbs
index c9c5e5a5d33..b27e0cd4ca9 100644
--- a/app/meetings/index/-components/meetings-hero-banner/template.hbs
+++ b/app/meetings/index/-components/meetings-hero-banner/template.hbs
@@ -1,89 +1,80 @@
-
-
-
-
-
-
-
-
- {{t 'meetings.index.meetings-hero-banner.h3' htmlSafe=true}}
-
+
+
+
![{{t](/assets/images/meetings/osf_meetings_white.png)
+
+ {{t 'meetings.index.meetings-hero-banner.h3' htmlSafe=true}}
+
+
+
+
+
+
+
-
-
-
-
-
-
-
- {{t 'meetings.index.meetings-hero-banner.conference_organizers_h3'}}
-
-
-
- {{t 'meetings.index.meetings-hero-banner.conference_organizers_help_text'}}
-
-
-
-
- {{t 'meetings.index.meetings-hero-banner.conference_organizers_register_button'}}
-
-
-
-
-
- {{t 'meetings.index.meetings-hero-banner.conference_organizers_register_panel_texts' htmlSafe=true}}
-
-
-
-
-
-
-
-
-
- {{t 'meetings.index.meetings-hero-banner.conference_participants_h3'}}
-
-
-
- {{t 'meetings.index.meetings-hero-banner.conference_participants_help_text'}}
-
-
-
-
- {{t 'meetings.index.meetings-hero-banner.conference_participants_upload_button'}}
-
+
+ {{t 'meetings.index.meetings-hero-banner.conference_organizers_h3'}}
+
+
+ {{t 'meetings.index.meetings-hero-banner.conference_organizers_help_text'}}
+
+
+
+ {{t 'meetings.index.meetings-hero-banner.conference_organizers_register_button'}}
+
+
+
+
+
+ {{t 'meetings.index.meetings-hero-banner.conference_organizers_register_panel_texts' htmlSafe=true}}
-
-
-
- {{t 'meetings.index.meetings-hero-banner.conference_participants_upload_panel_texts' htmlSafe=true}}
-
-
-
-
+
+
+
+
+
+
+
+ {{t 'meetings.index.meetings-hero-banner.conference_participants_h3'}}
+
+
+ {{t 'meetings.index.meetings-hero-banner.conference_participants_help_text'}}
+
+
+
+ {{t 'meetings.index.meetings-hero-banner.conference_participants_upload_button'}}
+
+
+
+
+
+ {{t 'meetings.index.meetings-hero-banner.conference_participants_upload_panel_texts' htmlSafe=true}}
+
+
+
\ No newline at end of file
diff --git a/app/meetings/index/-components/meetings-list/component.ts b/app/meetings/index/-components/meetings-list/component.ts
index 65eae0b8c80..1c0f6443ec9 100644
--- a/app/meetings/index/-components/meetings-list/component.ts
+++ b/app/meetings/index/-components/meetings-list/component.ts
@@ -1,9 +1,12 @@
import Component from '@ember/component';
import { action, computed } from '@ember/object';
import { waitFor } from '@ember/test-waiters';
+import { inject as service } from '@ember/service';
+import Media from 'ember-responsive';
import { restartableTask, timeout } from 'ember-concurrency';
export default class MeetingsList extends Component {
+ @service media!: Media;
// Private properties
search?: string;
sort = '-submissions_count';
@@ -31,4 +34,8 @@ export default class MeetingsList extends Component {
sortMeetings(sort: string) {
this.set('sort', sort);
}
+
+ get isMobile() {
+ return this.media.isMobile;
+ }
}
diff --git a/app/meetings/index/-components/meetings-list/styles.scss b/app/meetings/index/-components/meetings-list/styles.scss
index b3cedd36271..91d85902391 100644
--- a/app/meetings/index/-components/meetings-list/styles.scss
+++ b/app/meetings/index/-components/meetings-list/styles.scss
@@ -1,4 +1,7 @@
-.min_5_submissions {
+// stylelint-disable max-nesting-depth, selector-max-compound-selectors
+
+.minimum-submission-container {
+ width: 100%;
font-size: 85%;
}
@@ -24,23 +27,38 @@
}
}
-.search {
- display: inline-block;
+.search-container {
width: 100%;
background: #efefef;
margin: 0 0 10px;
padding: 7px;
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-end;
+ align-items: flex-start;
+
+ .search {
+ width: 50%;
+ display: flex;
+ flex-direction: row;
+ justify-content: flex-end;
+ align-items: center;
+
+ &.mobile {
+ width: 100%;
+ }
- input {
- float: right;
- width: 100%;
- padding: 6px 12px;
- border: 1px solid #ccc;
-
- &:focus {
- border-color: #66afe9;
- outline: 0;
- box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
+ .search-input {
+ float: right;
+ width: 100%;
+ padding: 6px 12px;
+ border: 1px solid #ccc;
+
+ &:focus {
+ border-color: #66afe9;
+ outline: 0;
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
+ }
}
}
}
diff --git a/app/meetings/index/-components/meetings-list/template.hbs b/app/meetings/index/-components/meetings-list/template.hbs
index 33a62fe6b32..453f0902a57 100644
--- a/app/meetings/index/-components/meetings-list/template.hbs
+++ b/app/meetings/index/-components/meetings-list/template.hbs
@@ -1,10 +1,11 @@
-
+
{{t 'meetings.index.meetings-list.min_5_submissions'}}
-
-
+
+
-
-
-
-
-
+
diff --git a/app/models/preprint-provider.ts b/app/models/preprint-provider.ts
index 2ea03a9a80a..7661f66766f 100644
--- a/app/models/preprint-provider.ts
+++ b/app/models/preprint-provider.ts
@@ -1,8 +1,9 @@
-import { attr, hasMany, AsyncHasMany } from '@ember-data/model';
+import { attr, hasMany, AsyncHasMany, belongsTo, AsyncBelongsTo } from '@ember-data/model';
import { computed } from '@ember/object';
import { alias } from '@ember/object/computed';
import { inject as service } from '@ember/service';
import Intl from 'ember-intl/services/intl';
+import BrandModel from 'ember-osf-web/models/brand';
import { RelatedLinkMeta } from 'osf-api';
@@ -25,6 +26,9 @@ export default class PreprintProviderModel extends ProviderModel {
@attr('boolean', { allowNull: true }) reviewsCommentsPrivate!: boolean | null;
// Relationships
+ @belongsTo('brand')
+ brand!: AsyncBelongsTo
& BrandModel;
+
@hasMany('preprint', { inverse: 'provider' })
preprints!: AsyncHasMany;
diff --git a/app/not-found/styles.scss b/app/not-found/styles.scss
new file mode 100644
index 00000000000..953099864e2
--- /dev/null
+++ b/app/not-found/styles.scss
@@ -0,0 +1,17 @@
+// stylelint-disable max-nesting-depth, selector-max-compound-selectors
+
+.not-found-container {
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+ width: 100%;
+
+ .not-found {
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: flex-start;
+ width: calc(100% - 60px);
+ }
+}
diff --git a/app/not-found/template.hbs b/app/not-found/template.hbs
index d58931325de..6dc1a78b7f6 100644
--- a/app/not-found/template.hbs
+++ b/app/not-found/template.hbs
@@ -1,8 +1,6 @@
-
-
-
-
{{t 'not_found.title'}}
-
{{t 'not_found.body' supportEmail=this.supportEmail htmlSafe=true}}
-
+
+
+
{{t 'not_found.title'}}
+
{{t 'not_found.body' supportEmail=this.supportEmail htmlSafe=true}}
diff --git a/app/register/styles.scss b/app/register/styles.scss
index aff1a0ccac0..88498a06116 100644
--- a/app/register/styles.scss
+++ b/app/register/styles.scss
@@ -90,3 +90,38 @@
background-color: $color-bg-gray-light;
}
}
+
+.row {
+ margin-right: -15px;
+ margin-left: -15px;
+}
+
+.row::before,
+.row::after {
+ display: table;
+ content: ' ';
+}
+
+.row::after {
+ clear: both;
+}
+
+.m-t-xl {
+ margin-top: 50px;
+}
+
+.m-b-xl {
+ margin-bottom: 50px;
+}
+
+.p-md {
+ padding: 15px;
+}
+
+.m-sm {
+ margin: 10px;
+}
+
+.m-md {
+ margin: 15px;
+}
diff --git a/app/register/template.hbs b/app/register/template.hbs
index 695c3ebe5fd..a8bdeab2d55 100644
--- a/app/register/template.hbs
+++ b/app/register/template.hbs
@@ -1,7 +1,7 @@
{{page-title (t 'routes.register.sign_up')}}
-
-
+
+
{{#if this.hasProvider}}
@@ -34,9 +34,9 @@
local-class='osf-service-logo'
>
{{/if}}
-
{{t 'routes.register.create_a_free_account'}}
-
{{t 'routes.register.sign_up_using'}}
-
+
{{t 'routes.register.create_a_free_account'}}
+
{{t 'routes.register.sign_up_using'}}
+
-
diff --git a/app/router.ts b/app/router.ts
index 1bd1968b012..06be6e4c76a 100644
--- a/app/router.ts
+++ b/app/router.ts
@@ -41,7 +41,6 @@ Router.map(function() {
this.route('create');
});
});
- this.route('support');
this.route('meetings', function() {
this.route('detail', { path: '/:meeting_id' });
});
diff --git a/app/services/meta-tags.ts b/app/services/meta-tags.ts
index ba9ba121537..70400f362ee 100644
--- a/app/services/meta-tags.ts
+++ b/app/services/meta-tags.ts
@@ -53,10 +53,15 @@ export interface LinkMetaTagAttrs {
href: string;
}
-export type MetaTagAttrs = NameMetaTagAttrs | PropMetaTagAttrs | LinkMetaTagAttrs;
+export interface ScriptTagAttrs {
+ type: string;
+}
+
+export type MetaTagAttrs = NameMetaTagAttrs | PropMetaTagAttrs | LinkMetaTagAttrs | ScriptTagAttrs;
export interface HeadTagDef {
type: string;
+ content?: string;
attrs: MetaTagAttrs;
}
diff --git a/app/settings/account/-components/change-password/styles.scss b/app/settings/account/-components/change-password/styles.scss
index e69de29bb2d..b1c69f6fe9b 100644
--- a/app/settings/account/-components/change-password/styles.scss
+++ b/app/settings/account/-components/change-password/styles.scss
@@ -0,0 +1,3 @@
+.password-form input {
+ margin-bottom: 20px;
+}
diff --git a/app/settings/account/-components/change-password/template.hbs b/app/settings/account/-components/change-password/template.hbs
index 51fb6cf3b0d..9ff31a52f89 100644
--- a/app/settings/account/-components/change-password/template.hbs
+++ b/app/settings/account/-components/change-password/template.hbs
@@ -4,7 +4,7 @@
>
-
diff --git a/app/settings/account/-components/connected-emails/styles.scss b/app/settings/account/-components/connected-emails/styles.scss
index 9448925fa94..7a5e0069d99 100644
--- a/app/settings/account/-components/connected-emails/styles.scss
+++ b/app/settings/account/-components/connected-emails/styles.scss
@@ -73,3 +73,18 @@
.add-email-button {
margin-left: 8px;
}
+
+.clearfix::before,
+.clearfix::after {
+ display: table;
+ content: ' ';
+}
+
+.clearfix::after {
+ clear: both;
+}
+
+.modal-title {
+ margin: 0;
+ line-height: $tall-line-height;
+}
diff --git a/app/settings/account/-components/connected-emails/template.hbs b/app/settings/account/-components/connected-emails/template.hbs
index d0e5fce8001..0eaaa6b5612 100644
--- a/app/settings/account/-components/connected-emails/template.hbs
+++ b/app/settings/account/-components/connected-emails/template.hbs
@@ -33,20 +33,20 @@
as |list|
>
-
+
{{#if email}}
{{email.emailAddress}}
-
{{t 'settings.account.connected_emails.make_primary'}}
-
+
-
+
{{t 'settings.account.connected_emails.no_alternate_emails'}}
@@ -90,33 +90,32 @@
as |list|
>
-
+
{{#if email}}
{{email.emailAddress}}
-
{{t 'settings.account.connected_emails.resend_confirmation'}}
-
-
+
-
-
+
+
{{t 'settings.account.connected_emails.resend_confirmation_modal.title'}}
-
+
-
+
{{t
'settings.account.connected_emails.resend_confirmation_modal.body'
@@ -124,28 +123,28 @@
htmlSafe=true
}}
-
+
-
-
{{t 'general.cancel'}}
-
-
+
{{t 'settings.account.connected_emails.resend_confirmation_modal.resend_button'}}
-
-
-
+
+
+
-
+
{{t 'settings.account.connected_emails.no_unconfirmed_emails'}}
@@ -186,7 +185,7 @@
@placeholder={{t 'settings.account.connected_emails.placeholder_text'}}
@ariaLabel={{t 'settings.account.connected_emails.placeholder_text'}}
/>
-
{{t 'settings.account.connected_emails.add_email'}}
-
+
-
-
-
+
+
{{t 'settings.account.connected_emails.add_email_modal.title'}}
-
+
-
+
{{t 'settings.account.connected_emails.add_email_modal.body' emailAddress=this.lastUserEmail htmlSafe=true}}
-
+
-
-
{{t 'general.close'}}
-
-
-
+
+
+
diff --git a/app/settings/account/-components/default-region/template.hbs b/app/settings/account/-components/default-region/template.hbs
index 8b40b047c45..663efd108cc 100644
--- a/app/settings/account/-components/default-region/template.hbs
+++ b/app/settings/account/-components/default-region/template.hbs
@@ -29,7 +29,7 @@
{{t 'settings.account.defaultRegion.why'}}
-
{{t 'settings.account.defaultRegion.updateButton'}}
-
+
diff --git a/app/settings/account/-components/request-deactivation/styles.scss b/app/settings/account/-components/request-deactivation/styles.scss
new file mode 100644
index 00000000000..c40679e7709
--- /dev/null
+++ b/app/settings/account/-components/request-deactivation/styles.scss
@@ -0,0 +1,3 @@
+.warning-alert {
+ margin-bottom: 20px;
+}
diff --git a/app/settings/account/-components/request-deactivation/template.hbs b/app/settings/account/-components/request-deactivation/template.hbs
index cd9693f863f..23a9f9517bd 100644
--- a/app/settings/account/-components/request-deactivation/template.hbs
+++ b/app/settings/account/-components/request-deactivation/template.hbs
@@ -4,104 +4,108 @@
>
-
- {{t 'settings.account.deactivation.warning'}}
- {{t 'settings.account.deactivation.warningText'}}
-
+
+
+ {{t 'settings.account.deactivation.warning'}}
+ {{t 'settings.account.deactivation.warningText'}}
+
+
{{t 'settings.account.deactivation.body' htmlSafe=true}}
{{#if (or this.loadSettings.isRunning this.saveSettings.isRunning)}}
-
+
{{t 'general.loading'}}
-
+
{{else}}
{{#if this.user.settings.deactivationRequested}}
{{t 'settings.account.deactivation.pending'}}
-
{{t 'settings.account.deactivation.undoRequestButton'}}
-
+
{{else}}
-
{{t 'settings.account.deactivation.requestButton'}}
-
+
{{/if}}
{{/if}}
-
-
+
{{t 'settings.account.deactivation.confirmationTitle'}}
-
-
+
+
{{t 'settings.account.deactivation.confirmationBody'}}
-
-
-
+
+
{{t 'general.cancel'}}
-
-
+
{{t 'settings.account.deactivation.confirmationButton'}}
-
-
-
+
+
+
-
-
+
{{t 'settings.account.deactivation.undoRequestConfirmationTitle'}}
-
-
+
+
{{t 'settings.account.deactivation.undoRequestConfirmationBody'}}
-
-
-
+
+
{{t 'general.cancel'}}
-
-
+
{{t 'settings.account.deactivation.undoRequestConfirmationButton'}}
-
-
-
+
+
+
diff --git a/app/settings/account/-components/security/styles.scss b/app/settings/account/-components/security/styles.scss
index 1f75f157888..0adb33fb348 100644
--- a/app/settings/account/-components/security/styles.scss
+++ b/app/settings/account/-components/security/styles.scss
@@ -14,3 +14,15 @@
padding-top: 1em;
}
}
+
+.bg-danger {
+ background-color: #f2dede;
+}
+
+.scan-image code {
+ color: $color-red;
+}
+
+.verification-code input {
+ margin-bottom: 20px;
+}
diff --git a/app/settings/account/-components/security/template.hbs b/app/settings/account/-components/security/template.hbs
index d7d0c88a362..f01f4319410 100644
--- a/app/settings/account/-components/security/template.hbs
+++ b/app/settings/account/-components/security/template.hbs
@@ -18,7 +18,7 @@
{{t 'settings.account.security.why'}}
{{#if (and this.settings.twoFactorEnabled (not this.settings.twoFactorConfirmed))}}
-
+
{{t 'settings.account.security.importantWarning'}}
@@ -27,7 +27,7 @@
{{t 'settings.account.security.onceVerified'}}
-
+
{{t 'settings.account.security.scanImage' secretKey=this.settings.secret htmlSafe=true}}
-
+
{{/if}}
-
{{t 'settings.account.security.submitVerification'}}
-
-
+
{{t 'general.cancel'}}
-
+
{{/if}}
{{#if (and this.settings.twoFactorEnabled this.settings.twoFactorConfirmed)}}
-
{{t 'settings.account.security.disableTwoFactor'}}
-
+
{{else if (not this.settings.twoFactorEnabled)}}
-
{{t 'settings.account.security.enableTwoFactor'}}
-
+
{{/if}}
{{/if}}
-
-
+
{{t 'settings.account.security.enableTwoFactor'}}
-
-
+
+
{{t 'settings.account.security.enableWarning'}}
-
-
-
+
+
{{t 'general.cancel'}}
-
-
+
{{t 'settings.account.security.enableButton'}}
-
-
-
+
+
+
-
-
+
{{t 'settings.account.security.disableTwoFactor'}}
-
-
+
+
{{t 'settings.account.security.disableWarning'}}
-
-
-
+
+
{{t 'general.cancel'}}
-
-
+
{{t 'settings.account.security.disableButton'}}
-
-
-
+
+
+
diff --git a/app/settings/controller.ts b/app/settings/controller.ts
index 0251898197b..56e8fb80498 100644
--- a/app/settings/controller.ts
+++ b/app/settings/controller.ts
@@ -1,12 +1,28 @@
import Controller from '@ember/controller';
+import RouterService from '@ember/routing/router-service';
import { inject as service } from '@ember/service';
import Analytics from 'ember-osf-web/services/analytics';
import CurrentUser from 'ember-osf-web/services/current-user';
+import Media from 'ember-responsive';
+import { tracked } from 'tracked-built-ins';
export default class SettingsController extends Controller {
@service analytics!: Analytics;
@service currentUser!: CurrentUser;
+ @service media!: Media;
+ @service router!: RouterService;
- navCollapsed = true;
+ @tracked navCollapsed = true;
+
+ get shouldShowNavLinks() {
+ if (this.media.isMobile){
+ return !this.navCollapsed;
+ }
+ return true;
+ }
+
+ get isMobile() {
+ return this.media.isMobile;
+ }
}
diff --git a/app/settings/developer-apps/-components/app-form/styles.scss b/app/settings/developer-apps/-components/app-form/styles.scss
new file mode 100644
index 00000000000..158b7582e52
--- /dev/null
+++ b/app/settings/developer-apps/-components/app-form/styles.scss
@@ -0,0 +1,4 @@
+.dev-apps-form input,
+.dev-apps-form textarea {
+ margin-bottom: 20px;
+}
diff --git a/app/settings/developer-apps/-components/app-form/template.hbs b/app/settings/developer-apps/-components/app-form/template.hbs
index 595dc423731..2ca0a872434 100644
--- a/app/settings/developer-apps/-components/app-form/template.hbs
+++ b/app/settings/developer-apps/-components/app-form/template.hbs
@@ -6,33 +6,35 @@
@changeset={{this.changeset}}
as |form|
>
-
-
-
-
+
+
+
+
+
+
{{#if this.createMode}}
-
{{t 'settings.developer-apps.createApp'}}
-
+
{{else}}
-
{{t 'general.save'}}
-
+
{{/if}}
diff --git a/app/settings/developer-apps/-components/client-secret/template.hbs b/app/settings/developer-apps/-components/client-secret/template.hbs
index 12a656b3377..b4f01a94eb9 100644
--- a/app/settings/developer-apps/-components/client-secret/template.hbs
+++ b/app/settings/developer-apps/-components/client-secret/template.hbs
@@ -9,10 +9,10 @@
/>
-
{{#if this.shouldShowSecret}}
@@ -21,7 +21,7 @@
{{t 'settings.developer-apps.showSecret'}}
{{/if}}
-
+
{{t 'settings.developer-apps.createApp'}}
diff --git a/app/settings/profile/name/-components/name/template.hbs b/app/settings/profile/name/-components/name/template.hbs
index feefec6f834..e69de29bb2d 100644
--- a/app/settings/profile/name/-components/name/template.hbs
+++ b/app/settings/profile/name/-components/name/template.hbs
@@ -1,62 +0,0 @@
-
-
- {{t 'settings.profile.name.instructions'}}
-
- {{t 'settings.profile.name.citationName'}}
-
-
-
-
-
-
- {{settings/profile/name/-components/citation-preview user=this.user}}
-
-
- {{t 'validated_input_form.discard_changes'}}
-
-
- {{t 'general.save'}}
-
-
-
diff --git a/app/settings/profile/name/styles.scss b/app/settings/profile/name/styles.scss
new file mode 100644
index 00000000000..33ac2b31420
--- /dev/null
+++ b/app/settings/profile/name/styles.scss
@@ -0,0 +1,34 @@
+.clearfix::before,
+.clearfix::after {
+ display: table;
+ content: ' ';
+}
+
+.clearfix::after {
+ clear: both;
+}
+
+.panel {
+ margin-bottom: 20px;
+ background-color: $color-bg-white;
+ border: 1px solid transparent;
+ border-radius: 4px;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
+}
+
+.panel-default {
+ border-color: $color-border-gray;
+}
+
+.panel-heading {
+ color: $color-text-black;
+ background-color: #f5f5f5;
+ border-color: $color-border-gray;
+}
+
+.panel-title {
+ margin-top: 0;
+ margin-bottom: 0;
+ font-size: 16px;
+ color: inherit;
+}
diff --git a/app/settings/profile/name/template.hbs b/app/settings/profile/name/template.hbs
index 48d81f72cd3..e0ae545fdfd 100644
--- a/app/settings/profile/name/template.hbs
+++ b/app/settings/profile/name/template.hbs
@@ -1,7 +1,7 @@
{{page-title (t 'settings.profile.name.title')}}
-
-
-
{{t 'settings.profile.name.title'}}
+
+
+
{{t 'settings.profile.name.title'}}
{{settings/profile/name/-components/name
user=this.user
diff --git a/app/settings/styles.scss b/app/settings/styles.scss
index 1a3d82bb3a1..63f04204826 100644
--- a/app/settings/styles.scss
+++ b/app/settings/styles.scss
@@ -1,22 +1,105 @@
-@media(min-width: $screen-md-min) {
- .SideNav.SideNav {
- display: block;
+// stylelint-disable max-nesting-depth, selector-max-compound-selectors
+
+.settings-container {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: flex-start;
+ align-items: center;
+
+ &.mobile {
+ .setting-container {
+ flex-direction: column;
+
+ .profile-container {
+ width: 100%;
+ }
+
+ .navigation-container {
+ width: 100%;
+ }
+ }
+ }
+
+ .setting-container {
+ width: 90%;
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: flex-start;
+
+ .local-page-header {
+ width: 100%;
+ }
+
+ .navigation-toggle {
+ color: $color-text-black;
+ float: right;
+ font-size: large;
+ padding: 0;
+ line-height: 1em;
+ }
+
+ .navigation-container {
+ width: calc(30% - 25px);
+
+ .stacked-nav {
+ ul {
+ list-style: none;
+ padding-left: 0;
+ }
+
+ a:global(.active) {
+ color: $color-text-white;
+ }
+
+ li > a {
+ position: relative;
+ display: block;
+ padding: 10px 15px;
+ border-radius: 0;
+ text-decoration: none;
+ }
+
+ li > a:hover {
+ text-decoration: none;
+ }
+
+ li:hover {
+ background-color: $color-bg-gray-lighter;
+ }
+
+ :global(.active) {
+ background-color: $color-bg-blue-dark;
+
+ :hover {
+ background-color: $color-bg-blue-dark;
+ }
+ }
+ }
+ }
+
+ .profile-container {
+ width: 70%;
+ }
}
}
-.NavToggle {
- color: $color-text-black;
- float: right;
- font-size: large;
- padding: 0;
- line-height: 1em;
+.page-header {
+ padding-bottom: 9px;
+ margin: 40px 0 20px;
+ border-bottom: 1px solid $color-border-gray;
}
-.ProfileNav {
- margin-left: 20px;
- display: none;
+.panel {
+ margin-bottom: 20px;
+ background-color: $color-bg-white;
+ border: 1px solid transparent;
+ border-radius: 4px;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
-:global(.active) .ProfileNav {
- display: block;
+
+.panel-default {
+ border-color: $color-border-gray;
}
diff --git a/app/settings/template.hbs b/app/settings/template.hbs
index c21295cadf6..8014f7c9626 100644
--- a/app/settings/template.hbs
+++ b/app/settings/template.hbs
@@ -1,118 +1,86 @@
-