);
};
+ let errorMessage = '';
+
+ if (hasTooManyConfig) {
+ errorMessage = translateWithParameters(
+ 'onboarding.create_project.too_many_alm_instances_X',
+ translate('alm', alm)
+ );
+ } else if (!hasConfig) {
+ errorMessage = canAdmin
+ ? translate('onboarding.create_project.alm_not_configured.admin')
+ : translate('onboarding.create_project.alm_not_configured');
+ }
+
return (
<div className="display-flex-column">
<button
</span>
)}
- {!loadingBindings && disabled && (
+ {!loadingBindings && errorMessage && (
<p className="text-muted small spacer-top" style={{ lineHeight: 1.5 }}>
- {!hasConfig && translate('onboarding.create_project.alm_not_configured')}
- {hasTooManyConfig &&
- translateWithParameters(
- 'onboarding.create_project.too_many_alm_instances_X',
- translate('alm', alm)
- )}
+ {errorMessage}
</p>
)}
</button>
</div>
</header>
- <div className="create-project-modes huge-spacer-top display-flex-justify-center">
- <button
- className="button button-huge big-spacer-right display-flex-column create-project-mode-type-manual"
- onClick={() => props.onSelectMode(CreateProjectModes.Manual)}
- type="button">
- <ChevronsIcon size={DEFAULT_ICON_SIZE} />
- <div className="medium big-spacer-top">
- {translate('onboarding.create_project.select_method.manual')}
- </div>
- </button>
-
+ <div className="create-project-modes huge-spacer-top display-flex-end display-flex-justify-center">
<div className="display-flex-column">
+ {almTotalCount === 0 && canAdmin && (
+ <Alert variant="info" className="big-spacer-bottom">
+ {translate('onboarding.create_project.select_method.no_alm_yet.admin')}
+ </Alert>
+ )}
<div className="display-flex-center display-flex-space-between">
{renderAlmOption(props, AlmKeys.Azure, CreateProjectModes.AzureDevOps)}
{renderAlmOption(props, AlmKeys.BitbucketServer, CreateProjectModes.BitbucketServer)}
{renderAlmOption(props, AlmKeys.GitHub, CreateProjectModes.GitHub)}
{renderAlmOption(props, AlmKeys.GitLab, CreateProjectModes.GitLab, true)}
</div>
- {almTotalCount === 0 && canAdmin && (
- <Alert variant="info" className="big-spacer-top">
- {translate('onboarding.create_project.select_method.no_alm_yet.admin')}
- </Alert>
- )}
</div>
+ <button
+ className="button button-huge big-spacer-left display-flex-column create-project-mode-type-manual"
+ onClick={() => props.onSelectMode(CreateProjectModes.Manual)}
+ type="button">
+ <ChevronsIcon size={DEFAULT_ICON_SIZE} />
+ <div className="medium big-spacer-top">
+ {translate('onboarding.create_project.select_method.manual')}
+ </div>
+ </button>
</div>
</>
);
</div>
</header>
<div
- className="create-project-modes huge-spacer-top display-flex-justify-center"
+ className="create-project-modes huge-spacer-top display-flex-end display-flex-justify-center"
>
- <button
- className="button button-huge big-spacer-right display-flex-column create-project-mode-type-manual"
- onClick={[Function]}
- type="button"
- >
- <ChevronsIcon
- size={80}
- />
- <div
- className="medium big-spacer-top"
- >
- onboarding.create_project.select_method.manual
- </div>
- </button>
<div
className="display-flex-column"
>
</div>
</div>
</div>
+ <button
+ className="button button-huge big-spacer-left display-flex-column create-project-mode-type-manual"
+ onClick={[Function]}
+ type="button"
+ >
+ <ChevronsIcon
+ size={80}
+ />
+ <div
+ className="medium big-spacer-top"
+ >
+ onboarding.create_project.select_method.manual
+ </div>
+ </button>
</div>
</Fragment>
`;
</div>
</header>
<div
- className="create-project-modes huge-spacer-top display-flex-justify-center"
+ className="create-project-modes huge-spacer-top display-flex-end display-flex-justify-center"
>
- <button
- className="button button-huge big-spacer-right display-flex-column create-project-mode-type-manual"
- onClick={[Function]}
- type="button"
- >
- <ChevronsIcon
- size={80}
- />
- <div
- className="medium big-spacer-top"
- >
- onboarding.create_project.select_method.manual
- </div>
- </button>
<div
className="display-flex-column"
>
>
onboarding.create_project.select_method.bitbucket
</div>
+ <p
+ className="text-muted small spacer-top"
+ style={
+ Object {
+ "lineHeight": 1.5,
+ }
+ }
+ >
+ onboarding.create_project.alm_not_configured.admin
+ </p>
</button>
</div>
<div
</div>
</div>
</div>
+ <button
+ className="button button-huge big-spacer-left display-flex-column create-project-mode-type-manual"
+ onClick={[Function]}
+ type="button"
+ >
+ <ChevronsIcon
+ size={80}
+ />
+ <div
+ className="medium big-spacer-top"
+ >
+ onboarding.create_project.select_method.manual
+ </div>
+ </button>
</div>
</Fragment>
`;
</div>
</header>
<div
- className="create-project-modes huge-spacer-top display-flex-justify-center"
+ className="create-project-modes huge-spacer-top display-flex-end display-flex-justify-center"
>
- <button
- className="button button-huge big-spacer-right display-flex-column create-project-mode-type-manual"
- onClick={[Function]}
- type="button"
- >
- <ChevronsIcon
- size={80}
- />
- <div
- className="medium big-spacer-top"
- >
- onboarding.create_project.select_method.manual
- </div>
- </button>
<div
className="display-flex-column"
>
>
onboarding.create_project.select_method.bitbucket
</div>
+ <p
+ className="text-muted small spacer-top"
+ style={
+ Object {
+ "lineHeight": 1.5,
+ }
+ }
+ >
+ onboarding.create_project.alm_not_configured.admin
+ </p>
</button>
</div>
<div
</div>
</div>
</div>
+ <button
+ className="button button-huge big-spacer-left display-flex-column create-project-mode-type-manual"
+ onClick={[Function]}
+ type="button"
+ >
+ <ChevronsIcon
+ size={80}
+ />
+ <div
+ className="medium big-spacer-top"
+ >
+ onboarding.create_project.select_method.manual
+ </div>
+ </button>
</div>
</Fragment>
`;
</div>
</header>
<div
- className="create-project-modes huge-spacer-top display-flex-justify-center"
+ className="create-project-modes huge-spacer-top display-flex-end display-flex-justify-center"
>
- <button
- className="button button-huge big-spacer-right display-flex-column create-project-mode-type-manual"
- onClick={[Function]}
- type="button"
- >
- <ChevronsIcon
- size={80}
- />
- <div
- className="medium big-spacer-top"
- >
- onboarding.create_project.select_method.manual
- </div>
- </button>
<div
className="display-flex-column"
>
</div>
</div>
</div>
+ <button
+ className="button button-huge big-spacer-left display-flex-column create-project-mode-type-manual"
+ onClick={[Function]}
+ type="button"
+ >
+ <ChevronsIcon
+ size={80}
+ />
+ <div
+ className="medium big-spacer-top"
+ >
+ onboarding.create_project.select_method.manual
+ </div>
+ </button>
</div>
</Fragment>
`;
</div>
</header>
<div
- className="create-project-modes huge-spacer-top display-flex-justify-center"
+ className="create-project-modes huge-spacer-top display-flex-end display-flex-justify-center"
>
- <button
- className="button button-huge big-spacer-right display-flex-column create-project-mode-type-manual"
- onClick={[Function]}
- type="button"
- >
- <ChevronsIcon
- size={80}
- />
- <div
- className="medium big-spacer-top"
- >
- onboarding.create_project.select_method.manual
- </div>
- </button>
<div
className="display-flex-column"
>
</div>
</div>
</div>
+ <button
+ className="button button-huge big-spacer-left display-flex-column create-project-mode-type-manual"
+ onClick={[Function]}
+ type="button"
+ >
+ <ChevronsIcon
+ size={80}
+ />
+ <div
+ className="medium big-spacer-top"
+ >
+ onboarding.create_project.select_method.manual
+ </div>
+ </button>
</div>
</Fragment>
`;
</div>
</header>
<div
- className="create-project-modes huge-spacer-top display-flex-justify-center"
+ className="create-project-modes huge-spacer-top display-flex-end display-flex-justify-center"
>
- <button
- className="button button-huge big-spacer-right display-flex-column create-project-mode-type-manual"
- onClick={[Function]}
- type="button"
- >
- <ChevronsIcon
- size={80}
- />
- <div
- className="medium big-spacer-top"
- >
- onboarding.create_project.select_method.manual
- </div>
- </button>
<div
className="display-flex-column"
>
+ <Alert
+ className="big-spacer-bottom"
+ variant="info"
+ >
+ onboarding.create_project.select_method.no_alm_yet.admin
+ </Alert>
<div
className="display-flex-center display-flex-space-between"
>
>
onboarding.create_project.select_method.azure
</div>
+ <p
+ className="text-muted small spacer-top"
+ style={
+ Object {
+ "lineHeight": 1.5,
+ }
+ }
+ >
+ onboarding.create_project.alm_not_configured.admin
+ </p>
</button>
</div>
<div
>
onboarding.create_project.select_method.bitbucket
</div>
+ <p
+ className="text-muted small spacer-top"
+ style={
+ Object {
+ "lineHeight": 1.5,
+ }
+ }
+ >
+ onboarding.create_project.alm_not_configured.admin
+ </p>
</button>
</div>
<div
>
onboarding.create_project.select_method.github
</div>
+ <p
+ className="text-muted small spacer-top"
+ style={
+ Object {
+ "lineHeight": 1.5,
+ }
+ }
+ >
+ onboarding.create_project.alm_not_configured.admin
+ </p>
</button>
</div>
<div
>
onboarding.create_project.select_method.gitlab
</div>
+ <p
+ className="text-muted small spacer-top"
+ style={
+ Object {
+ "lineHeight": 1.5,
+ }
+ }
+ >
+ onboarding.create_project.alm_not_configured.admin
+ </p>
</button>
</div>
</div>
- <Alert
- className="big-spacer-top"
- variant="info"
- >
- onboarding.create_project.select_method.no_alm_yet.admin
- </Alert>
</div>
+ <button
+ className="button button-huge big-spacer-left display-flex-column create-project-mode-type-manual"
+ onClick={[Function]}
+ type="button"
+ >
+ <ChevronsIcon
+ size={80}
+ />
+ <div
+ className="medium big-spacer-top"
+ >
+ onboarding.create_project.select_method.manual
+ </div>
+ </button>
</div>
</Fragment>
`;