| ... | @@ -2,7 +2,7 @@ |
... | @@ -2,7 +2,7 @@ |
|
|
import { mapActions, mapGetters, mapState } from 'vuex';
|
|
import { mapActions, mapGetters, mapState } from 'vuex';
|
|
|
import dateFormat from 'dateformat';
|
|
import dateFormat from 'dateformat';
|
|
|
import createFlash from '~/flash';
|
|
import createFlash from '~/flash';
|
|
|
import { GlButton, GlFormInput, GlLink, GlLoadingIcon, GlBadge } from '@gitlab/ui';
|
|
import { GlButton, GlFormInput, GlLink, GlLoadingIcon, GlBadge, GlSprintf } from '@gitlab/ui';
|
|
|
import { __, sprintf, n__ } from '~/locale';
|
|
import { __, sprintf, n__ } from '~/locale';
|
|
|
import LoadingButton from '~/vue_shared/components/loading_button.vue';
|
|
import LoadingButton from '~/vue_shared/components/loading_button.vue';
|
|
|
import Icon from '~/vue_shared/components/icon.vue';
|
|
import Icon from '~/vue_shared/components/icon.vue';
|
| ... | @@ -25,6 +25,7 @@ export default { |
... | @@ -25,6 +25,7 @@ export default { |
|
|
Icon,
|
|
Icon,
|
|
|
Stacktrace,
|
|
Stacktrace,
|
|
|
GlBadge,
|
|
GlBadge,
|
|
|
|
GlSprintf,
|
|
|
},
|
|
},
|
|
|
directives: {
|
|
directives: {
|
|
|
TrackEvent: TrackEventDirective,
|
|
TrackEvent: TrackEventDirective,
|
| ... | @@ -99,16 +100,6 @@ export default { |
... | @@ -99,16 +100,6 @@ export default { |
|
|
'updatingIgnoreStatus',
|
|
'updatingIgnoreStatus',
|
|
|
]),
|
|
]),
|
|
|
...mapGetters('details', ['stacktrace']),
|
|
...mapGetters('details', ['stacktrace']),
|
|
|
reported() {
|
|
|
|
|
return sprintf(
|
|
|
|
|
__('Reported %{timeAgo} by %{reportedBy}'),
|
|
|
|
|
{
|
|
|
|
|
reportedBy: `<strong>${this.GQLerror.culprit}</strong>`,
|
|
|
|
|
timeAgo: this.timeFormatted(this.stacktraceData.date_received),
|
|
|
|
|
},
|
|
|
|
|
false,
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
firstReleaseLink() {
|
|
firstReleaseLink() {
|
|
|
return `${this.error.external_base_url}/releases/${this.GQLerror.firstReleaseShortVersion}`;
|
|
return `${this.error.external_base_url}/releases/${this.GQLerror.firstReleaseShortVersion}`;
|
|
|
},
|
|
},
|
| ... | @@ -176,7 +167,17 @@ export default { |
... | @@ -176,7 +167,17 @@ export default { |
|
|
</div>
|
|
</div>
|
|
|
<div v-else-if="showDetails" class="error-details">
|
|
<div v-else-if="showDetails" class="error-details">
|
|
|
<div class="top-area align-items-center justify-content-between py-3">
|
|
<div class="top-area align-items-center justify-content-between py-3">
|
|
|
<span v-if="!loadingStacktrace && stacktrace" v-html="reported"></span>
|
|
<div v-if="!loadingStacktrace && stacktrace" data-qa-selector="reported_text">
|
|
|
|
<gl-sprintf :message="__('Reported %{timeAgo} by %{reportedBy}')">
|
|
|
|
<template #reportedBy>
|
|
|
|
<strong>{{ GQLerror.culprit }}</strong>
|
|
|
|
</template>
|
|
|
|
<template #timeAgo>
|
|
|
|
{{ timeFormatted(stacktraceData.date_received) }}
|
|
|
|
</template>
|
|
|
|
</gl-sprintf>
|
|
|
|
</div>
|
|
|
|
|
|
|
<div class="d-inline-flex">
|
|
<div class="d-inline-flex">
|
|
|
<loading-button
|
|
<loading-button
|
|
|
:label="__('Ignore')"
|
|
:label="__('Ignore')"
|
| ... | |
... | |
| ... | | ... | |