// Copyright 2017-2026 @pezkuwi/app-staking authors & contributors // SPDX-License-Identifier: Apache-2.0 import React, { useCallback, useMemo, useState } from 'react'; import { InputAddress, Modal, TxButton } from '@pezkuwi/react-components'; import { useApi } from '@pezkuwi/react-hooks'; import { useTranslation } from '../../translate.js'; import InputValidationController from './InputValidationController.js'; interface Props { defaultControllerId: string; onClose: () => void; stashId: string; } function SetControllerAccount ({ defaultControllerId, onClose, stashId }: Props): React.ReactElement { const { t } = useTranslation(); const { api } = useApi(); const [isFatal, setIsFatal] = useState(false); const [controllerId, setControllerId] = useState(null); const _setError = useCallback( (_: string | null, isFatal: boolean) => setIsFatal(isFatal), [] ); const needsController = useMemo( () => api.tx.staking.setController.meta.args.length === 1, [api] ); return ( {needsController && ( )} ); } export default React.memo(SetControllerAccount);