Skip to content

Commit 3f70555

Browse files
upcoming: [M3-9740, M3-9280] - Add mocks and update PlansPanel to support mtc-tt-2025 in selected regions (#12050)
* Save progress... * Add mocks and disable logic for `mtc-tt-2025` plans * Add disable logic for mtc-tt-2025 plans in LKE * Some fixes and updates * Random eslint warning fixes * Added changeset: Add mocks and enable/disable logic for `mtc-tt-2025` in selected regions * Update changeset * Improve naming conventions and update comments * Strengthen types * Do not display mtc plans if ff is not enabled
1 parent b67d1c6 commit 3f70555

21 files changed

Lines changed: 417 additions & 281 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@linode/manager': Upcoming Features
3+
---
4+
5+
Add mocks and update `PlansPanel` to support `mtc-tt-2025` plans in selected regions ([#12050](https://github.com/linode/manager/pull/12050))

packages/manager/cypress/e2e/core/databases/create-database.spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,15 +76,15 @@ describe('create a database cluster, mocked data', () => {
7676
configuration.clusterSize == 1
7777
? '1 Node'
7878
: configuration.clusterSize == 2
79-
? '2 Nodes'
80-
: '3 Nodes';
79+
? '2 Nodes'
80+
: '3 Nodes';
8181

8282
const nodes =
8383
configuration.clusterSize == 1
8484
? 'Primary (1 Node)'
8585
: configuration.clusterSize == 2
86-
? 'Primary (+1 Node)'
87-
: 'Primary (+2 Nodes)';
86+
? 'Primary (+1 Node)'
87+
: 'Primary (+2 Nodes)';
8888

8989
const clusterCpuType =
9090
configuration.linodeType.indexOf('-dedicated-') !== -1

packages/manager/src/components/PrimaryNav/PrimaryNav.tsx

Lines changed: 170 additions & 171 deletions
Original file line numberDiff line numberDiff line change
@@ -110,177 +110,176 @@ export const PrimaryNav = (props: PrimaryNavProps) => {
110110

111111
const { mutateAsync: updatePreferences } = useMutatePreferences();
112112

113-
const productFamilyLinkGroups: ProductFamilyLinkGroup<
114-
PrimaryLinkType[]
115-
>[] = React.useMemo(
116-
() => [
117-
{
118-
links: [],
119-
},
120-
{
121-
icon: <Compute />,
122-
links: [
123-
{
124-
activeLinks: [
125-
'/managed',
126-
'/managed/summary',
127-
'/managed/monitors',
128-
'/managed/ssh-access',
129-
'/managed/credentials',
130-
'/managed/contacts',
131-
],
132-
display: 'Managed',
133-
hide: !isManaged,
134-
href: '/managed',
135-
},
136-
{
137-
activeLinks: ['/linodes', '/linodes/create'],
138-
display: 'Linodes',
139-
href: '/linodes',
140-
},
141-
{
142-
activeLinks: [
143-
'/images/create/create-image',
144-
'/images/create/upload-image',
145-
],
146-
display: 'Images',
147-
href: '/images',
148-
},
149-
{
150-
activeLinks: ['/kubernetes/create'],
151-
display: 'Kubernetes',
152-
href: '/kubernetes/clusters',
153-
},
154-
{
155-
display: 'StackScripts',
156-
href: '/stackscripts',
157-
},
158-
{
159-
betaChipClassName: 'beta-chip-placement-groups',
160-
display: 'Placement Groups',
161-
hide: !isPlacementGroupsEnabled,
162-
href: '/placement-groups',
163-
},
164-
{
165-
attr: { 'data-qa-one-click-nav-btn': true },
166-
display: 'Marketplace',
167-
href: '/linodes/create?type=One-Click',
168-
},
169-
],
170-
name: 'Compute',
171-
},
172-
{
173-
icon: <Storage />,
174-
links: [
175-
{
176-
activeLinks: [
177-
'/object-storage/buckets',
178-
'/object-storage/access-keys',
179-
],
180-
display: 'Object Storage',
181-
href: '/object-storage/buckets',
182-
},
183-
{
184-
display: 'Volumes',
185-
href: '/volumes',
186-
},
187-
],
188-
name: 'Storage',
189-
},
190-
{
191-
icon: <Networking />,
192-
links: [
193-
{
194-
display: 'VPC',
195-
href: '/vpcs',
196-
},
197-
{
198-
display: 'Firewalls',
199-
href: '/firewalls',
200-
},
201-
{
202-
display: 'NodeBalancers',
203-
href: '/nodebalancers',
204-
},
205-
{
206-
display: 'Domains',
207-
href: '/domains',
208-
},
209-
],
210-
name: 'Networking',
211-
},
212-
{
213-
icon: <Database />,
214-
links: [
215-
{
216-
display: 'Databases',
217-
hide: !isDatabasesEnabled,
218-
href: '/databases',
219-
isBeta: isDatabasesV2Beta,
220-
},
221-
],
222-
name: 'Databases',
223-
},
224-
{
225-
icon: <Monitor />,
226-
links: [
227-
{
228-
display: 'Metrics',
229-
hide: !isACLPEnabled,
230-
href: '/metrics',
231-
isBeta: flags.aclp?.beta,
232-
},
233-
{
234-
display: 'Alerts',
235-
hide: !isAlertsEnabled,
236-
href: '/alerts',
237-
isBeta: flags.aclp?.beta,
238-
},
239-
{
240-
display: 'Longview',
241-
href: '/longview',
242-
},
243-
],
244-
name: 'Monitor',
245-
},
246-
{
247-
icon: <More />,
248-
links: [
249-
{
250-
display: 'Betas',
251-
hide: !flags.selfServeBetas,
252-
href: '/betas',
253-
},
254-
{
255-
display: 'Identity & Access',
256-
hide: !isIAMEnabled,
257-
href: '/iam',
258-
icon: <IAM />,
259-
isBeta: isIAMBeta,
260-
},
261-
{
262-
display: 'Account',
263-
href: '/account',
264-
},
265-
{
266-
display: 'Help & Support',
267-
href: '/support',
268-
},
269-
],
270-
name: 'More',
271-
},
272-
],
273-
// eslint-disable-next-line react-hooks/exhaustive-deps
274-
[
275-
isDatabasesEnabled,
276-
isDatabasesV2Beta,
277-
isManaged,
278-
isPlacementGroupsEnabled,
279-
isACLPEnabled,
280-
isIAMBeta,
281-
isIAMEnabled,
282-
]
283-
);
113+
const productFamilyLinkGroups: ProductFamilyLinkGroup<PrimaryLinkType[]>[] =
114+
React.useMemo(
115+
() => [
116+
{
117+
links: [],
118+
},
119+
{
120+
icon: <Compute />,
121+
links: [
122+
{
123+
activeLinks: [
124+
'/managed',
125+
'/managed/summary',
126+
'/managed/monitors',
127+
'/managed/ssh-access',
128+
'/managed/credentials',
129+
'/managed/contacts',
130+
],
131+
display: 'Managed',
132+
hide: !isManaged,
133+
href: '/managed',
134+
},
135+
{
136+
activeLinks: ['/linodes', '/linodes/create'],
137+
display: 'Linodes',
138+
href: '/linodes',
139+
},
140+
{
141+
activeLinks: [
142+
'/images/create/create-image',
143+
'/images/create/upload-image',
144+
],
145+
display: 'Images',
146+
href: '/images',
147+
},
148+
{
149+
activeLinks: ['/kubernetes/create'],
150+
display: 'Kubernetes',
151+
href: '/kubernetes/clusters',
152+
},
153+
{
154+
display: 'StackScripts',
155+
href: '/stackscripts',
156+
},
157+
{
158+
betaChipClassName: 'beta-chip-placement-groups',
159+
display: 'Placement Groups',
160+
hide: !isPlacementGroupsEnabled,
161+
href: '/placement-groups',
162+
},
163+
{
164+
attr: { 'data-qa-one-click-nav-btn': true },
165+
display: 'Marketplace',
166+
href: '/linodes/create?type=One-Click',
167+
},
168+
],
169+
name: 'Compute',
170+
},
171+
{
172+
icon: <Storage />,
173+
links: [
174+
{
175+
activeLinks: [
176+
'/object-storage/buckets',
177+
'/object-storage/access-keys',
178+
],
179+
display: 'Object Storage',
180+
href: '/object-storage/buckets',
181+
},
182+
{
183+
display: 'Volumes',
184+
href: '/volumes',
185+
},
186+
],
187+
name: 'Storage',
188+
},
189+
{
190+
icon: <Networking />,
191+
links: [
192+
{
193+
display: 'VPC',
194+
href: '/vpcs',
195+
},
196+
{
197+
display: 'Firewalls',
198+
href: '/firewalls',
199+
},
200+
{
201+
display: 'NodeBalancers',
202+
href: '/nodebalancers',
203+
},
204+
{
205+
display: 'Domains',
206+
href: '/domains',
207+
},
208+
],
209+
name: 'Networking',
210+
},
211+
{
212+
icon: <Database />,
213+
links: [
214+
{
215+
display: 'Databases',
216+
hide: !isDatabasesEnabled,
217+
href: '/databases',
218+
isBeta: isDatabasesV2Beta,
219+
},
220+
],
221+
name: 'Databases',
222+
},
223+
{
224+
icon: <Monitor />,
225+
links: [
226+
{
227+
display: 'Metrics',
228+
hide: !isACLPEnabled,
229+
href: '/metrics',
230+
isBeta: flags.aclp?.beta,
231+
},
232+
{
233+
display: 'Alerts',
234+
hide: !isAlertsEnabled,
235+
href: '/alerts',
236+
isBeta: flags.aclp?.beta,
237+
},
238+
{
239+
display: 'Longview',
240+
href: '/longview',
241+
},
242+
],
243+
name: 'Monitor',
244+
},
245+
{
246+
icon: <More />,
247+
links: [
248+
{
249+
display: 'Betas',
250+
hide: !flags.selfServeBetas,
251+
href: '/betas',
252+
},
253+
{
254+
display: 'Identity & Access',
255+
hide: !isIAMEnabled,
256+
href: '/iam',
257+
icon: <IAM />,
258+
isBeta: isIAMBeta,
259+
},
260+
{
261+
display: 'Account',
262+
href: '/account',
263+
},
264+
{
265+
display: 'Help & Support',
266+
href: '/support',
267+
},
268+
],
269+
name: 'More',
270+
},
271+
],
272+
// eslint-disable-next-line react-hooks/exhaustive-deps
273+
[
274+
isDatabasesEnabled,
275+
isDatabasesV2Beta,
276+
isManaged,
277+
isPlacementGroupsEnabled,
278+
isACLPEnabled,
279+
isIAMBeta,
280+
isIAMEnabled,
281+
]
282+
);
284283

285284
const accordionClicked = (index: number) => {
286285
let updatedCollapsedAccordions: number[] = [0, 1, 2, 3, 4, 5];

0 commit comments

Comments
 (0)