Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit627286f

Browse files
committed
Add license badges to create org page
I am not sure if there is maybe a better place for this, but maybe thisis good enough.
1 parent8c15ce7 commit627286f

File tree

3 files changed

+47
-1
lines changed

3 files changed

+47
-1
lines changed

‎site/src/pages/ManagementSettingsPage/CreateOrganizationPage.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@ import { useMutation, useQueryClient } from "react-query";
33
import{useNavigate}from"react-router-dom";
44
import{createOrganization}from"api/queries/organizations";
55
import{displaySuccess}from"components/GlobalSnackbar/utils";
6+
import{useFeatureVisibility}from"modules/dashboard/useFeatureVisibility";
67
import{CreateOrganizationPageView}from"./CreateOrganizationPageView";
78

89
constCreateOrganizationPage:FC=()=>{
910
constnavigate=useNavigate();
11+
constfeats=useFeatureVisibility();
1012

1113
constqueryClient=useQueryClient();
1214
constcreateOrganizationMutation=useMutation(
@@ -18,6 +20,7 @@ const CreateOrganizationPage: FC = () => {
1820
return(
1921
<CreateOrganizationPageView
2022
error={error}
23+
isEntitled={feats.multiple_organizations}
2124
onSubmit={async(values)=>{
2225
awaitcreateOrganizationMutation.mutateAsync(values);
2326
displaySuccess("Organization created.");

‎site/src/pages/ManagementSettingsPage/CreateOrganizationPageView.stories.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,22 @@ import { CreateOrganizationPageView } from "./CreateOrganizationPageView";
55
constmeta:Meta<typeofCreateOrganizationPageView>={
66
title:"pages/CreateOrganizationPageView",
77
component:CreateOrganizationPageView,
8+
args:{
9+
isEntitled:true,
10+
},
811
};
912

1013
exportdefaultmeta;
1114
typeStory=StoryObj<typeofCreateOrganizationPageView>;
1215

1316
exportconstExample:Story={};
1417

18+
exportconstNotEntitled:Story={
19+
args:{
20+
isEntitled:false,
21+
},
22+
};
23+
1524
exportconstError:Story={
1625
args:{error:"Oh no!"},
1726
};

‎site/src/pages/ManagementSettingsPage/CreateOrganizationPageView.tsx

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,27 @@ import * as Yup from "yup";
55
import{isApiValidationError}from"api/errors";
66
importtype{CreateOrganizationRequest}from"api/typesGenerated";
77
import{ErrorAlert}from"components/Alert/ErrorAlert";
8+
import{
9+
Badges,
10+
DisabledBadge,
11+
PremiumBadge,
12+
EntitledBadge,
13+
}from"components/Badges/Badges";
814
import{
915
FormFields,
1016
FormSection,
1117
HorizontalForm,
1218
FormFooter,
1319
}from"components/Form/Form";
1420
import{IconField}from"components/IconField/IconField";
21+
import{PopoverPaywall}from"components/Paywall/PopoverPaywall";
22+
import{
23+
Popover,
24+
PopoverContent,
25+
PopoverTrigger,
26+
}from"components/Popover/Popover";
1527
import{SettingsHeader}from"components/SettingsHeader/SettingsHeader";
28+
import{docs}from"utils/docs";
1629
import{
1730
getFormHelpers,
1831
nameValidator,
@@ -35,11 +48,12 @@ const validationSchema = Yup.object({
3548
interfaceCreateOrganizationPageViewProps{
3649
error:unknown;
3750
onSubmit:(values:CreateOrganizationRequest)=>Promise<void>;
51+
isEntitled:boolean;
3852
}
3953

4054
exportconstCreateOrganizationPageView:FC<
4155
CreateOrganizationPageViewProps
42-
>=({ error, onSubmit})=>{
56+
>=({ error, onSubmit, isEntitled})=>{
4357
constform=useFormik<CreateOrganizationRequest>({
4458
initialValues:{
4559
name:"",
@@ -59,6 +73,26 @@ export const CreateOrganizationPageView: FC<
5973
description="Organize your deployment into multiple platform teams."
6074
/>
6175

76+
<Badges>
77+
{isEntitled ?<EntitledBadge/> :<DisabledBadge/>}
78+
<Popovermode="hover">
79+
<PopoverTrigger>
80+
<span>
81+
<PremiumBadge/>
82+
</span>
83+
</PopoverTrigger>
84+
<PopoverContentcss={{transform:"translateY(-28px)"}}>
85+
<PopoverPaywall
86+
message="Organizations"
87+
description="Organizations allow you to run a Coder deployment with multiple platform teams, all with unique use cases, templates, and even underlying infrastructure."
88+
// TODO: No documentation link yet.
89+
documentationLink={docs("/admin")}
90+
licenseType="premium"
91+
/>
92+
</PopoverContent>
93+
</Popover>
94+
</Badges>
95+
6296
{Boolean(error)&&!isApiValidationError(error)&&(
6397
<divcss={{marginBottom:32}}>
6498
<ErrorAlerterror={error}/>

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp