mirror of
https://github.com/RoboSats/robosats.git
synced 2025-07-23 09:13:14 +00:00
Disable onchain for swaps
This commit is contained in:
@ -1025,7 +1025,7 @@ const MakerForm = ({
|
|||||||
|
|
||||||
<SelectCoordinator
|
<SelectCoordinator
|
||||||
coordinatorAlias={maker.coordinator}
|
coordinatorAlias={maker.coordinator}
|
||||||
setCoordinator={(coordinatorAlias) => {
|
setCoordinatorAlias={(coordinatorAlias) => {
|
||||||
setMaker((maker) => {
|
setMaker((maker) => {
|
||||||
return { ...maker, coordinator: coordinatorAlias };
|
return { ...maker, coordinator: coordinatorAlias };
|
||||||
});
|
});
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import React, { useContext } from 'react';
|
import React, { useContext, useEffect, useState } from 'react';
|
||||||
import {
|
import {
|
||||||
Grid,
|
Grid,
|
||||||
Select,
|
Select,
|
||||||
@ -17,20 +17,22 @@ import { AppContext, type UseAppStoreType } from '../../contexts/AppContext';
|
|||||||
import { useTheme } from '@emotion/react';
|
import { useTheme } from '@emotion/react';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
import { FederationContext, type UseFederationStoreType } from '../../contexts/FederationContext';
|
import { FederationContext, type UseFederationStoreType } from '../../contexts/FederationContext';
|
||||||
|
import { Coordinator } from '../../models';
|
||||||
|
|
||||||
interface SelectCoordinatorProps {
|
interface SelectCoordinatorProps {
|
||||||
coordinatorAlias: string;
|
coordinatorAlias: string;
|
||||||
setCoordinator: (coordinatorAlias: string) => void;
|
setCoordinatorAlias: (coordinatorAlias: string) => void;
|
||||||
}
|
}
|
||||||
|
|
||||||
const SelectCoordinator: React.FC<SelectCoordinatorProps> = ({
|
const SelectCoordinator: React.FC<SelectCoordinatorProps> = ({
|
||||||
coordinatorAlias,
|
coordinatorAlias,
|
||||||
setCoordinator,
|
setCoordinatorAlias,
|
||||||
}) => {
|
}) => {
|
||||||
const { setOpen } = useContext<UseAppStoreType>(AppContext);
|
const { setOpen } = useContext<UseAppStoreType>(AppContext);
|
||||||
const { federation } = useContext<UseFederationStoreType>(FederationContext);
|
const { federation } = useContext<UseFederationStoreType>(FederationContext);
|
||||||
const theme = useTheme();
|
const theme = useTheme();
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
const [coordinator, setCoordinator] = useState<Coordinator>();
|
||||||
|
|
||||||
const onClickCurrentCoordinator = function (shortAlias: string): void {
|
const onClickCurrentCoordinator = function (shortAlias: string): void {
|
||||||
setOpen((open) => {
|
setOpen((open) => {
|
||||||
@ -39,10 +41,13 @@ const SelectCoordinator: React.FC<SelectCoordinatorProps> = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleCoordinatorChange = (e: SelectChangeEvent<string>): void => {
|
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 (
|
return (
|
||||||
<Grid item>
|
<Grid item>
|
||||||
@ -90,8 +95,8 @@ const SelectCoordinator: React.FC<SelectCoordinatorProps> = ({
|
|||||||
>
|
>
|
||||||
<Grid item>
|
<Grid item>
|
||||||
<RobotAvatar
|
<RobotAvatar
|
||||||
shortAlias={coordinator?.federated ? coordinator?.shortAlias : undefined}
|
shortAlias={coordinatorAlias}
|
||||||
hashId={coordinator?.federated ? undefined : coordinator?.mainnet.onion}
|
hashId={!coordinator?.federated ? coordinator?.mainnet.onion : undefined}
|
||||||
style={{ width: '3em', height: '3em' }}
|
style={{ width: '3em', height: '3em' }}
|
||||||
smooth={true}
|
smooth={true}
|
||||||
flipHorizontally={false}
|
flipHorizontally={false}
|
||||||
|
@ -47,6 +47,7 @@ const RobotAvatar: React.FC<Props> = ({
|
|||||||
onLoad = () => {},
|
onLoad = () => {},
|
||||||
}) => {
|
}) => {
|
||||||
const { hostUrl, client } = useContext<UseAppStoreType>(AppContext);
|
const { hostUrl, client } = useContext<UseAppStoreType>(AppContext);
|
||||||
|
const backgroundFadeTime = 3000;
|
||||||
const defaultAvatarSrc = useMemo(() => {
|
const defaultAvatarSrc = useMemo(() => {
|
||||||
return client !== 'mobile'
|
return client !== 'mobile'
|
||||||
? `${hostUrl}/static/federation/avatars/${shortAlias}${small ? '.small' : ''}.webp`
|
? `${hostUrl}/static/federation/avatars/${shortAlias}${small ? '.small' : ''}.webp`
|
||||||
@ -55,9 +56,8 @@ const RobotAvatar: React.FC<Props> = ({
|
|||||||
|
|
||||||
const [avatarSrc, setAvatarSrc] = useState<string>(defaultAvatarSrc);
|
const [avatarSrc, setAvatarSrc] = useState<string>(defaultAvatarSrc);
|
||||||
const [activeBackground, setActiveBackground] = useState<boolean>(true);
|
const [activeBackground, setActiveBackground] = useState<boolean>(true);
|
||||||
const backgroundFadeTime = 3000;
|
|
||||||
|
|
||||||
const [backgroundData] = useState<BackgroundData>(placeholder.loading);
|
const [backgroundData] = useState<BackgroundData>(placeholder.loading);
|
||||||
|
|
||||||
const backgroundImage = `url(data:${backgroundData.mime};base64,${backgroundData.data})`;
|
const backgroundImage = `url(data:${backgroundData.mime};base64,${backgroundData.data})`;
|
||||||
const className = placeholderType === 'loading' ? 'loadingAvatar' : 'generatingAvatar';
|
const className = placeholderType === 'loading' ? 'loadingAvatar' : 'generatingAvatar';
|
||||||
|
|
||||||
@ -79,6 +79,7 @@ const RobotAvatar: React.FC<Props> = ({
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (shortAlias && shortAlias !== '') {
|
if (shortAlias && shortAlias !== '') {
|
||||||
|
setAvatarSrc(defaultAvatarSrc);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
setActiveBackground(false);
|
setActiveBackground(false);
|
||||||
}, backgroundFadeTime);
|
}, backgroundFadeTime);
|
||||||
|
@ -92,7 +92,7 @@ export const PayoutPrompt = ({
|
|||||||
<Bolt /> {t('Lightning')}
|
<Bolt /> {t('Lightning')}
|
||||||
</div>
|
</div>
|
||||||
</ToggleButton>
|
</ToggleButton>
|
||||||
<ToggleButton value='onchain' disabled={!order.swap_allowed}>
|
<ToggleButton value='onchain' disabled={!order.swap_allowed || order.currency === 1000}>
|
||||||
<div
|
<div
|
||||||
style={{
|
style={{
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
|
Reference in New Issue
Block a user