diff options
Diffstat (limited to 'app/assets/javascripts/profile/preferences/components/profile_preferences.vue')
-rw-r--r-- | app/assets/javascripts/profile/preferences/components/profile_preferences.vue | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/app/assets/javascripts/profile/preferences/components/profile_preferences.vue b/app/assets/javascripts/profile/preferences/components/profile_preferences.vue new file mode 100644 index 00000000000..8b2006b7c5b --- /dev/null +++ b/app/assets/javascripts/profile/preferences/components/profile_preferences.vue @@ -0,0 +1,56 @@ +<script> +import { s__ } from '~/locale'; +import IntegrationView from './integration_view.vue'; + +const INTEGRATION_VIEW_CONFIGS = { + sourcegraph: { + title: s__('ProfilePreferences|Sourcegraph'), + label: s__('ProfilePreferences|Enable integrated code intelligence on code views'), + formName: 'sourcegraph_enabled', + }, + gitpod: { + title: s__('ProfilePreferences|Gitpod'), + label: s__('ProfilePreferences|Enable Gitpod integration'), + formName: 'gitpod_enabled', + }, +}; + +export default { + name: 'ProfilePreferences', + components: { + IntegrationView, + }, + inject: { + integrationViews: { + default: [], + }, + }, + integrationViewConfigs: INTEGRATION_VIEW_CONFIGS, +}; +</script> + +<template> + <div class="row gl-mt-3 js-preferences-form"> + <div v-if="integrationViews.length" class="col-sm-12"> + <hr data-testid="profile-preferences-integrations-rule" /> + </div> + <div v-if="integrationViews.length" class="col-lg-4 profile-settings-sidebar"> + <h4 class="gl-mt-0" data-testid="profile-preferences-integrations-heading"> + {{ s__('ProfilePreferences|Integrations') }} + </h4> + <p> + {{ s__('ProfilePreferences|Customize integrations with third party services.') }} + </p> + </div> + <div v-if="integrationViews.length" class="col-lg-8"> + <integration-view + v-for="view in integrationViews" + :key="view.name" + :help-link="view.help_link" + :message="view.message" + :message-url="view.message_url" + :config="$options.integrationViewConfigs[view.name]" + /> + </div> + </div> +</template> |