Backup-bdg's picture
Upload 565 files
b59aa07 verified
raw
history blame
1.75 kB
import { useTranslation } from "react-i18next";
import { I18nKey } from "#/i18n/declaration";
import { SettingsInput } from "../settings-input";
import { GitLabTokenHelpAnchor } from "./gitlab-token-help-anchor";
import { KeyStatusIcon } from "../key-status-icon";
interface GitLabTokenInputProps {
onChange: (value: string) => void;
onGitLabHostChange: (value: string) => void;
isGitLabTokenSet: boolean;
name: string;
gitlabHostSet: string | null | undefined;
}
export function GitLabTokenInput({
onChange,
onGitLabHostChange,
isGitLabTokenSet,
name,
gitlabHostSet,
}: GitLabTokenInputProps) {
const { t } = useTranslation();
return (
<div className="flex flex-col gap-6">
<SettingsInput
testId={name}
name={name}
onChange={onChange}
label={t(I18nKey.GITLAB$TOKEN_LABEL)}
type="password"
className="w-full max-w-[680px]"
placeholder={isGitLabTokenSet ? "<hidden>" : ""}
startContent={
isGitLabTokenSet && (
<KeyStatusIcon
testId="gl-set-token-indicator"
isSet={isGitLabTokenSet}
/>
)
}
/>
<SettingsInput
onChange={onGitLabHostChange || (() => {})}
name="gitlab-host-input"
testId="gitlab-host-input"
label={t(I18nKey.GITLAB$HOST_LABEL)}
type="text"
className="w-full max-w-[680px]"
placeholder="gitlab.com"
defaultValue={gitlabHostSet || undefined}
startContent={
gitlabHostSet &&
gitlabHostSet.trim() !== "" && (
<KeyStatusIcon testId="gl-set-host-indicator" isSet />
)
}
/>
<GitLabTokenHelpAnchor />
</div>
);
}