diff --git a/frontend/src/components/MakerForm/MakerForm.tsx b/frontend/src/components/MakerForm/MakerForm.tsx index 3b263efa..e44ac2d0 100644 --- a/frontend/src/components/MakerForm/MakerForm.tsx +++ b/frontend/src/components/MakerForm/MakerForm.tsx @@ -1025,7 +1025,7 @@ const MakerForm = ({ { + setCoordinatorAlias={(coordinatorAlias) => { setMaker((maker) => { return { ...maker, coordinator: coordinatorAlias }; }); diff --git a/frontend/src/components/MakerForm/SelectCoordinator.tsx b/frontend/src/components/MakerForm/SelectCoordinator.tsx index b676d4e5..2b5c4a2a 100644 --- a/frontend/src/components/MakerForm/SelectCoordinator.tsx +++ b/frontend/src/components/MakerForm/SelectCoordinator.tsx @@ -1,4 +1,4 @@ -import React, { useContext } from 'react'; +import React, { useContext, useEffect, useState } from 'react'; import { Grid, Select, @@ -17,20 +17,22 @@ import { AppContext, type UseAppStoreType } from '../../contexts/AppContext'; import { useTheme } from '@emotion/react'; import { useTranslation } from 'react-i18next'; import { FederationContext, type UseFederationStoreType } from '../../contexts/FederationContext'; +import { Coordinator } from '../../models'; interface SelectCoordinatorProps { coordinatorAlias: string; - setCoordinator: (coordinatorAlias: string) => void; + setCoordinatorAlias: (coordinatorAlias: string) => void; } const SelectCoordinator: React.FC = ({ coordinatorAlias, - setCoordinator, + setCoordinatorAlias, }) => { const { setOpen } = useContext(AppContext); const { federation } = useContext(FederationContext); const theme = useTheme(); const { t } = useTranslation(); + const [coordinator, setCoordinator] = useState(); const onClickCurrentCoordinator = function (shortAlias: string): void { setOpen((open) => { @@ -39,10 +41,13 @@ const SelectCoordinator: React.FC = ({ }; const handleCoordinatorChange = (e: SelectChangeEvent): void => { - setCoordinator(e.target.value); + setCoordinatorAlias(e.target.value); }; - const coordinator = federation.getCoordinator(coordinatorAlias); + useEffect(() => { + const selectedCoordinator = federation.getCoordinator(coordinatorAlias); + if (selectedCoordinator) setCoordinator(selectedCoordinator); + }, [coordinatorAlias]); return ( @@ -90,8 +95,8 @@ const SelectCoordinator: React.FC = ({ > = ({ onLoad = () => {}, }) => { const { hostUrl, client } = useContext(AppContext); + const backgroundFadeTime = 3000; const defaultAvatarSrc = useMemo(() => { return client !== 'mobile' ? `${hostUrl}/static/federation/avatars/${shortAlias}${small ? '.small' : ''}.webp` @@ -55,9 +56,8 @@ const RobotAvatar: React.FC = ({ const [avatarSrc, setAvatarSrc] = useState(defaultAvatarSrc); const [activeBackground, setActiveBackground] = useState(true); - const backgroundFadeTime = 3000; - const [backgroundData] = useState(placeholder.loading); + const backgroundImage = `url(data:${backgroundData.mime};base64,${backgroundData.data})`; const className = placeholderType === 'loading' ? 'loadingAvatar' : 'generatingAvatar'; @@ -79,6 +79,7 @@ const RobotAvatar: React.FC = ({ useEffect(() => { if (shortAlias && shortAlias !== '') { + setAvatarSrc(defaultAvatarSrc); setTimeout(() => { setActiveBackground(false); }, backgroundFadeTime); diff --git a/frontend/src/components/TradeBox/Prompts/Payout.tsx b/frontend/src/components/TradeBox/Prompts/Payout.tsx index 4b3de77e..ae191638 100644 --- a/frontend/src/components/TradeBox/Prompts/Payout.tsx +++ b/frontend/src/components/TradeBox/Prompts/Payout.tsx @@ -92,7 +92,7 @@ export const PayoutPrompt = ({ {t('Lightning')} - +