Disable onchain for swaps

This commit is contained in:
koalasat
2025-07-10 12:56:37 +02:00
parent 6cd043f2b8
commit 83829811a3
4 changed files with 17 additions and 11 deletions

View File

@ -1025,7 +1025,7 @@ const MakerForm = ({
<SelectCoordinator
coordinatorAlias={maker.coordinator}
setCoordinator={(coordinatorAlias) => {
setCoordinatorAlias={(coordinatorAlias) => {
setMaker((maker) => {
return { ...maker, coordinator: coordinatorAlias };
});

View File

@ -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<SelectCoordinatorProps> = ({
coordinatorAlias,
setCoordinator,
setCoordinatorAlias,
}) => {
const { setOpen } = useContext<UseAppStoreType>(AppContext);
const { federation } = useContext<UseFederationStoreType>(FederationContext);
const theme = useTheme();
const { t } = useTranslation();
const [coordinator, setCoordinator] = useState<Coordinator>();
const onClickCurrentCoordinator = function (shortAlias: string): void {
setOpen((open) => {
@ -39,10 +41,13 @@ const SelectCoordinator: React.FC<SelectCoordinatorProps> = ({
};
const handleCoordinatorChange = (e: SelectChangeEvent<string>): 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 (
<Grid item>
@ -90,8 +95,8 @@ const SelectCoordinator: React.FC<SelectCoordinatorProps> = ({
>
<Grid item>
<RobotAvatar
shortAlias={coordinator?.federated ? coordinator?.shortAlias : undefined}
hashId={coordinator?.federated ? undefined : coordinator?.mainnet.onion}
shortAlias={coordinatorAlias}
hashId={!coordinator?.federated ? coordinator?.mainnet.onion : undefined}
style={{ width: '3em', height: '3em' }}
smooth={true}
flipHorizontally={false}

View File

@ -47,6 +47,7 @@ const RobotAvatar: React.FC<Props> = ({
onLoad = () => {},
}) => {
const { hostUrl, client } = useContext<UseAppStoreType>(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<Props> = ({
const [avatarSrc, setAvatarSrc] = useState<string>(defaultAvatarSrc);
const [activeBackground, setActiveBackground] = useState<boolean>(true);
const backgroundFadeTime = 3000;
const [backgroundData] = useState<BackgroundData>(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<Props> = ({
useEffect(() => {
if (shortAlias && shortAlias !== '') {
setAvatarSrc(defaultAvatarSrc);
setTimeout(() => {
setActiveBackground(false);
}, backgroundFadeTime);

View File

@ -92,7 +92,7 @@ export const PayoutPrompt = ({
<Bolt /> {t('Lightning')}
</div>
</ToggleButton>
<ToggleButton value='onchain' disabled={!order.swap_allowed}>
<ToggleButton value='onchain' disabled={!order.swap_allowed || order.currency === 1000}>
<div
style={{
display: 'flex',