save swap margin to local storage

This commit is contained in:
saml33 2023-07-27 10:37:35 +10:00
parent bcb7d30845
commit 9203be64a2
3 changed files with 18 additions and 1 deletions

View File

@ -28,6 +28,7 @@ import {
MANGO_MINT,
OUTPUT_TOKEN_DEFAULT,
SIZE_INPUT_UI_KEY,
SWAP_MARGIN_KEY,
USDC_MINT,
} from '../../utils/constants'
import { useTokenMax } from './useTokenMax'
@ -72,6 +73,10 @@ const SwapForm = () => {
const [showConfirm, setShowConfirm] = useState(false)
const { group } = useMangoGroup()
const [swapFormSizeUi] = useLocalStorageState(SIZE_INPUT_UI_KEY, 'slider')
const [, setSavedSwapMargin] = useLocalStorageState<boolean>(
SWAP_MARGIN_KEY,
true,
)
const { ipAllowed, ipCountry } = useIpAddress()
const { isUnownedAccount, isDelegatedAccount } = useUnownedAccount()
@ -307,6 +312,10 @@ const SwapForm = () => {
})
}
useEffect(() => {
setSavedSwapMargin(useMargin)
}, [useMargin])
return (
<ContentBox
hidePadding

View File

@ -40,6 +40,7 @@ import {
PAGINATION_PAGE_LENGTH,
PRIORITY_FEE_KEY,
RPC_PROVIDER_KEY,
SWAP_MARGIN_KEY,
} from '../utils/constants'
import {
ActivityFeed,
@ -268,12 +269,17 @@ export type MangoStore = {
const mangoStore = create<MangoStore>()(
subscribeWithSelector((_set, get) => {
let rpcUrl = ENDPOINT.url
let swapMargin = true
if (typeof window !== 'undefined' && CLUSTER === 'mainnet-beta') {
const urlFromLocalStorage = localStorage.getItem(RPC_PROVIDER_KEY)
const swapMarginFromLocalStorage = localStorage.getItem(SWAP_MARGIN_KEY)
rpcUrl = urlFromLocalStorage
? JSON.parse(urlFromLocalStorage)
: ENDPOINT.url
swapMargin = swapMarginFromLocalStorage
? JSON.parse(swapMarginFromLocalStorage)
: true
}
let connection: Connection
@ -368,7 +374,7 @@ const mangoStore = create<MangoStore>()(
outputBank: undefined,
inputTokenInfo: undefined,
outputTokenInfo: undefined,
margin: true,
margin: swapMargin,
slippage: 0.5,
swapMode: 'ExactIn',
amountIn: '',

View File

@ -53,6 +53,8 @@ export const PRIORITY_FEE_KEY = 'priorityFeeKey-0.1'
export const SHOW_ORDER_LINES_KEY = 'showOrderLines-0.1'
export const SWAP_MARGIN_KEY = 'swapMargin-0.1'
export const SHOW_SWAP_INTRO_MODAL = 'showSwapModal-0.1'
export const ACCEPT_TERMS_KEY = 'termsOfUseAccepted-0.1'