diff --git a/app/components/badge-appveyor.js b/app/components/badge-appveyor.js
index 72e52f54162..450e4cd0328 100644
--- a/app/components/badge-appveyor.js
+++ b/app/components/badge-appveyor.js
@@ -3,9 +3,7 @@ import { computed } from '@ember/object';
import { alias } from '@ember/object/computed';
export default Component.extend({
- tagName: 'span',
- classNames: ['badge'],
-
+ tagName: '',
id: alias('badge.attributes.id'),
repository: alias('badge.attributes.repository'),
diff --git a/app/components/badge-azure-devops.js b/app/components/badge-azure-devops.js
index 16dd7b1a3e6..4c12d20f527 100644
--- a/app/components/badge-azure-devops.js
+++ b/app/components/badge-azure-devops.js
@@ -3,13 +3,14 @@ import { computed } from '@ember/object';
import { alias } from '@ember/object/computed';
export default Component.extend({
- tagName: 'span',
- classNames: ['badge'],
+ tagName: '',
project: alias('badge.attributes.project'),
pipeline: alias('badge.attributes.pipeline'),
+
build: computed('badge.attributes.build', function() {
return this.get('badge.attributes.build') || '1';
}),
+
text: computed('pipeline', function() {
return `Azure Devops build status for the ${this.pipeline} pipeline`;
}),
diff --git a/app/components/badge-bitbucket-pipelines.js b/app/components/badge-bitbucket-pipelines.js
index d3f6037ed6d..183c794e67d 100644
--- a/app/components/badge-bitbucket-pipelines.js
+++ b/app/components/badge-bitbucket-pipelines.js
@@ -3,12 +3,13 @@ import { alias } from '@ember/object/computed';
import Component from '@ember/component';
export default Component.extend({
- tagName: 'span',
- classNames: ['badge'],
+ tagName: '',
repository: alias('badge.attributes.repository'),
+
branch: computed('badge.attributes.branch', function() {
return encodeURIComponent(this.get('badge.attributes.branch'));
}),
+
text: computed('badge.attributes.branch', function() {
const branch = this.get('badge.attributes.branch');
return `Bitbucket Pipelines build status for the ${branch} branch`;
diff --git a/app/components/badge-circle-ci.js b/app/components/badge-circle-ci.js
index f3d40695892..1343a520db8 100644
--- a/app/components/badge-circle-ci.js
+++ b/app/components/badge-circle-ci.js
@@ -3,12 +3,13 @@ import { alias } from '@ember/object/computed';
import Component from '@ember/component';
export default Component.extend({
- tagName: 'span',
- classNames: ['badge'],
+ tagName: '',
repository: alias('badge.attributes.repository'),
+
branch: computed('badge.attributes.branch', function() {
return encodeURIComponent(this.get('badge.attributes.branch') || 'master');
}),
+
text: computed('branch', function() {
return `Circle CI build status for the ${this.branch} branch`;
}),
diff --git a/app/components/badge-cirrus-ci.js b/app/components/badge-cirrus-ci.js
index 93229669396..41cff789344 100644
--- a/app/components/badge-cirrus-ci.js
+++ b/app/components/badge-cirrus-ci.js
@@ -3,12 +3,13 @@ import { alias } from '@ember/object/computed';
import Component from '@ember/component';
export default Component.extend({
- tagName: 'span',
- classNames: ['badge'],
+ tagName: '',
repository: alias('badge.attributes.repository'),
+
branch: computed('badge.attributes.branch', function() {
return encodeURIComponent(this.get('badge.attributes.branch') || 'master');
}),
+
text: computed('branch', function() {
return `Cirrus CI build status for the ${this.branch} branch`;
}),
diff --git a/app/components/badge-codecov.js b/app/components/badge-codecov.js
index 90f30bb6201..183236fe683 100644
--- a/app/components/badge-codecov.js
+++ b/app/components/badge-codecov.js
@@ -3,15 +3,17 @@ import { computed } from '@ember/object';
import { alias } from '@ember/object/computed';
export default Component.extend({
- tagName: 'span',
- classNames: ['badge'],
+ tagName: '',
repository: alias('badge.attributes.repository'),
+
branch: computed('badge.attributes.branch', function() {
return this.get('badge.attributes.branch') || 'master';
}),
+
service: computed('badge.attributes.service', function() {
return this.get('badge.attributes.service') || 'github';
}),
+
text: computed('branch', function() {
return `CodeCov coverage status for the ${this.branch} branch`;
}),
diff --git a/app/components/badge-coveralls.js b/app/components/badge-coveralls.js
index ee4dfaf17e5..c9cda1aee60 100644
--- a/app/components/badge-coveralls.js
+++ b/app/components/badge-coveralls.js
@@ -3,15 +3,17 @@ import { computed } from '@ember/object';
import { alias } from '@ember/object/computed';
export default Component.extend({
- tagName: 'span',
- classNames: ['badge'],
+ tagName: '',
repository: alias('badge.attributes.repository'),
+
branch: computed('badge.attributes.branch', function() {
return this.get('badge.attributes.branch') || 'master';
}),
+
service: computed('badge.attributes.service', function() {
return this.get('badge.attributes.service') || 'github';
}),
+
text: computed('branch', function() {
return `Coveralls coverage status for the ${this.branch} branch`;
}),
diff --git a/app/components/badge-gitlab.js b/app/components/badge-gitlab.js
index e3e00cf27e1..ccfdb4afa06 100644
--- a/app/components/badge-gitlab.js
+++ b/app/components/badge-gitlab.js
@@ -3,12 +3,13 @@ import { computed } from '@ember/object';
import { alias } from '@ember/object/computed';
export default Component.extend({
- tagName: 'span',
- classNames: ['badge'],
+ tagName: '',
repository: alias('badge.attributes.repository'),
+
branch: computed('badge.attributes.branch', function() {
return this.get('badge.attributes.branch') || 'master';
}),
+
text: computed('badge', function() {
return `GitLab build status for the ${this.branch} branch`;
}),
diff --git a/app/components/badge-is-it-maintained-issue-resolution.js b/app/components/badge-is-it-maintained-issue-resolution.js
index 67c3b5252ff..0d3136a169f 100644
--- a/app/components/badge-is-it-maintained-issue-resolution.js
+++ b/app/components/badge-is-it-maintained-issue-resolution.js
@@ -3,9 +3,9 @@ import { computed } from '@ember/object';
import { alias } from '@ember/object/computed';
export default Component.extend({
- tagName: 'span',
- classNames: ['badge'],
+ tagName: '',
repository: alias('badge.attributes.repository'),
+
text: computed('badge', function() {
return `Is It Maintained average time to resolve an issue`;
}),
diff --git a/app/components/badge-is-it-maintained-open-issues.js b/app/components/badge-is-it-maintained-open-issues.js
index 813a0e60428..9b07ea665ee 100644
--- a/app/components/badge-is-it-maintained-open-issues.js
+++ b/app/components/badge-is-it-maintained-open-issues.js
@@ -3,9 +3,9 @@ import { computed } from '@ember/object';
import { alias } from '@ember/object/computed';
export default Component.extend({
- tagName: 'span',
- classNames: ['badge'],
+ tagName: '',
repository: alias('badge.attributes.repository'),
+
text: computed('badge', function() {
return `Is It Maintained percentage of issues still open`;
}),
diff --git a/app/components/badge-maintenance.js b/app/components/badge-maintenance.js
index 61895e1ce04..40223a0ca36 100644
--- a/app/components/badge-maintenance.js
+++ b/app/components/badge-maintenance.js
@@ -3,15 +3,18 @@ import { computed } from '@ember/object';
import { alias } from '@ember/object/computed';
export default Component.extend({
- tagName: 'span',
- classNames: ['badge'],
+ tagName: '',
+
escapedStatus: computed('badge', function() {
return this.get('badge.attributes.status').replace(/-/g, '--');
}),
+
none: computed('badge', function() {
return this.get('badge.attributes.status') === 'none' || !this.get('badge.attributes.status');
}),
+
status: alias('badge.attributes.status'),
+
// eslint-disable-next-line ember/require-return-from-computed
color: computed('badge', function() {
switch (this.get('badge.attributes.status')) {
@@ -29,5 +32,6 @@ export default Component.extend({
return 'red';
}
}),
+
text: 'Maintenance intention for this crate',
});
diff --git a/app/components/badge-travis-ci.js b/app/components/badge-travis-ci.js
index 3650c7951b0..3c4a78179f9 100644
--- a/app/components/badge-travis-ci.js
+++ b/app/components/badge-travis-ci.js
@@ -3,12 +3,13 @@ import { computed } from '@ember/object';
import { alias } from '@ember/object/computed';
export default Component.extend({
- tagName: 'span',
- classNames: ['badge'],
+ tagName: '',
repository: alias('badge.attributes.repository'),
+
branch: computed('badge.attributes.branch', function() {
return this.get('badge.attributes.branch') || 'master';
}),
+
text: computed('branch', function() {
return `Travis CI build status for the ${this.branch} branch`;
}),
diff --git a/app/components/crate-badge.js b/app/components/crate-badge.js
index 30e30257d65..e796e09b451 100644
--- a/app/components/crate-badge.js
+++ b/app/components/crate-badge.js
@@ -2,9 +2,7 @@ import Component from '@ember/component';
import { computed } from '@ember/object';
export default Component.extend({
- classNames: ['vers'],
-
- tagName: 'span',
+ tagName: '',
version: computed('crate.max_version', function() {
return this.get('crate.max_version').replace('-', '--');
diff --git a/app/components/crate-row.js b/app/components/crate-row.js
index e096e65a563..daa12e1597d 100644
--- a/app/components/crate-row.js
+++ b/app/components/crate-row.js
@@ -2,10 +2,8 @@ import Component from '@ember/component';
import { computed } from '@ember/object';
export default Component.extend({
- classNames: ['crate', 'row'],
+ tagName: '',
crateTomlText: computed('crate.name', 'max_version', function() {
return `${this.get('crate.name')} = "${this.get('crate.max_version')}"`;
}),
-
- 'data-test-crate-row': true,
});
diff --git a/app/components/crate-toml-copy.js b/app/components/crate-toml-copy.js
index 8c17d47b09d..81022ea7df7 100644
--- a/app/components/crate-toml-copy.js
+++ b/app/components/crate-toml-copy.js
@@ -2,7 +2,7 @@ import Component from '@ember/component';
import { later } from '@ember/runloop';
export default Component.extend({
- classNames: ['crate-toml-copy'],
+ tagName: '',
copyText: '',
showSuccess: false,
showNotification: false,
diff --git a/app/components/email-input.js b/app/components/email-input.js
index fd4be6d19f3..737d4a3bc41 100644
--- a/app/components/email-input.js
+++ b/app/components/email-input.js
@@ -5,8 +5,8 @@ import { inject as service } from '@ember/service';
import ajax from 'ember-fetch/ajax';
export default Component.extend({
+ tagName: '',
flashMessages: service(),
-
type: '',
value: '',
isEditing: false,
@@ -14,19 +14,23 @@ export default Component.extend({
disableSave: empty('user.email'),
notValidEmail: false,
prevEmail: '',
+
emailIsNull: computed('user.email', function() {
let email = this.get('user.email');
return email == null;
}),
+
emailNotVerified: computed('user.{email,email_verified}', function() {
let email = this.get('user.email');
let verified = this.get('user.email_verified');
return email != null && !verified;
}),
+
isError: false,
emailError: '',
disableResend: false,
+
resendButtonText: computed('disableResend', 'user.email_verification_sent', function() {
if (this.disableResend) {
return 'Sent!';
diff --git a/app/components/flash-message.js b/app/components/flash-message.js
index ef807af025a..ce6674d7291 100644
--- a/app/components/flash-message.js
+++ b/app/components/flash-message.js
@@ -5,8 +5,5 @@ import { inject as service } from '@ember/service';
export default Component.extend({
flashMessages: service(),
message: readOnly('flashMessages.message'),
-
- elementId: 'flash',
- tagName: 'p',
- classNameBindings: ['message:shown'],
+ tagName: '',
});
diff --git a/app/components/owned-crate-row.js b/app/components/owned-crate-row.js
index c253b87aafa..d9b65eac02b 100644
--- a/app/components/owned-crate-row.js
+++ b/app/components/owned-crate-row.js
@@ -3,7 +3,7 @@ import { computed } from '@ember/object';
import { alias } from '@ember/object/computed';
export default Component.extend({
- tagName: 'li',
+ tagName: '',
name: alias('ownedCrate.name'),
controlId: computed('ownedCrate.id', function() {
diff --git a/app/components/pending-owner-invite-row.js b/app/components/pending-owner-invite-row.js
index 239a2ae47f1..af987d493ab 100644
--- a/app/components/pending-owner-invite-row.js
+++ b/app/components/pending-owner-invite-row.js
@@ -1,6 +1,7 @@
import Component from '@ember/component';
export default Component.extend({
+ tagName: '',
isAccepted: false,
isDeclined: false,
isError: false,
diff --git a/app/templates/components/badge-appveyor.hbs b/app/templates/components/badge-appveyor.hbs
index d2248383ae0..ae429041fac 100644
--- a/app/templates/components/badge-appveyor.hbs
+++ b/app/templates/components/badge-appveyor.hbs
@@ -1,8 +1,11 @@
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/templates/components/badge-azure-devops.hbs b/app/templates/components/badge-azure-devops.hbs
index e291bd739ca..d2debb9b99e 100644
--- a/app/templates/components/badge-azure-devops.hbs
+++ b/app/templates/components/badge-azure-devops.hbs
@@ -1,3 +1,6 @@
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/templates/components/badge-bitbucket-pipelines.hbs b/app/templates/components/badge-bitbucket-pipelines.hbs
index 9a0d9b0ea8e..d856c399a0e 100644
--- a/app/templates/components/badge-bitbucket-pipelines.hbs
+++ b/app/templates/components/badge-bitbucket-pipelines.hbs
@@ -1,6 +1,9 @@
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/templates/components/badge-circle-ci.hbs b/app/templates/components/badge-circle-ci.hbs
index 8d04b7a8d69..0b753c63b95 100644
--- a/app/templates/components/badge-circle-ci.hbs
+++ b/app/templates/components/badge-circle-ci.hbs
@@ -1,6 +1,9 @@
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/templates/components/badge-cirrus-ci.hbs b/app/templates/components/badge-cirrus-ci.hbs
index c9ce44f1b22..d01a40557a4 100644
--- a/app/templates/components/badge-cirrus-ci.hbs
+++ b/app/templates/components/badge-cirrus-ci.hbs
@@ -1,6 +1,9 @@
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/templates/components/badge-codecov.hbs b/app/templates/components/badge-codecov.hbs
index a1f42125582..8d9e7870910 100644
--- a/app/templates/components/badge-codecov.hbs
+++ b/app/templates/components/badge-codecov.hbs
@@ -1,6 +1,9 @@
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/templates/components/badge-coveralls.hbs b/app/templates/components/badge-coveralls.hbs
index 36cb421bc32..29ad2656558 100644
--- a/app/templates/components/badge-coveralls.hbs
+++ b/app/templates/components/badge-coveralls.hbs
@@ -1,6 +1,9 @@
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/templates/components/badge-gitlab.hbs b/app/templates/components/badge-gitlab.hbs
index b9e1b4bb88b..8c94c605052 100644
--- a/app/templates/components/badge-gitlab.hbs
+++ b/app/templates/components/badge-gitlab.hbs
@@ -1,6 +1,9 @@
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/templates/components/badge-is-it-maintained-issue-resolution.hbs b/app/templates/components/badge-is-it-maintained-issue-resolution.hbs
index 0e294482e8d..ec6e7b0a713 100644
--- a/app/templates/components/badge-is-it-maintained-issue-resolution.hbs
+++ b/app/templates/components/badge-is-it-maintained-issue-resolution.hbs
@@ -1,6 +1,9 @@
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/templates/components/badge-is-it-maintained-open-issues.hbs b/app/templates/components/badge-is-it-maintained-open-issues.hbs
index d2c4533a75b..04246b64e53 100644
--- a/app/templates/components/badge-is-it-maintained-open-issues.hbs
+++ b/app/templates/components/badge-is-it-maintained-open-issues.hbs
@@ -1,6 +1,9 @@
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/templates/components/badge-maintenance.hbs b/app/templates/components/badge-maintenance.hbs
index f959fd3548c..386ba11094e 100644
--- a/app/templates/components/badge-maintenance.hbs
+++ b/app/templates/components/badge-maintenance.hbs
@@ -1,6 +1,9 @@
-{{#unless this.none}}
-
-{{/unless}}
+
+ {{#unless this.none}}
+
+ {{/unless}}
+
+
\ No newline at end of file
diff --git a/app/templates/components/badge-travis-ci.hbs b/app/templates/components/badge-travis-ci.hbs
index 61f099026bf..9b7ca81744a 100644
--- a/app/templates/components/badge-travis-ci.hbs
+++ b/app/templates/components/badge-travis-ci.hbs
@@ -1,6 +1,9 @@
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/templates/components/crate-badge.hbs b/app/templates/components/crate-badge.hbs
index d4288727fde..9274ffdcc06 100644
--- a/app/templates/components/crate-badge.hbs
+++ b/app/templates/components/crate-badge.hbs
@@ -1,5 +1,8 @@
-
+
+
+
+
\ No newline at end of file
diff --git a/app/templates/components/crate-row.hbs b/app/templates/components/crate-row.hbs
index df146bec53b..e8c9b0a3213 100644
--- a/app/templates/components/crate-row.hbs
+++ b/app/templates/components/crate-row.hbs
@@ -1,44 +1,49 @@
-