perf(settings): use default value and inline fallback for dynamic strings, instead of useEffect

This commit is contained in:
plebeius.eth
2024-03-03 13:37:33 +01:00
parent a2ade9fc65
commit 1c4883e83f
2 changed files with 3 additions and 3 deletions

View File

@@ -107,7 +107,7 @@ const AddressSettings = () => {
<input
type='text'
placeholder='address.eth'
value={cryptoState.cryptoAddress}
defaultValue={cryptoState.cryptoAddress || (account?.author?.shortAddress.includes('.') ? account.author.shortAddress : '')}
onChange={(e) => setCryptoState((prevState) => ({ ...prevState, cryptoAddress: e.target.value }))}
/>
<button className={styles.infoButton} onClick={() => setShowCryptoAddressInfo(!showCryptoAddressInfo)}>

View File

@@ -110,7 +110,7 @@ const ThemeSettings = () => {
const DisplayNameSetting = () => {
const { t } = useTranslation();
const account = useAccount();
const [displayName, setDisplayName] = useState(account?.author.displayName || '');
const [displayName, setDisplayName] = useState(account?.author?.displayName || '');
const [savedDisplayName, setSavedDisplayName] = useState(false);
const saveUsername = async () => {
@@ -133,7 +133,7 @@ const DisplayNameSetting = () => {
return (
<div className={styles.displayNameSetting}>
<div className={styles.usernameInput}>
<input type='text' placeholder='My Name' value={displayName} onChange={(e) => setDisplayName(e.target.value)} />
<input type='text' placeholder='My Name' value={displayName || account?.author?.displayName || ''} onChange={(e) => setDisplayName(e.target.value)} />
<button className={styles.button} onClick={saveUsername}>
{t('save')}
</button>