diff --git a/app/components/settings/api-tokens.gjs b/app/components/settings/api-tokens.gjs index 5d905f9bb18..9e9e676b256 100644 --- a/app/components/settings/api-tokens.gjs +++ b/app/components/settings/api-tokens.gjs @@ -14,11 +14,12 @@ import or from 'ember-truth-helpers/helpers/or'; import CopyButton from 'crates-io/components/copy-button'; import LoadingSpinner from 'crates-io/components/loading-spinner'; +import PatternDescription from 'crates-io/components/token-scopes/pattern-description'; import Tooltip from 'crates-io/components/tooltip'; import dateFormatDistanceToNow from 'crates-io/helpers/date-format-distance-to-now'; import isClipboardSupported from 'crates-io/helpers/is-clipboard-supported'; -import { patternDescription, scopeDescription } from '../../utils/token-scopes'; +import { scopeDescription } from '../../utils/token-scopes'; export default class ApiTokens extends Component { @service store; @@ -26,7 +27,6 @@ export default class ApiTokens extends Component { @service router; scopeDescription = scopeDescription; - patternDescription = patternDescription; get sortedTokens() { return this.args.tokens @@ -136,7 +136,7 @@ export default class ApiTokens extends Component { {{#each (this.listToParts token.crate_scopes) as |part|~}} {{#if (eq part.type 'element')}} - {{part.value}} + {{part.value}} {{~else~}} {{part.value}} {{/if}} diff --git a/app/components/token-scopes/pattern-description.gjs b/app/components/token-scopes/pattern-description.gjs new file mode 100644 index 00000000000..a7db0002b6c --- /dev/null +++ b/app/components/token-scopes/pattern-description.gjs @@ -0,0 +1,24 @@ +import Component from '@glimmer/component'; + +import { eq } from 'ember-truth-helpers'; + +export default class PatternDescription extends Component { + get prefix() { + if (this.args.pattern.endsWith('*')) { + return this.args.pattern.slice(0, -1); + } + } + + +} diff --git a/app/controllers/settings/tokens/new.js b/app/controllers/settings/tokens/new.js index dd05cb6932e..e41f7be8d9d 100644 --- a/app/controllers/settings/tokens/new.js +++ b/app/controllers/settings/tokens/new.js @@ -6,7 +6,7 @@ import { tracked } from '@glimmer/tracking'; import { task } from 'ember-concurrency'; import { TrackedArray } from 'tracked-built-ins'; -import { patternDescription, scopeDescription } from '../../../utils/token-scopes'; +import { scopeDescription } from '../../../utils/token-scopes'; export default class NewTokenController extends Controller { @service notifications; @@ -157,16 +157,6 @@ class CratePattern { return this.pattern.endsWith('*'); } - get description() { - if (!this.pattern) { - return 'Please enter a crate name pattern'; - } else if (this.isValid) { - return patternDescription(this.pattern); - } else { - return 'Invalid crate name pattern'; - } - } - @action resetValidation() { this.showAsInvalid = false; } diff --git a/app/templates/settings/tokens/new.gjs b/app/templates/settings/tokens/new.gjs index 0145530a4d1..8d16da9eb5a 100644 --- a/app/templates/settings/tokens/new.gjs +++ b/app/templates/settings/tokens/new.gjs @@ -7,9 +7,10 @@ import autoFocus from '@zestia/ember-auto-focus/modifiers/auto-focus'; import perform from 'ember-concurrency/helpers/perform'; import preventDefault from 'ember-event-helpers/helpers/prevent-default'; import svgJar from 'ember-svg-jar/helpers/svg-jar'; -import eq from 'ember-truth-helpers/helpers/eq'; +import { eq, not } from 'ember-truth-helpers'; import LoadingSpinner from 'crates-io/components/loading-spinner'; +import PatternDescription from 'crates-io/components/token-scopes/pattern-description';