Skip to content

Commit c525525

Browse files
committed
refactor: make UI updates after QA review
1 parent 36ba833 commit c525525

File tree

7 files changed

+37
-16
lines changed

7 files changed

+37
-16
lines changed

features/settings/main/components/controllers/manager-address-field.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { FC } from 'react';
2-
import { InlineLoader, Text } from '@lidofinance/lido-ui';
2+
import { Text } from '@lidofinance/lido-ui';
33
import { useFormState } from 'react-hook-form';
44

55
import { useVaultConfirmingRoles, useVaultPermission } from 'modules/vaults';
@@ -8,6 +8,7 @@ import { Hint } from 'shared/components';
88
import { EditPropertyAddress } from './edit-property-address';
99
import { DisplayAddress } from './display-address';
1010
import { GroupWrapper } from './styles';
11+
import { Skeleton } from 'features/settings/main/styles';
1112

1213
import type {
1314
MainSettingsOverview,
@@ -40,7 +41,7 @@ export const ManagerAddressField: FC<InputResolverProps> = ({
4041
{title}
4142
<Hint text={hint} />
4243
</Text>
43-
{isLoading && <InlineLoader />}
44+
{isLoading && <Skeleton />}
4445
<DisplayAddress isEditable={isEditable} vaultKey={vaultKey} />
4546
{isEditable && (
4647
<EditPropertyAddress

features/settings/main/components/controllers/radio-selector/radio-selector.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { FC } from 'react';
22
import { useFormContext, useFormState } from 'react-hook-form';
3-
import { InlineLoader } from '@lidofinance/lido-ui';
43

54
import { RadioInput, RadioWithInput } from 'shared/components';
65
import { useVaultConfirmingRoles, useVaultPermission } from 'modules/vaults';
@@ -11,6 +10,7 @@ import {
1110
RadioSelectorContainer,
1211
RadioSelectorTitle,
1312
} from './radio-selector.styles';
13+
import { Skeleton } from 'features/settings/main/styles';
1414

1515
export type RadioFormData = {
1616
type: string;
@@ -42,7 +42,7 @@ export const RadioSelector: FC<VotingSelectorProps> = ({
4242
return (
4343
<RadioSelectorContainer>
4444
<RadioSelectorTitle>{title}</RadioSelectorTitle>
45-
{isLoading && <InlineLoader />}
45+
{isLoading && <Skeleton />}
4646
{isEditable && !isLoading && (
4747
<>
4848
{data?.map(

features/settings/main/components/main-settings-action/main-settings-action.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { useFormContext, useFormState } from 'react-hook-form';
33
import { Button } from '@lidofinance/lido-ui';
44

55
import { ConnectWalletButton } from 'shared/wallet';
6-
import { vaultTexts } from 'modules/vaults';
6+
import { useVaultConfirmingRoles, vaultTexts } from 'modules/vaults';
77

88
import { RoleFieldSchema } from 'features/settings/main/types';
99
import { multipleDataFields } from 'features/settings/main/consts';
@@ -19,6 +19,10 @@ export const MainSettingsAction: FC = () => {
1919
const isClearDisabled = !isDirty;
2020
const mainSettingsData = useMainSettingsData();
2121
const isSubmitDisabled = isSubmitting || disabled || isValidating;
22+
const { hasConfirmingRole, hasAdmin, hasNodeOperatorManager } =
23+
useVaultConfirmingRoles();
24+
const showActionButtons =
25+
hasConfirmingRole || hasAdmin || hasNodeOperatorManager;
2226

2327
const formFields = watch();
2428

@@ -78,6 +82,10 @@ export const MainSettingsAction: FC = () => {
7882

7983
const hasChanges = counter > 0;
8084

85+
if (!showActionButtons) {
86+
return null;
87+
}
88+
8189
return (
8290
<Container>
8391
<ConnectWalletButton>

features/settings/main/components/node-operator/node-operator.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import { FC } from 'react';
2+
import { useVaultInfo, vaultTexts } from 'modules/vaults';
3+
import { useFormState } from 'react-hook-form';
4+
import { Text } from '@lidofinance/lido-ui';
25

3-
import { InlineLoader, Text } from '@lidofinance/lido-ui';
46
import { AddressBadge } from 'shared/components';
7+
import { Skeleton } from 'features/settings/main/styles';
58

69
import { Wrapper } from './styles';
710

8-
import { useVaultInfo, vaultTexts } from 'modules/vaults';
9-
import { useFormState } from 'react-hook-form';
10-
1111
const texts = vaultTexts.actions.settings.fields.nodeOperator;
1212

1313
export const NodeOperator: FC = () => {
@@ -20,7 +20,7 @@ export const NodeOperator: FC = () => {
2020
{texts.title}
2121
</Text>
2222
{isLoading ? (
23-
<InlineLoader />
23+
<Skeleton />
2424
) : (
2525
<AddressBadge
2626
weight={400}

features/settings/main/styles.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,20 @@
11
import styled from 'styled-components';
2+
import { InlineLoader } from '@lidofinance/lido-ui';
3+
4+
import { devicesHeaderMedia } from 'styles/global';
25

36
export const SectionContainer = styled.section`
47
display: flex;
58
flex-direction: column;
69
gap: ${({ theme }) => theme.spaceMap.xl}px;
710
width: 100%;
811
`;
12+
13+
export const Skeleton = styled(InlineLoader)`
14+
height: 36px;
15+
max-width: 50%;
16+
17+
@media ${devicesHeaderMedia.mobile} {
18+
max-width: 100%;
19+
}
20+
`;

modules/vaults/consts/texts.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,19 +95,19 @@ export const vaultTexts = {
9595
nodeOperatorFee: {
9696
title: 'Node Operator Fee',
9797
label: 'Node Operator fee, %',
98-
editLabel: 'Propose new Node Operator fee, %',
98+
editLabel: 'Propose new, %',
9999
hint: 'The share of Gross staking rewards that the Node Operator charges for provided validation service.\nMandatory parameter, [0% .. 100.00%].',
100100
},
101101
confirmationLifetime: {
102102
title: 'Confirmation Lifetime',
103103
label: 'Confirmation Lifetime, hours',
104-
editLabel: 'Propose new Confirmation Lifetime, hours',
104+
editLabel: 'Propose new, hours',
105105
hint: 'The time period in which the Node Operator has to confirm the report.\nMandatory parameter, [0 hours .. 24 hours].\nIf the Node Operator does not confirm the report within this time period, it will be automatically confirmed.',
106106
},
107107
vaultManager: {
108-
title: 'Vault Manager',
109-
label: 'Vault Manager address',
110-
editLabel: 'Vault Manager address',
108+
title: 'Vault Owner',
109+
label: 'Vault Owner address',
110+
editLabel: 'Vault Owner address',
111111
actionText: 'Add new address',
112112
hint: 'One of the two admin roles for the stVault. Allows to manage permissions and change key vault parameters from the Vault Owner (Staker) perspective.\nMultiple addresses supported.',
113113
},

modules/vaults/hooks/use-vault-permissions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ export const useVaultConfirmingRoles = () => {
7878
return {
7979
hasConfirmingRole: hasAtLeastOne,
8080
hasAdmin: roleAdmin.hasPermission,
81-
hasNodeOperatporManager: roleNOM.hasPermission,
81+
hasNodeOperatorManager: roleNOM.hasPermission,
8282
hasBothConfirmingRoles: roleAdmin.hasPermission && roleNOM.hasPermission,
8383
isLoading: !hasAtLeastOne && (roleAdmin.isLoading || roleNOM.isLoading),
8484
error: roleAdmin.error || roleNOM.error,

0 commit comments

Comments
 (0)