Skip to content

Commit d8ee631

Browse files
JanKoehnleinroboquat
authored andcommitted
[dashboard] show error message on new project for Bitbucket-only users
Fixes #6345
1 parent 87e44ed commit d8ee631

File tree

1 file changed

+28
-6
lines changed

1 file changed

+28
-6
lines changed

components/dashboard/src/projects/NewProject.tsx

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ export default function NewProject() {
4545
setProvider("gitlab.com");
4646
} else if (user.identities.find(i => i.authProviderId === "Public-GitHub")) {
4747
setProvider("github.com");
48+
} else if (user.identities.find(i => i.authProviderId === "Public-Bitbucket")) {
49+
setProvider("bitbucket.org");
4850
}
4951
}
5052
}, [user]);
@@ -85,7 +87,7 @@ export default function NewProject() {
8587
}, [selectedAccount]);
8688

8789
useEffect(() => {
88-
if (!provider) {
90+
if (!provider || isBitbucket()) {
8991
return;
9092
}
9193
(async () => {
@@ -95,11 +97,12 @@ export default function NewProject() {
9597
}, [provider]);
9698

9799
const isGitHub = () => provider === "github.com";
100+
const isBitbucket = () => provider == "bitbucket.org";
98101

99102
const updateReposInAccounts = async (installationId?: string) => {
100103
setLoaded(false);
101104
setReposInAccounts([]);
102-
if (!provider) {
105+
if (!provider || isBitbucket()) {
103106
return [];
104107
}
105108
try {
@@ -156,7 +159,7 @@ export default function NewProject() {
156159
}
157160

158161
const createProject = async (teamOrUser: Team | User, selectedRepo: string) => {
159-
if (!provider) {
162+
if (!provider || isBitbucket()) {
160163
return;
161164
}
162165
const repo = reposInAccounts.find(r => r.account === selectedAccount && (r.path ? r.path === selectedRepo : r.name === selectedRepo));
@@ -335,11 +338,11 @@ export default function NewProject() {
335338
setProvider(host);
336339
}
337340

338-
if (!loaded) {
341+
if (!loaded && !isBitbucket()) {
339342
return renderLoadingState();
340343
}
341344

342-
if (showGitProviders) {
345+
if (showGitProviders || isBitbucket()) {
343346
return (<GitProviders onHostSelected={onGitProviderSeleted} />);
344347
}
345348

@@ -387,16 +390,35 @@ export default function NewProject() {
387390
</>)
388391
};
389392

393+
const renderBitbucketWarning = () => {
394+
return (
395+
<div className="mt-16 flex space-x-2 py-6 px-6 w-96 justify-betweeen bg-gitpod-kumquat-light rounded-xl">
396+
<div className="pr-3 self-center w-6">
397+
<img src={exclamation} />
398+
</div>
399+
<div className="flex-1 flex flex-col">
400+
<p className="text-gitpod-red text-sm">Bitbucket support for projects is not available yet. Follow <a className="gp-link" href="https://github.com/gitpod-io/gitpod/issues/5980">#5980</a> for updates.</p>
401+
</div>
402+
</div>);
403+
}
404+
405+
const renderSelectRepoHeading = () => {
406+
return <p className="text-gray-500 text-center text-base">Select a Git repository on <strong>{provider}</strong>. (<a className="gp-link cursor-pointer" onClick={() => setShowGitProviders(true)}>change</a>)</p>
407+
}
408+
390409
return (<div className="flex flex-col w-96 mt-24 mx-auto items-center">
391410
<h1>New Project</h1>
392-
<p className="text-gray-500 text-center text-base">Select a Git repository on <strong>{provider}</strong>. (<a className="gp-link cursor-pointer" onClick={() => setShowGitProviders(true)}>change</a>)</p>
411+
412+
{isBitbucket() || renderSelectRepoHeading()}
393413

394414
{!selectedRepo && renderSelectRepository()}
395415

396416
{selectedRepo && !selectedTeamOrUser && renderSelectTeam()}
397417

398418
{selectedRepo && selectedTeamOrUser && (<div></div>)}
399419

420+
{isBitbucket() && renderBitbucketWarning()}
421+
400422
</div>);
401423

402424
}

0 commit comments

Comments
 (0)