Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
33ed90457e
commit
eef3d92529
|
@ -1736,4 +1736,4 @@ DEPENDENCIES
|
|||
yajl-ruby (~> 1.4.1)
|
||||
|
||||
BUNDLED WITH
|
||||
2.3.6
|
||||
2.3.15
|
||||
|
|
|
@ -101,7 +101,7 @@ export default {
|
|||
|
||||
<template>
|
||||
<div>
|
||||
<h1 class="page-title">
|
||||
<h1 class="page-title gl-font-size-h-display">
|
||||
{{ $options.i18n.pageTitle }}
|
||||
</h1>
|
||||
<hr />
|
||||
|
|
|
@ -81,7 +81,7 @@ export default {
|
|||
</script>
|
||||
<template>
|
||||
<div>
|
||||
<h1 class="page-title">
|
||||
<h1 class="page-title gl-font-size-h-display">
|
||||
{{ title }}
|
||||
</h1>
|
||||
<div class="row col-12">
|
||||
|
|
|
@ -94,7 +94,7 @@ export default {
|
|||
<template>
|
||||
<header class="top-area gl-justify-content-between">
|
||||
<div class="gl-display-flex gl-flex-grow-1 gl-align-items-center">
|
||||
<h1 class="page-title">
|
||||
<h1 class="page-title gl-font-size-h-display">
|
||||
{{ environment.name }}
|
||||
</h1>
|
||||
<p v-if="shouldShowCancelAutoStopButton" class="gl-mb-0 gl-ml-3" data-testid="auto-stops-at">
|
||||
|
|
|
@ -184,7 +184,10 @@ export default {
|
|||
class="gl-display-flex gl-align-items-baseline gl-flex-direction-row gl-justify-content-space-between gl-mt-6"
|
||||
>
|
||||
<div class="gl-display-flex gl-align-items-center">
|
||||
<h2 data-testid="feature-flags-tab-title" class="gl-font-size-h2 gl-my-0">
|
||||
<h2
|
||||
data-testid="feature-flags-tab-title"
|
||||
class="page-title gl-font-size-h-display gl-my-0"
|
||||
>
|
||||
{{ s__('FeatureFlags|Feature Flags') }}
|
||||
</h2>
|
||||
<gl-badge v-if="count" class="gl-ml-4">{{ count }}</gl-badge>
|
||||
|
|
|
@ -24,7 +24,7 @@ export default {
|
|||
</script>
|
||||
<template>
|
||||
<div>
|
||||
<h1 class="page-title">{{ s__('FeatureFlags|New feature flag') }}</h1>
|
||||
<h1 class="page-title gl-font-size-h-display">{{ s__('FeatureFlags|New feature flag') }}</h1>
|
||||
|
||||
<gl-alert v-if="error.length" variant="warning" class="gl-mb-5" :dismissible="false">
|
||||
<p v-for="(message, index) in error" :key="index" class="gl-mb-0">{{ message }}</p>
|
||||
|
|
|
@ -0,0 +1,232 @@
|
|||
<script>
|
||||
import { GlFormGroup, GlFormInput, GlFormInputGroup, GlInputGroupText } from '@gitlab/ui';
|
||||
import { debounce } from 'lodash';
|
||||
|
||||
import { s__, __ } from '~/locale';
|
||||
import { getGroupPathAvailability } from '~/rest_api';
|
||||
import { createAlert } from '~/flash';
|
||||
import { slugify } from '~/lib/utils/text_utility';
|
||||
import axios from '~/lib/utils/axios_utils';
|
||||
import { helpPagePath } from '~/helpers/help_page_helper';
|
||||
|
||||
const DEBOUNCE_DURATION = 1000;
|
||||
|
||||
export default {
|
||||
i18n: {
|
||||
inputs: {
|
||||
name: {
|
||||
label: s__('Groups|Group name'),
|
||||
placeholder: __('My awesome group'),
|
||||
description: s__(
|
||||
'Groups|Must start with letter, digit, emoji, or underscore. Can also contain periods, dashes, spaces, and parentheses.',
|
||||
),
|
||||
invalidFeedback: s__('Groups|Enter a descriptive name for your group.'),
|
||||
},
|
||||
path: {
|
||||
label: s__('Groups|Group URL'),
|
||||
placeholder: __('my-awesome-group'),
|
||||
invalidFeedbackInvalidPattern: s__(
|
||||
'GroupSettings|Choose a group path that does not start with a dash or end with a period. It can also contain alphanumeric characters and underscores.',
|
||||
),
|
||||
invalidFeedbackPathUnavailable: s__(
|
||||
'Groups|Group path is unavailable. Path has been replaced with a suggested available path.',
|
||||
),
|
||||
validFeedback: s__('Groups|Group path is available.'),
|
||||
},
|
||||
},
|
||||
apiLoadingMessage: s__('Groups|Checking group URL availability...'),
|
||||
apiErrorMessage: __(
|
||||
'An error occurred while checking group path. Please refresh and try again.',
|
||||
),
|
||||
},
|
||||
nameInputSize: { md: 'lg' },
|
||||
changingGroupPathHelpPagePath: helpPagePath('user/group/index', {
|
||||
anchor: 'change-a-groups-path',
|
||||
}),
|
||||
mattermostDataBindName: 'create_chat_team',
|
||||
components: { GlFormGroup, GlFormInput, GlFormInputGroup, GlInputGroupText },
|
||||
inject: ['fields', 'basePath', 'mattermostEnabled'],
|
||||
data() {
|
||||
return {
|
||||
name: this.fields.name.value,
|
||||
path: this.fields.path.value,
|
||||
apiSuggestedPath: '',
|
||||
apiLoading: false,
|
||||
nameFeedbackState: null,
|
||||
pathFeedbackState: null,
|
||||
pathInvalidFeedback: null,
|
||||
activeApiRequestAbortController: null,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
computedPath() {
|
||||
return this.apiSuggestedPath || this.path;
|
||||
},
|
||||
pathDescription() {
|
||||
return this.apiLoading ? this.$options.i18n.apiLoadingMessage : '';
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
name: [
|
||||
function updatePath(newName) {
|
||||
this.nameFeedbackState = null;
|
||||
this.pathFeedbackState = null;
|
||||
this.apiSuggestedPath = '';
|
||||
this.path = slugify(newName);
|
||||
},
|
||||
debounce(async function updatePathWithSuggestions() {
|
||||
try {
|
||||
const { suggests } = await this.checkPathAvailability();
|
||||
|
||||
const [suggestedPath] = suggests;
|
||||
|
||||
this.apiSuggestedPath = suggestedPath;
|
||||
} catch (error) {
|
||||
// Do nothing, error handled in `checkPathAvailability`
|
||||
}
|
||||
}, DEBOUNCE_DURATION),
|
||||
],
|
||||
},
|
||||
methods: {
|
||||
async checkPathAvailability() {
|
||||
if (!this.path) return Promise.reject();
|
||||
|
||||
this.apiLoading = true;
|
||||
|
||||
if (this.activeApiRequestAbortController !== null) {
|
||||
this.activeApiRequestAbortController.abort();
|
||||
}
|
||||
|
||||
this.activeApiRequestAbortController = new AbortController();
|
||||
|
||||
try {
|
||||
const {
|
||||
data: { exists, suggests },
|
||||
} = await getGroupPathAvailability(this.path, this.fields.parentId?.value, {
|
||||
signal: this.activeApiRequestAbortController.signal,
|
||||
});
|
||||
|
||||
if (exists) {
|
||||
if (suggests.length) {
|
||||
return Promise.resolve({ exists, suggests });
|
||||
}
|
||||
|
||||
createAlert({
|
||||
message: this.$options.i18n.apiErrorMessage,
|
||||
});
|
||||
|
||||
return Promise.reject();
|
||||
}
|
||||
|
||||
return Promise.resolve({ exists, suggests });
|
||||
} catch (error) {
|
||||
if (!axios.isCancel(error)) {
|
||||
createAlert({
|
||||
message: this.$options.i18n.apiErrorMessage,
|
||||
});
|
||||
}
|
||||
|
||||
return Promise.reject();
|
||||
} finally {
|
||||
this.apiLoading = false;
|
||||
}
|
||||
},
|
||||
handlePathInput(value) {
|
||||
this.pathFeedbackState = null;
|
||||
this.apiSuggestedPath = '';
|
||||
this.path = value;
|
||||
this.debouncedValidatePath();
|
||||
},
|
||||
debouncedValidatePath: debounce(async function validatePath() {
|
||||
try {
|
||||
const {
|
||||
exists,
|
||||
suggests: [suggestedPath],
|
||||
} = await this.checkPathAvailability();
|
||||
|
||||
if (exists) {
|
||||
this.apiSuggestedPath = suggestedPath;
|
||||
this.pathInvalidFeedback = this.$options.i18n.inputs.path.invalidFeedbackPathUnavailable;
|
||||
this.pathFeedbackState = false;
|
||||
} else {
|
||||
this.pathFeedbackState = true;
|
||||
}
|
||||
} catch (error) {
|
||||
// Do nothing, error handled in `checkPathAvailability`
|
||||
}
|
||||
}, DEBOUNCE_DURATION),
|
||||
handleInvalidName(event) {
|
||||
event.preventDefault();
|
||||
|
||||
this.nameFeedbackState = false;
|
||||
},
|
||||
handleInvalidPath(event) {
|
||||
event.preventDefault();
|
||||
|
||||
this.pathInvalidFeedback = this.$options.i18n.inputs.path.invalidFeedbackInvalidPattern;
|
||||
this.pathFeedbackState = false;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<input
|
||||
:id="fields.parentId.id"
|
||||
type="hidden"
|
||||
:name="fields.parentId.name"
|
||||
:value="fields.parentId.value"
|
||||
/>
|
||||
<gl-form-group
|
||||
:label="$options.i18n.inputs.name.label"
|
||||
:description="$options.i18n.inputs.name.description"
|
||||
:label-for="fields.name.id"
|
||||
:invalid-feedback="$options.i18n.inputs.name.invalidFeedback"
|
||||
:state="nameFeedbackState"
|
||||
>
|
||||
<gl-form-input
|
||||
:id="fields.name.id"
|
||||
v-model="name"
|
||||
class="gl-field-error-ignore"
|
||||
required
|
||||
:name="fields.name.name"
|
||||
:placeholder="$options.i18n.inputs.name.placeholder"
|
||||
data-qa-selector="group_name_field"
|
||||
:size="$options.nameInputSize"
|
||||
:state="nameFeedbackState"
|
||||
@invalid="handleInvalidName"
|
||||
/>
|
||||
</gl-form-group>
|
||||
<gl-form-group
|
||||
:label="$options.i18n.inputs.path.label"
|
||||
:label-for="fields.path.id"
|
||||
:description="pathDescription"
|
||||
:state="pathFeedbackState"
|
||||
:valid-feedback="$options.i18n.inputs.path.validFeedback"
|
||||
:invalid-feedback="pathInvalidFeedback"
|
||||
>
|
||||
<gl-form-input-group>
|
||||
<template #prepend>
|
||||
<gl-input-group-text class="group-root-path">{{ basePath }}</gl-input-group-text>
|
||||
</template>
|
||||
<gl-form-input
|
||||
:id="fields.path.id"
|
||||
class="gl-field-error-ignore"
|
||||
:name="fields.path.name"
|
||||
:value="computedPath"
|
||||
:placeholder="$options.i18n.inputs.path.placeholder"
|
||||
:maxlength="fields.path.maxLength"
|
||||
:pattern="fields.path.pattern"
|
||||
:state="pathFeedbackState"
|
||||
:size="$options.nameInputSize"
|
||||
required
|
||||
data-qa-selector="group_path_field"
|
||||
:data-bind-in="mattermostEnabled ? $options.mattermostDataBindName : null"
|
||||
@input="handlePathInput"
|
||||
@invalid="handleInvalidPath"
|
||||
/>
|
||||
</gl-form-input-group>
|
||||
</gl-form-group>
|
||||
</div>
|
||||
</template>
|
|
@ -0,0 +1,29 @@
|
|||
import Vue from 'vue';
|
||||
import { parseRailsFormFields } from '~/lib/utils/forms';
|
||||
import { parseBoolean } from '~/lib/utils/common_utils';
|
||||
import GroupNameAndPath from './components/group_name_and_path.vue';
|
||||
|
||||
export const initGroupNameAndPath = () => {
|
||||
const elements = document.querySelectorAll('.js-group-name-and-path');
|
||||
|
||||
if (!elements.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
elements.forEach((element) => {
|
||||
const fields = parseRailsFormFields(element);
|
||||
const { basePath, mattermostEnabled } = element.dataset;
|
||||
|
||||
return new Vue({
|
||||
el: element,
|
||||
provide: {
|
||||
fields,
|
||||
basePath,
|
||||
mattermostEnabled: parseBoolean(mattermostEnabled),
|
||||
},
|
||||
render(h) {
|
||||
return h(GroupNameAndPath);
|
||||
},
|
||||
});
|
||||
});
|
||||
};
|
|
@ -154,7 +154,7 @@ export default {
|
|||
<gl-button
|
||||
:disabled="commitButtonDisabled"
|
||||
category="primary"
|
||||
variant="info"
|
||||
variant="confirm"
|
||||
block
|
||||
class="qa-begin-commit-button"
|
||||
data-testid="begin-commit-button"
|
||||
|
|
|
@ -74,7 +74,7 @@ export default {
|
|||
'issue-realtime-pre-pulse': preAnimation,
|
||||
'issue-realtime-trigger-pulse': pulseAnimation,
|
||||
}"
|
||||
class="title qa-title"
|
||||
class="title qa-title gl-font-size-h-display"
|
||||
dir="auto"
|
||||
></h1>
|
||||
<gl-button
|
||||
|
|
|
@ -46,7 +46,7 @@ export default {
|
|||
<template>
|
||||
<div>
|
||||
<div class="gl-border-1 gl-border-b-solid gl-border-gray-100 gl-mb-5 gl-mt-7">
|
||||
<h1 data-testid="page-title" class="page-title">{{ pageTitle }}</h1>
|
||||
<h1 data-testid="page-title" class="page-title gl-font-size-h-display">{{ pageTitle }}</h1>
|
||||
</div>
|
||||
|
||||
<new-branch-form v-if="showForm" @success="onNewBranchFormSuccess" />
|
||||
|
|
|
@ -254,7 +254,7 @@ export default {
|
|||
</gl-sprintf>
|
||||
</gl-alert>
|
||||
|
||||
<h1 class="page-title">{{ __('New Jira import') }}</h1>
|
||||
<h1 class="page-title gl-font-size-h-display">{{ __('New Jira import') }}</h1>
|
||||
|
||||
<hr />
|
||||
|
||||
|
|
|
@ -119,12 +119,14 @@ export const parseRailsFormFields = (mountEl) => {
|
|||
}
|
||||
|
||||
const fieldNameCamelCase = convertToCamelCase(fieldName);
|
||||
const { id, placeholder, name, value, type, checked } = input;
|
||||
const { id, placeholder, name, value, type, checked, maxLength, pattern } = input;
|
||||
const attributes = {
|
||||
name,
|
||||
id,
|
||||
value,
|
||||
...(placeholder && { placeholder }),
|
||||
...(input.hasAttribute('maxlength') && { maxLength }),
|
||||
...(pattern && { pattern }),
|
||||
};
|
||||
|
||||
// Store radio buttons and checkboxes as an array so they can be
|
||||
|
|
|
@ -102,7 +102,7 @@ export default {
|
|||
<template #cell(name)="{ item, toggleDetails, detailsShowing }">
|
||||
<gl-button
|
||||
v-if="hasDetails(item)"
|
||||
:icon="detailsShowing ? 'angle-up' : 'angle-down'"
|
||||
:icon="detailsShowing ? 'chevron-up' : 'chevron-down'"
|
||||
:aria-label="detailsShowing ? __('Collapse') : __('Expand')"
|
||||
category="tertiary"
|
||||
size="small"
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import initFilePickers from '~/file_pickers';
|
||||
import { initGroupNameAndPath } from '~/groups/create_edit_form';
|
||||
|
||||
initFilePickers();
|
||||
initGroupNameAndPath();
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import initFilePickers from '~/file_pickers';
|
||||
import BindInOut from '~/behaviors/bind_in_out';
|
||||
import Group from '~/group';
|
||||
import { initGroupNameAndPath } from '~/groups/create_edit_form';
|
||||
|
||||
(() => {
|
||||
BindInOut.initAll();
|
||||
|
@ -8,3 +9,5 @@ import Group from '~/group';
|
|||
|
||||
return new Group();
|
||||
})();
|
||||
|
||||
initGroupNameAndPath();
|
||||
|
|
|
@ -2,18 +2,19 @@ import Vue from 'vue';
|
|||
import BindInOut from '~/behaviors/bind_in_out';
|
||||
import initFilePickers from '~/file_pickers';
|
||||
import Group from '~/group';
|
||||
import { initGroupNameAndPath } from '~/groups/create_edit_form';
|
||||
import { parseBoolean } from '~/lib/utils/common_utils';
|
||||
import NewGroupCreationApp from './components/app.vue';
|
||||
import GroupPathValidator from './group_path_validator';
|
||||
import initToggleInviteMembers from './toggle_invite_members';
|
||||
|
||||
new GroupPathValidator(); // eslint-disable-line no-new
|
||||
new Group(); // eslint-disable-line no-new
|
||||
initGroupNameAndPath();
|
||||
|
||||
BindInOut.initAll();
|
||||
initFilePickers();
|
||||
|
||||
new Group(); // eslint-disable-line no-new
|
||||
|
||||
function initNewGroupCreation(el) {
|
||||
const { hasErrors, verificationRequired, verificationFormUrl, subscriptionsUrl } = el.dataset;
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ export default {
|
|||
<div class="title-container">
|
||||
<h1
|
||||
v-safe-html="issuable.titleHtml || issuable.title"
|
||||
class="title qa-title"
|
||||
class="title qa-title gl-font-size-h-display"
|
||||
dir="auto"
|
||||
data-testid="title"
|
||||
></h1>
|
||||
|
|
|
@ -3,8 +3,6 @@
|
|||
|
||||
.page-title {
|
||||
margin: $gl-padding 0;
|
||||
font-size: 1.75em;
|
||||
font-weight: $gl-font-weight-bold;
|
||||
color: $gl-text-color;
|
||||
}
|
||||
|
||||
|
|
|
@ -611,8 +611,6 @@ body {
|
|||
.page-title {
|
||||
margin: #{2 * $grid-size} 0;
|
||||
line-height: 1.3;
|
||||
font-size: 1.25em;
|
||||
font-weight: $gl-font-weight-bold;
|
||||
|
||||
&.with-button {
|
||||
line-height: 34px;
|
||||
|
|
|
@ -58,7 +58,6 @@
|
|||
.detail-page-description {
|
||||
.title {
|
||||
margin: 0 0 16px;
|
||||
font-size: 2em;
|
||||
color: $gl-text-color;
|
||||
padding: 0 0 0.3em;
|
||||
border-bottom: 1px solid $white-dark;
|
||||
|
|
|
@ -144,6 +144,15 @@ module GroupsHelper
|
|||
false
|
||||
end
|
||||
|
||||
def group_name_and_path_app_data(group)
|
||||
parent = group.parent
|
||||
|
||||
{
|
||||
base_path: URI.join(root_url, parent&.full_path || "").to_s,
|
||||
mattermost_enabled: Gitlab.config.mattermost.enabled.to_s
|
||||
}
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def group_title_link(group, hidable: false, show_avatar: false, for_dropdown: false)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- page_title _("Report abuse to admin")
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _("Report abuse to admin")
|
||||
%p
|
||||
= _("Please use this form to report to the admin users who create spam issues, comments or behave inappropriately.")
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
- page_title _('Abuse Reports')
|
||||
|
||||
%h1.page-title= _('Abuse Reports')
|
||||
%h1.page-title.gl-font-size-h-display= _('Abuse Reports')
|
||||
|
||||
.row-content-block.second-block
|
||||
= form_tag admin_abuse_reports_path, method: :get, class: 'filter-form' do
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
- breadcrumb_title @application.name
|
||||
- page_title _("Edit"), @application.name, _("Applications")
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _('Edit application')
|
||||
- @url = admin_application_path(@application)
|
||||
= render 'form', application: @application
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
- page_title s_('AdminArea|Instance OAuth applications')
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= s_('AdminArea|Instance OAuth applications')
|
||||
%p.light
|
||||
- docs_link_path = help_page_path('integration/oauth_provider')
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
- breadcrumb_title _("Add new application")
|
||||
- page_title _("Add new application")
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _("Add new application")
|
||||
- @url = admin_applications_path
|
||||
= render 'form', application: @application
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
- page_title @application.name, _("Applications")
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
Application: #{@application.name}
|
||||
|
||||
= render 'shared/doorkeeper/applications/show',
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
- page_title _("Background Jobs")
|
||||
|
||||
%h1.page-title= _('Background Jobs')
|
||||
%h1.page-title.gl-font-size-h-display= _('Background Jobs')
|
||||
%p.light
|
||||
- sidekiq_link_url = 'http://sidekiq.org/'
|
||||
- sidekiq_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: sidekiq_link_url }
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
- page_title _("Broadcast Messages")
|
||||
- targeted_broadcast_messages_enabled = Feature.enabled?(:role_targeted_broadcast_messages)
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _('Broadcast Messages')
|
||||
%p.light
|
||||
= _('Use banners and notifications to notify your users about scheduled maintenance, recent upgrades, and more.')
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- page_title _('Edit Deploy Key')
|
||||
%h1.page-title= _('Edit public deploy key')
|
||||
%h1.page-title.gl-font-size-h-display= _('Edit public deploy key')
|
||||
%hr
|
||||
|
||||
%div
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- page_title _('New Deploy Key')
|
||||
%h1.page-title= _('New public deploy key')
|
||||
%h1.page-title.gl-font-size-h-display= _('New public deploy key')
|
||||
%hr
|
||||
|
||||
%div
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
- breadcrumb_title _("Gitaly Servers")
|
||||
- page_title _("Gitaly Servers")
|
||||
|
||||
%h1.page-title= _("Gitaly Servers")
|
||||
%h1.page-title.gl-font-size-h-display= _("Gitaly Servers")
|
||||
%hr
|
||||
.gitaly_servers
|
||||
- if @gitaly_servers.any?
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
- page_title _("Edit"), @group.name, _("Groups")
|
||||
%h1.page-title= _('Edit group: %{group_name}') % { group_name: @group.name }
|
||||
%h1.page-title.gl-font-size-h-display= _('Edit group: %{group_name}') % { group_name: @group.name }
|
||||
%hr
|
||||
= render 'form', visibility_level: @group.visibility_level
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
- page_title _("New Group")
|
||||
%h1.page-title= _('New group')
|
||||
%h1.page-title.gl-font-size-h-display= _('New group')
|
||||
%hr
|
||||
= render 'form', visibility_level: default_group_visibility
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
- page_title @group.name, _("Groups")
|
||||
- current_user_is_group_owner = @group && @group.has_owner?(current_user)
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _('Group: %{group_name}') % { group_name: @group.full_name }
|
||||
|
||||
= link_to admin_group_edit_path(@group), class: "btn btn-default gl-button float-right", data: { qa_selector: 'edit_group_link' } do
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
- page_title _('Health Check')
|
||||
- no_errors = @errors.blank?
|
||||
|
||||
%h1.page-title= page_title
|
||||
%h1.page-title.gl-font-size-h-display= page_title
|
||||
.bs-callout.clearfix
|
||||
.float-left
|
||||
%p
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- page_title _('Request details')
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _("Request details")
|
||||
|
||||
%hr
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
- add_to_breadcrumbs @user.name, admin_user_identities_path(@user)
|
||||
- breadcrumb_title _('Edit Identity')
|
||||
- page_title _("Edit"), @identity.provider, _("Identities"), @user.name, _("Users")
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _('Edit identity for %{user_name}') % { user_name: @user.name }
|
||||
%hr
|
||||
|
||||
|
|
|
@ -2,6 +2,6 @@
|
|||
- add_to_breadcrumbs @user.name, admin_user_identities_path(@user)
|
||||
- breadcrumb_title _('New Identity')
|
||||
- page_title _('New Identity')
|
||||
%h1.page-title= _('New identity')
|
||||
%h1.page-title.gl-font-size-h-display= _('New identity')
|
||||
%hr
|
||||
= render 'form'
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
- add_to_breadcrumbs _("Labels"), admin_labels_path
|
||||
- breadcrumb_title _("Edit Label")
|
||||
- page_title _("Edit"), @label.name, _("Labels")
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _('Edit Label')
|
||||
%hr
|
||||
= render 'shared/labels/form', url: admin_label_path(@label), back_path: admin_labels_path
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
%div
|
||||
= link_to new_admin_label_path, class: "float-right btn gl-button btn-confirm" do
|
||||
= _('New label')
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _('Labels')
|
||||
%hr
|
||||
- if @labels.present?
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- page_title _("New Label")
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _('New Label')
|
||||
%hr
|
||||
= render 'shared/labels/form', url: admin_labels_path, back_path: admin_labels_path
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
- @content_class = "admin-projects"
|
||||
- current_user_is_group_owner = @group && @group.has_owner?(current_user)
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _('Project: %{name}') % { name: @project.full_name }
|
||||
= link_to edit_project_path(@project), class: "btn btn-default gl-button float-right" do
|
||||
= sprite_icon('pencil-square', css_class: 'gl-icon')
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- page_title _("Spam Logs")
|
||||
%h1.page-title= _('Spam Logs')
|
||||
%h1.page-title.gl-font-size-h-display= _('Spam Logs')
|
||||
%hr
|
||||
- if @spam_logs.present?
|
||||
.table-holder
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
- page_title _("Edit"), @topic.name, _("Topics")
|
||||
%h1.page-title= _('Edit topic: %{topic_name}') % { topic_name: @topic.name }
|
||||
%h1.page-title.gl-font-size-h-display= _('Edit topic: %{topic_name}') % { topic_name: @topic.name }
|
||||
%hr
|
||||
= render 'form', url: admin_topic_path(@topic)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
- page_title _("New topic")
|
||||
%h1.page-title= _('New topic')
|
||||
%h1.page-title.gl-font-size-h-display= _('New topic')
|
||||
%hr
|
||||
= render 'form', url: admin_topics_path(@topic)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.gl-display-flex.gl-flex-wrap.gl-justify-content-space-between.gl-align-items-center.gl-py-3.gl-mb-5.gl-border-b-solid.gl-border-gray-100.gl-border-b-1
|
||||
.gl-my-3
|
||||
%h1.page-title.gl-m-0
|
||||
%h1.page-title.gl-font-size-h-display.gl-m-0
|
||||
= @user.name
|
||||
- if @user.blocked_pending_approval?
|
||||
%span.gl-text-red-500
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
- page_title _("Edit"), @user.name, _("Users")
|
||||
%h1.page-title.gl-font-size-h-display.gl-mb-6
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _("Edit user: %{user_name}") % { user_name: @user.name }
|
||||
= render 'form'
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
- page_title _("New User")
|
||||
%h1.page-title.gl-font-size-h-display.gl-mb-6
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= s_('AdminUsers|New user')
|
||||
= render 'form'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.page-title-holder.d-flex.align-items-center
|
||||
%h1.page-title= _('Activity')
|
||||
%h1.page-title.gl-font-size-h-display= _('Activity')
|
||||
|
||||
.top-area
|
||||
= gl_tabs_nav({ class: 'gl-border-b-0', data: { testid: 'dashboard-activity-tabs' } }) do
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.page-title-holder.d-flex.align-items-center
|
||||
%h1.page-title= _('Groups')
|
||||
%h1.page-title.gl-font-size-h-display= _('Groups')
|
||||
|
||||
- if current_user.can_create_group?
|
||||
.page-title-controls
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
= render 'shared/project_limit'
|
||||
|
||||
.page-title-holder.d-flex.align-items-center
|
||||
%h1.page-title= _('Projects')
|
||||
%h1.page-title.gl-font-size-h-display= _('Projects')
|
||||
|
||||
- if current_user.can_create_project?
|
||||
.page-title-controls
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.page-title-holder.d-flex.align-items-center
|
||||
%h1.page-title= _('Snippets')
|
||||
%h1.page-title.gl-font-size-h-display= _('Snippets')
|
||||
|
||||
- if current_user && current_user.snippets.any? || @snippets.any?
|
||||
.page-title-controls
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
= render_dashboard_ultimate_trial(current_user)
|
||||
|
||||
.page-title-holder.d-flex.align-items-center
|
||||
%h1.page-title= _('Issues')
|
||||
%h1.page-title.gl-font-size-h-display= _('Issues')
|
||||
|
||||
- if current_user
|
||||
.page-title-controls
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
= render_dashboard_ultimate_trial(current_user)
|
||||
|
||||
.page-title-holder.d-flex.align-items-start.flex-column.flex-sm-row.align-items-sm-center
|
||||
%h1.page-title= _('Merge requests')
|
||||
%h1.page-title.gl-font-size-h-display= _('Merge requests')
|
||||
|
||||
- if current_user
|
||||
.page-title-controls.ml-0.mb-3.ml-sm-auto.mb-sm-0
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
- add_page_specific_style 'page_bundles/milestone'
|
||||
|
||||
.page-title-holder.d-flex.align-items-center
|
||||
%h1.page-title= _('Milestones')
|
||||
%h1.page-title.gl-font-size-h-display= _('Milestones')
|
||||
|
||||
- if current_user
|
||||
.page-title-controls
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
- add_page_specific_style 'page_bundles/todos'
|
||||
|
||||
.page-title-holder.d-flex.align-items-center
|
||||
%h1.page-title= _("To-Do List")
|
||||
%h1.page-title.gl-font-size-h-display= _("To-Do List")
|
||||
|
||||
- if current_user.todos.any?
|
||||
.top-area
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- page_title _("Edit"), @application.name, _("Applications")
|
||||
- @content_class = "limit-container-width" unless fluid_layout
|
||||
|
||||
%h1.page-title= _('Edit application')
|
||||
%h1.page-title.gl-font-size-h-display= _('Edit application')
|
||||
= render 'shared/doorkeeper/applications/form', url: doorkeeper_submit_path(@application)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
- page_title _("New Application")
|
||||
|
||||
%h1.page-title= _("New Application")
|
||||
%h1.page-title.gl-font-size-h-display= _("New Application")
|
||||
|
||||
%hr
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
- page_title @application.name, _("Applications")
|
||||
- @content_class = "limit-container-width" unless fluid_layout
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _("Application: %{name}") % { name: @application.name }
|
||||
|
||||
= render 'shared/doorkeeper/applications/show',
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
%h1.page-title= _("An error has occurred")
|
||||
%h1.page-title.gl-font-size-h-display= _("An error has occurred")
|
||||
%main{ :role => "main" }
|
||||
%pre= @pre_auth.error_response.body[:error_description]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
%h1.page-title= _("Redirecting")
|
||||
%h1.page-title.gl-font-size-h-display= _("Redirecting")
|
||||
|
||||
%div
|
||||
%a{ :href => redirect_uri } Click here to redirect to #{redirect_uri}
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
%h1.page-title= _("Authorization code:")
|
||||
%h1.page-title.gl-font-size-h-display= _("Authorization code:")
|
||||
%main{ :role => "main" }
|
||||
%code#authorization_code= params[:code]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
.page-title-holder.d-flex.align-items-center
|
||||
%h1.page-title= _('Projects')
|
||||
%h1.page-title.gl-font-size-h-display= _('Projects')
|
||||
|
||||
.top-area.scrolling-tabs-container.inner-page-scroll-tabs
|
||||
.fade-left= sprite_icon('chevron-lg-left', size: 12)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
- breadcrumb_title _("Edit")
|
||||
- page_title _("Edit"), @label.name, _("Labels")
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _('Edit Label')
|
||||
|
||||
= render 'shared/labels/form', url: group_label_path(@group, @label), back_path: @previous_labels_path
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
- breadcrumb_title _("New")
|
||||
- page_title _("New Label")
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _('New Label')
|
||||
|
||||
= render 'shared/labels/form', url: group_labels_path, back_path: @previous_labels_path
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
- render "header_title"
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _('Edit Milestone')
|
||||
%hr
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
- breadcrumb_title _("New")
|
||||
- page_title _("Milestones"), @milestone.name, _("Milestones")
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _("New Milestone")
|
||||
|
||||
%hr
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
- add_to_breadcrumbs "#{@runner.short_sha}", group_runner_path(@group, @runner)
|
||||
|
||||
|
||||
%h2.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= s_('Runners|Runner #%{runner_id}' % { runner_id: @runner.id })
|
||||
= render 'shared/runners/runner_type_badge', runner: @runner
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- page_title _("Edit"), @application.name, _("Group applications")
|
||||
- @content_class = "limit-container-width" unless fluid_layout
|
||||
|
||||
%h1.page-title= _('Edit group application')
|
||||
%h1.page-title.gl-font-size-h-display= _('Edit group application')
|
||||
= render 'shared/doorkeeper/applications/form', url: group_settings_application_path(@group, @application)
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
- page_title @application.name, _("Group applications")
|
||||
- @content_class = "limit-container-width" unless fluid_layout
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _("Group application: %{name}") % { name: @application.name }
|
||||
|
||||
= render 'shared/doorkeeper/applications/show',
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
- page_title _('Bitbucket import')
|
||||
- header_title _('Projects'), root_path
|
||||
|
||||
%h1.page-title.d-flex
|
||||
%h1.page-title.gl-font-size-h-display.d-flex
|
||||
.gl-display-flex.gl-align-items-center.gl-justify-content-center
|
||||
= sprite_icon('bitbucket', css_class: 'gl-mr-2')
|
||||
= _('Import projects from Bitbucket')
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
- header_title _("New project"), new_project_path
|
||||
- add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project')
|
||||
|
||||
%h1.page-title.d-flex
|
||||
%h1.page-title.gl-font-size-h-display.d-flex
|
||||
.gl-display-flex.gl-align-items-center.gl-justify-content-center
|
||||
= sprite_icon('bitbucket', css_class: 'gl-mr-2')
|
||||
= _('Import repositories from Bitbucket Server')
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
- page_title _('Bitbucket Server import')
|
||||
|
||||
%h1.page-title.d-flex
|
||||
%h1.page-title.gl-font-size-h-display.d-flex
|
||||
.gl-display-flex.gl-align-items-center.gl-justify-content-center
|
||||
= sprite_icon('bitbucket', css_class: 'gl-mr-2')
|
||||
= _('Import projects from Bitbucket Server')
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
- header_title _("New project"), new_project_path
|
||||
- add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project')
|
||||
|
||||
%h1.page-title.d-flex
|
||||
%h1.page-title.gl-font-size-h-display.d-flex
|
||||
.gl-display-flex.gl-align-items-center.gl-justify-content-center
|
||||
= sprite_icon('bug', css_class: 'gl-mr-2')
|
||||
= _('Import projects from FogBugz')
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
- header_title _("New project"), new_project_path
|
||||
- add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project')
|
||||
|
||||
%h1.page-title.d-flex
|
||||
%h1.page-title.gl-font-size-h-display.d-flex
|
||||
.gl-display-flex.gl-align-items-center.gl-justify-content-center
|
||||
= sprite_icon('bug', css_class: 'gl-mr-2')
|
||||
= _('Import projects from FogBugz')
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- page_title _("FogBugz import")
|
||||
%h1.page-title.d-flex
|
||||
%h1.page-title.gl-font-size-h-display.d-flex
|
||||
.gl-display-flex.gl-align-items-center.gl-justify-content-center
|
||||
= sprite_icon('bug', css_class: 'gl-mr-2')
|
||||
= _('Import projects from FogBugz')
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
- header_title _("New project"), new_project_path
|
||||
- add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project')
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= custom_icon('gitea_logo')
|
||||
= _('Import Projects from Gitea')
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- page_title _("Gitea Import")
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= custom_icon('gitea_logo')
|
||||
= _('Import Projects from Gitea')
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
- header_title _("New project"), new_project_path
|
||||
- add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project')
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= title
|
||||
|
||||
%p
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
- title = has_ci_cd_only_params? ? _('Connect repositories from GitHub') : _('GitHub import')
|
||||
- page_title title
|
||||
%h1.page-title.mb-0.gl-display-flex
|
||||
%h1.page-title.gl-font-size-h-display.mb-0.gl-display-flex
|
||||
.gl-display-flex.gl-align-items-center.gl-justify-content-center
|
||||
= sprite_icon('github', css_class: 'gl-mr-2')
|
||||
= _('Import repositories from GitHub')
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- page_title _("GitLab.com import")
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= sprite_icon('heart', css_class: 'gl-vertical-align-middle')
|
||||
= _('Import projects from GitLab.com')
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
- header_title _("New project"), new_project_path
|
||||
- add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project')
|
||||
|
||||
%h1.page-title.d-flex
|
||||
%h1.page-title.gl-font-size-h-display.d-flex
|
||||
.gl-display-flex.gl-align-items-center.gl-justify-content-center
|
||||
= sprite_icon('tanuki', css_class: 'gl-mr-2')
|
||||
= _('Import an exported GitLab project')
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
- add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project')
|
||||
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _('Manifest file import')
|
||||
|
||||
= render 'import/shared/errors'
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
- page_title _("Manifest import")
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _('Manifest file import')
|
||||
|
||||
= render 'import/githubish_status', provider: 'manifest'
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
- header_title _("New project"), new_project_path
|
||||
- add_to_breadcrumbs s_('ProjectsNew|Import project'), new_project_path(anchor: 'import_project')
|
||||
|
||||
%h1.page-title.d-flex
|
||||
%h1.page-title.gl-font-size-h-display.d-flex
|
||||
.gl-display-flex.gl-align-items-center.gl-justify-content-center
|
||||
= sprite_icon('issues', css_class: 'gl-mr-2')
|
||||
= _('Import tasks from Phabricator into issues')
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- page_title _("Invitation")
|
||||
%h1.page-title= _("Invitation")
|
||||
%h1.page-title.gl-font-size-h-display= _("Invitation")
|
||||
|
||||
- if current_user_matches_invite?
|
||||
- if member?
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _("Authorization required")
|
||||
%main{ :role => "main" }
|
||||
%p.h4
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
- page_title _('New Password')
|
||||
- breadcrumb_title _('New Password')
|
||||
|
||||
%h1.page-title= _('Set up new password')
|
||||
%h1.page-title.gl-font-size-h-display= _('Set up new password')
|
||||
%hr
|
||||
= form_for @user, url: profile_password_path, method: :post do |f|
|
||||
%p.slead
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
.modal-dialog
|
||||
.modal-content
|
||||
.modal-header
|
||||
%h1.page-title= _('Reduce this project’s visibility?')
|
||||
%h1.page-title.gl-font-size-h-display= _('Reduce this project’s visibility?')
|
||||
%button.close{ type: "button", "data-dismiss": "modal", "aria-label" => _('Close') }
|
||||
%span{ "aria-hidden": "true" }= sprite_icon("close")
|
||||
.modal-body
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
.modal-dialog.modal-lg
|
||||
.modal-content
|
||||
.modal-header
|
||||
%h1.page-title= _('Create New Directory')
|
||||
%h1.page-title.gl-font-size-h-display= _('Create New Directory')
|
||||
%button.close{ type: "button", "data-dismiss": "modal", "aria-label" => _('Close') }
|
||||
%span{ "aria-hidden": "true" } ×
|
||||
.modal-body
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
.modal-dialog
|
||||
.modal-content
|
||||
.modal-header
|
||||
%h1.page-title Delete #{@blob.name}
|
||||
%h1.page-title.gl-font-size-h-display Delete #{@blob.name}
|
||||
%button.close{ type: "button", "data-dismiss": "modal", "aria-label" => _('Close') }
|
||||
%span{ "aria-hidden": "true" } ×
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
.modal-dialog.modal-lg
|
||||
.modal-content
|
||||
.modal-header
|
||||
%h1.page-title= title
|
||||
%h1.page-title.gl-font-size-h-display= title
|
||||
%button.close{ type: "button", "data-dismiss": "modal", "aria-label" => _('Close') }
|
||||
%span{ "aria-hidden": "true" } ×
|
||||
.modal-body
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
= _('Someone edited the file the same time you did. Please check out %{link_start}the file %{icon}%{link_end} and make sure your changes will not unintentionally remove theirs.').html_safe % { link_start: blob_link_start, link_end: '</a>'.html_safe , icon: external_link_icon }
|
||||
|
||||
|
||||
%h1.page-title.blob-edit-page-title
|
||||
%h1.page-title.gl-font-size-h-display.blob-edit-page-title
|
||||
Edit file
|
||||
.file-editor
|
||||
= gl_tabs_nav({ class: 'js-edit-mode nav-links gl-border-0'}) do
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
- breadcrumb_title _("Repository")
|
||||
- page_title _("New File"), @path.presence, @ref
|
||||
|
||||
%h1.page-title.blob-new-page-title
|
||||
%h1.page-title.blob-new-page-title.gl-font-size-h-display
|
||||
= _('New file')
|
||||
.file-editor
|
||||
= form_tag(project_create_blob_path(@project, @id), method: :post, class: 'js-edit-blob-form js-new-blob-form js-quick-submit js-requires-input', data: blob_editor_paths(@project)) do
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
= render Pajamas::AlertComponent.new(variant: :danger) do |c|
|
||||
= c.body do
|
||||
= @error
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _('New Branch')
|
||||
%hr
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
- breadcrumb_title _("Compare Revisions")
|
||||
- page_title _("Compare")
|
||||
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _("Compare Git revisions")
|
||||
.sub-header-block
|
||||
- example_branch = capture do
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- page_title _('Edit Deploy Key')
|
||||
%h1.page-title= _('Edit Deploy Key')
|
||||
%h1.page-title.gl-font-size-h-display= _('Edit Deploy Key')
|
||||
%hr
|
||||
|
||||
%div
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
.top-area
|
||||
.row
|
||||
.col-sm-6
|
||||
%h1.page-title
|
||||
%h1.page-title.gl-font-size-h-display
|
||||
= _("Terminal for environment")
|
||||
= @environment.name
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue