Skip to content

Commit 9f4573a

Browse files
authored
enterprise license page update (#3443)
1 parent 24af63d commit 9f4573a

File tree

3 files changed

+98
-166
lines changed

3 files changed

+98
-166
lines changed

web-app/src/screens/Console/License/License.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ const License = () => {
127127
return (
128128
<Fragment>
129129
<PageHeaderWrapper
130-
label="MinIO License and Support plans"
130+
label="MinIO License and Support Plan"
131131
actions={
132132
<Fragment>
133133
{!isRegistered && (

web-app/src/screens/Console/License/LicensePlans.tsx

Lines changed: 90 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,14 @@ interface IRegisterStatus {
3232

3333
const LicensesInformation = styled.div(({ theme }) => ({
3434
display: "grid",
35-
gridTemplateColumns: "repeat(4, minmax(350px, 400px));",
36-
justifyContent: "flex-start",
35+
gridTemplateColumns: "repeat(1, minmax(350px, 400px));",
36+
alignItems: "center",
37+
justifyContent: "center",
3738
marginTop: 30,
3839
marginLeft: 30,
3940
"& > div": {
4041
borderBottom: `${get(theme, "borderColor", "#EAEAEA")} 1px solid`,
41-
padding: "25px 40px",
42+
padding: "13px 20px",
4243
justifyContent: "center",
4344
"&.openSource": {
4445
borderRight: `#002562 2px solid`,
@@ -152,76 +153,94 @@ const LicensePlans = ({ licenseInfo }: IRegisterStatus) => {
152153
};
153154

154155
return (
155-
<Fragment>
156-
<LicensesInformation>
157-
{[null, ...LICENSE_PLANS_INFORMATION].map((element, index) => {
158-
return (
159-
<Box className={`${index === 1 ? "openSource first" : ""}`}>
160-
{element !== null && (
161-
<Box>
162-
<Box className={"planName"}>{element.planName}</Box>
163-
<Box
164-
className={`planIcon ${
165-
element.planType === "commercial" ? "commercial" : ""
166-
}`}
167-
>
168-
{element?.planIcon}
169-
</Box>
170-
<Box className={"planDescription"}>
171-
{element?.planDescription}
172-
</Box>
156+
<LicensesInformation>
157+
{[null, ...LICENSE_PLANS_INFORMATION].map((element, index) => {
158+
return (
159+
<Box
160+
key={`${element?.planType}-${index}`}
161+
className={`${index === 1 ? "openSource first" : ""}`}
162+
>
163+
{element !== null && (
164+
<Box>
165+
<Box className={"planName"}>{element.planName}</Box>
166+
<Box
167+
className={`planIcon ${
168+
element.planType === "commercial" ? "commercial" : ""
169+
}`}
170+
>
171+
{element?.planIcon}
172+
</Box>
173+
<Box className={"planDescription"}>
174+
{element?.planDescription}
173175
</Box>
174-
)}
175-
</Box>
176-
);
177-
})}
178-
{FEATURE_ITEMS.map((feature, index) => {
179-
const lastItem =
180-
index === FEATURE_ITEMS.length - 1 ? "noBorderBottom" : "";
181-
182-
return (
183-
<Fragment>
184-
<Box className={`feature-label ${lastItem}`}>
185-
{feature.featureLabel}
186-
</Box>
187-
<Box className={`feature-information openSource ${lastItem}`}>
188-
{renderFeatureInformation(
189-
feature.featurePlans.openSource || null,
190-
)}
191-
</Box>
192-
<Box className={`feature-information ${lastItem}`}>
193-
{renderFeatureInformation(feature.featurePlans.eosLite || null)}
194-
</Box>
195-
<Box className={`feature-information ${lastItem}`}>
196-
{renderFeatureInformation(feature.featurePlans.eosPlus || null)}
197176
</Box>
198-
</Fragment>
199-
);
200-
})}
201-
{[null, ...LICENSE_PLANS_INFORMATION].map((element, index) => {
202-
return (
203-
<Box
204-
className={`${
205-
index === 1 ? "openSource last" : ""
206-
} noBorderBottom`}
207-
sx={{
208-
display: "flex",
209-
justifyContent: "center",
210-
}}
211-
>
212-
{element &&
213-
getButton(
214-
`https://min.io/signup`,
215-
element.planType === "commercial"
216-
? "Subscribe"
217-
: "Join Slack",
218-
element.planType === "commercial" ? "callAction" : "regular",
219-
)}
220-
</Box>
221-
);
222-
})}
223-
</LicensesInformation>
224-
</Fragment>
177+
)}
178+
</Box>
179+
);
180+
})}
181+
{FEATURE_ITEMS.map((feature, index) => {
182+
return (
183+
<Box
184+
key={`${feature.featureLabel}-${index}`}
185+
className={`feature-information`}
186+
sx={{
187+
display: "flex",
188+
borderLeft: `#002562 2px solid`,
189+
borderRight: `#002562 2px solid`,
190+
flexDirection: "column",
191+
gap: "10px",
192+
alignItems: "center",
193+
}}
194+
>
195+
<Box className={`feature-label `}>{feature.featureLabel}</Box>
196+
{renderFeatureInformation(feature.featurePlans.eosPlus || null)}
197+
</Box>
198+
);
199+
})}
200+
{[...LICENSE_PLANS_INFORMATION].map((element) => {
201+
return element && currentPlan === "community" ? (
202+
<div
203+
key="plan-subscribe-btn"
204+
style={{
205+
borderLeft: `#002562 2px solid`,
206+
display: "flex",
207+
alignItems: "center",
208+
justifyContent: "center",
209+
borderRight: `#002562 2px solid`,
210+
borderBottom: `#002562 2px solid`,
211+
borderBottomLeftRadius: "10px",
212+
borderBottomRightRadius: "10px",
213+
}}
214+
>
215+
{getButton(
216+
`https://min.io/signup`,
217+
element.planType === "commercial" ? "Subscribe" : "Join Slack",
218+
element.planType === "commercial" ? "callAction" : "regular",
219+
)}
220+
</div>
221+
) : (
222+
<div
223+
key="plan-subscribe-btn-1"
224+
style={{
225+
borderLeft: `#002562 2px solid`,
226+
display: "flex",
227+
alignItems: "center",
228+
justifyContent: "center",
229+
borderRight: `#002562 2px solid`,
230+
borderBottom: `#002562 2px solid`,
231+
borderBottomLeftRadius: "10px",
232+
borderBottomRightRadius: "10px",
233+
}}
234+
>
235+
{getButton(
236+
`https://subnet.min.io/`,
237+
"Log in to SUBNET",
238+
"callAction",
239+
)}
240+
</div>
241+
);
242+
})}
243+
</LicensesInformation>
225244
);
226245
};
227246

web-app/src/screens/Console/License/utils.tsx

Lines changed: 7 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -41,28 +41,16 @@ interface PlansFeatures {
4141

4242
export const FEATURE_ITEMS: PlansFeatures[] = [
4343
{
44-
featureLabel: "License",
44+
featureLabel: "",
4545
featurePlans: {
46-
openSource: {
47-
content: "Requires AGPLv3 License Compliance",
48-
},
49-
eosLite: {
50-
content: "Commercial License",
51-
},
5246
eosPlus: {
5347
content: "Commercial License",
5448
},
5549
},
5650
},
5751
{
58-
featureLabel: "Release",
52+
featureLabel: "",
5953
featurePlans: {
60-
openSource: {
61-
content: "Upstream Community Release",
62-
},
63-
eosLite: {
64-
content: "Enterprise Stable Release",
65-
},
6654
eosPlus: {
6755
content: "Enterprise Stable Release",
6856
},
@@ -71,13 +59,6 @@ export const FEATURE_ITEMS: PlansFeatures[] = [
7159
{
7260
featureLabel: "Additional Features",
7361
featurePlans: {
74-
openSource: {
75-
content: "None",
76-
},
77-
eosLite: {
78-
content:
79-
"Global Console, Observability, Cache, Data Firewall, Key Management Server Catalog",
80-
},
8162
eosPlus: {
8263
content:
8364
"Global Console, Observability, Cache, Data Firewall, Key Management Server Catalog",
@@ -87,12 +68,6 @@ export const FEATURE_ITEMS: PlansFeatures[] = [
8768
{
8869
featureLabel: "Long Term Release Support",
8970
featurePlans: {
90-
openSource: {
91-
content: "None",
92-
},
93-
eosLite: {
94-
content: "1 year LTS",
95-
},
9671
eosPlus: {
9772
content: "5 years LTS",
9873
},
@@ -101,26 +76,14 @@ export const FEATURE_ITEMS: PlansFeatures[] = [
10176
{
10277
featureLabel: "Support SLA",
10378
featurePlans: {
104-
openSource: {
105-
content: "No SLA",
106-
},
107-
eosLite: {
108-
content: "Next Business Day SLA",
109-
},
11079
eosPlus: {
111-
content: "Less than 4 Hour SLA",
80+
content: "Less than 4 Hours",
11281
},
11382
},
11483
},
11584
{
11685
featureLabel: "Panic button",
11786
featurePlans: {
118-
openSource: {
119-
content: "None",
120-
},
121-
eosLite: {
122-
content: "1 Panic Button Per Year",
123-
},
12487
eosPlus: {
12588
content: "Unlimited Panic Buttons Per Year",
12689
},
@@ -130,13 +93,6 @@ export const FEATURE_ITEMS: PlansFeatures[] = [
13093
featureLabel:
13194
"Call Home Diagnostics, Health Check, Performance Benchmark, Security and Critical Vulnerabilities Notifications",
13295
featurePlans: {
133-
openSource: {
134-
content: "",
135-
},
136-
eosLite: {
137-
content: "",
138-
isCheck: true,
139-
},
14096
eosPlus: {
14197
content: "",
14298
isCheck: true,
@@ -146,12 +102,6 @@ export const FEATURE_ITEMS: PlansFeatures[] = [
146102
{
147103
featureLabel: "Indemnification",
148104
featurePlans: {
149-
openSource: {
150-
content: "",
151-
},
152-
eosLite: {
153-
content: "",
154-
},
155105
eosPlus: {
156106
content: "",
157107
isCheck: true,
@@ -161,12 +111,6 @@ export const FEATURE_ITEMS: PlansFeatures[] = [
161111
{
162112
featureLabel: "Annual Review of Architecture, Performance and Security",
163113
featurePlans: {
164-
openSource: {
165-
content: "",
166-
},
167-
eosLite: {
168-
content: "",
169-
},
170114
eosPlus: {
171115
content: "",
172116
isCheck: true,
@@ -176,50 +120,19 @@ export const FEATURE_ITEMS: PlansFeatures[] = [
176120
];
177121

178122
export const LICENSE_PLANS_INFORMATION: LicensePlanOption[] = [
179-
{
180-
planId: "openSource",
181-
planName: "Open Source",
182-
planType: "open-source",
183-
planIcon: (
184-
<ApplicationLogo applicationName={"console"} subVariant={"AGPL"} />
185-
),
186-
planDescription: (
187-
<span>
188-
Designed for developers who are building open source applications in
189-
compliance with the GNU AGPL v3 license which requires developers to
190-
distribute their code under the same AGPL v3 license when they
191-
distribute, host or modify MinIO.
192-
</span>
193-
),
194-
},
195-
{
196-
planId: "eosLite",
197-
planName: "Enterprise Lite",
198-
planType: "commercial",
199-
planIcon: (
200-
<ApplicationLogo applicationName={"minio"} subVariant={"enterpriseos"} />
201-
),
202-
planDescription: (
203-
<span>
204-
Designed for customers who require a commercial license and can mostly
205-
self-support but want the peace of mind that comes with an
206-
engineer-backend SLA, additional features and operational capabilities.
207-
</span>
208-
),
209-
},
210123
{
211124
planId: "eosPlus",
212-
planName: "Enterprise Plus",
125+
planName: "Enterprise",
213126
planType: "commercial",
214127
planIcon: (
215128
<ApplicationLogo applicationName={"minio"} subVariant={"enterpriseos"} />
216129
),
217130
planDescription: (
218131
<span>
219132
Designed for customers where a commercial license and the
220-
strictest,engineer-backed SLA are required. The Plus tiers offers
221-
additional features and operational capabilities, more interaction
222-
options and more enterprise deliverables.
133+
strictest,engineer-backed SLA are required. It offers additional
134+
features and operational capabilities, more interaction options and more
135+
enterprise deliverables.
223136
</span>
224137
),
225138
},

0 commit comments

Comments
 (0)