Skip to content

Commit fd53e39

Browse files
authored
upcoming: [M3-10033] - Improve Linode Create Clone behavior when cloning from a Linode using Linode Interfaces (#12304)
* make chips grey * hide networking from clone linode * hide networking + update handleSelect/default values * Added changeset: Hide Networking section in new UI when cloning a Linode and change chip color in Interface detail drawer * private ip linode interfaces * address feedback * arghh (cleanup oops)
1 parent 4c74176 commit fd53e39

5 files changed

Lines changed: 17 additions & 6 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+
Hide Networking section in new UI when cloning a Linode and change chip color in Interface detail drawer ([#12304](https://github.com/linode/manager/pull/12304))

packages/manager/src/features/Linodes/LinodeCreate/index.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,9 @@ export const LinodeCreate = () => {
261261
<VLAN />
262262
)}
263263
<UserData />
264-
{isLinodeInterfacesEnabled && <Networking />}
264+
{isLinodeInterfacesEnabled && params.type !== 'Clone Linode' && (
265+
<Networking />
266+
)}
265267
<Addons />
266268
<EUAgreement />
267269
<Summary />

packages/manager/src/features/Linodes/LinodeCreate/shared/LinodeSelectTable.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,10 @@ export const LinodeSelectTable = (props: Props) => {
103103
backup_id: null,
104104
backups_enabled: linode.backups.enabled,
105105
linode,
106-
private_ip: hasPrivateIP,
106+
private_ip: linode.interface_generation !== 'linode' && hasPrivateIP,
107107
region: linode.region,
108108
type: linode.type ?? '',
109+
interface_generation: undefined,
109110
}));
110111

111112
if (!isLabelFieldDirty) {

packages/manager/src/features/Linodes/LinodeCreate/utilities.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,8 @@ export const defaultValues = async (
376376
let interfaceGeneration: LinodeCreateFormValues['interface_generation'] =
377377
undefined;
378378

379-
if (isLinodeInterfacesEnabled) {
379+
// only run if no Linode is preselected
380+
if (isLinodeInterfacesEnabled && !linode) {
380381
try {
381382
const accountSettings = await queryClient.ensureQueryData(
382383
accountQueries.settings
@@ -401,7 +402,9 @@ export const defaultValues = async (
401402
}
402403
}
403404

404-
const privateIp = linode?.ipv4.some(isPrivateIP) ?? false;
405+
const privateIp =
406+
linode?.interface_generation !== 'linode' &&
407+
(linode?.ipv4.some(isPrivateIP) ?? false);
405408

406409
const values: LinodeCreateFormValues = {
407410
backup_id: params.backupID,

packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/LinodeInterfaces/InterfaceDetailsDrawer/InterfaceDetailsContent.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ export const InterfaceDetailsContent = (props: LinodeInterface) => {
2020
{(default_route.ipv4 || default_route.ipv6) && (
2121
<Box>
2222
{default_route.ipv4 && (
23-
<Chip color="info" component="span" label="IPv4 Default Route" />
23+
<Chip component="span" label="IPv4 Default Route" />
2424
)}
2525
{default_route.ipv6 && (
26-
<Chip color="info" component="span" label="IPv6 Default Route" />
26+
<Chip component="span" label="IPv6 Default Route" />
2727
)}
2828
</Box>
2929
)}

0 commit comments

Comments
 (0)