Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(synapse-interface): bridge selector component #2312

Merged
merged 197 commits into from
Apr 4, 2024
Merged
Show file tree
Hide file tree
Changes from 186 commits
Commits
Show all changes
197 commits
Select commit Hold shift + click to select a range
3583cbf
hero placeholder
lawsonkight Feb 14, 2024
a55cfd9
dark mode
lawsonkight Feb 14, 2024
68b34e7
generate txs
lawsonkight Feb 14, 2024
b49b998
value prop placeholder
lawsonkight Feb 14, 2024
914042f
footer stub
lawsonkight Feb 14, 2024
e68cba9
footer component
lawsonkight Feb 15, 2024
812f951
Ticker import
lawsonkight Feb 15, 2024
f866654
menu double-hover stub
lawsonkight Feb 15, 2024
6106a8f
header sub-menus
lawsonkight Feb 15, 2024
2c93d59
wip
lawsonkight Feb 16, 2024
fa91451
fix import statement
lawsonkight Feb 16, 2024
3d1036c
ticker hover
lawsonkight Feb 16, 2024
7dbe5b8
format ticker timestamp
lawsonkight Feb 16, 2024
d401bbf
better tx generation
lawsonkight Feb 16, 2024
c34c27f
landing bg color
lawsonkight Feb 16, 2024
1900060
landing bg color
lawsonkight Feb 16, 2024
bcb656e
responsive nav 1
lawsonkight Feb 16, 2024
83e1b85
responsive tailwind layout
lawsonkight Feb 16, 2024
b4b6cc9
move content to components
lawsonkight Feb 17, 2024
c0271b1
navmenu hover fix
lawsonkight Feb 17, 2024
31a8925
footer color change
lawsonkight Feb 17, 2024
17c11fd
fix build issues
aureliusbtc Feb 17, 2024
d2ddb78
rename footer to landingfooter (idk why)
aureliusbtc Feb 17, 2024
3944168
Merge branch 'master' into fe/landing-exploration
lawsonkight Feb 20, 2024
852e845
moved strings.tsx from pages to utils and renamed
lawsonkight Feb 20, 2024
389d9cf
prettier update
lawsonkight Feb 20, 2024
11d74fc
clean up fake tx logic
lawsonkight Feb 20, 2024
1e67dcd
Merge branch 'master' into fe/landing-exploration
lawsonkight Feb 20, 2024
661b153
hero animated text on hover
lawsonkight Feb 20, 2024
8239430
cta button hover improvements
lawsonkight Feb 21, 2024
91bed54
h1 animation refinement
lawsonkight Feb 21, 2024
17175df
hero code cleanup
lawsonkight Feb 21, 2024
59d9748
more reliable tagline reset
lawsonkight Feb 21, 2024
5765a0d
faux bridge v1
lawsonkight Feb 21, 2024
d0fdcb0
connect every blockchain svg
lawsonkight Feb 21, 2024
d26c429
more homepage content
lawsonkight Feb 21, 2024
21c3ff5
stripped down content
lawsonkight Feb 22, 2024
c6ae9a7
select hover states
lawsonkight Feb 22, 2024
6175644
fix svg stroke-width
lawsonkight Feb 22, 2024
6a112f8
svg diagram color tweak
lawsonkight Feb 22, 2024
c3b0be2
change hero arrow to svg
lawsonkight Feb 22, 2024
3a30e98
fix hero hover errors
lawsonkight Feb 22, 2024
0b6a137
nav menu hover bugfixes
lawsonkight Feb 22, 2024
99c0d63
add bounce on cta mouseenter
lawsonkight Feb 22, 2024
a503579
ticker time format improvements
lawsonkight Feb 22, 2024
b4617c9
hero hover experiment
lawsonkight Feb 22, 2024
224b45b
remove hero anchor ref
lawsonkight Feb 22, 2024
f4b0d68
add arrow bounce to faux bridge
lawsonkight Feb 22, 2024
c4c3bb2
change nav hover scroll position bug
lawsonkight Feb 22, 2024
be00bc6
responsive improvements
lawsonkight Feb 22, 2024
b8a4207
larger hero hover area
lawsonkight Feb 22, 2024
4d93137
ticker scroll progress checkpoint
lawsonkight Feb 23, 2024
213e8c0
ticker scroll progress checkpoint 2
lawsonkight Feb 23, 2024
c152384
working ticker v1
lawsonkight Feb 23, 2024
eae6633
pause and restart ticker properly
lawsonkight Feb 23, 2024
9b9ee35
stuck
lawsonkight Feb 23, 2024
8c5e171
move play-pause listeners into useEffect
lawsonkight Feb 23, 2024
6ac8840
ticker accelerate and decelerate
lawsonkight Feb 23, 2024
ec884d6
Merge branch 'ticker-acceleration' into fe/landing-exploration
lawsonkight Feb 24, 2024
b14ee4f
merge ticker acceleration - cleanup
lawsonkight Feb 24, 2024
282b331
show explorer data in ticker
lawsonkight Feb 24, 2024
5d12658
minor ticker code cleanup
lawsonkight Feb 26, 2024
d89caa0
ticker loading state
lawsonkight Feb 26, 2024
5bcd460
use explorer data
lawsonkight Feb 26, 2024
f9d3ac2
move general files to /components
lawsonkight Feb 26, 2024
14f38c1
ticker todos
lawsonkight Feb 26, 2024
4a8634f
faux bridge chain dropdowns
lawsonkight Feb 27, 2024
e3c305e
faux token select v1
lawsonkight Feb 27, 2024
5d2f491
faux bridge connect hover
lawsonkight Feb 27, 2024
3f9a270
working faux bridge
lawsonkight Feb 27, 2024
bd16249
faux bridge dropdown glass effects
lawsonkight Feb 27, 2024
b9e7f2a
clean up react warnings
lawsonkight Feb 27, 2024
a653ad4
landing layout tweaks
lawsonkight Feb 27, 2024
c95e4a0
Merge branch 'master' into fe/landing-exploration
lawsonkight Feb 28, 2024
8853fd5
Merge branch 'master' into fe/landing-exploration
lawsonkight Mar 11, 2024
151eb5f
bg color
lawsonkight Mar 11, 2024
4bce3df
move dark mode class to LandingPageWrapper
lawsonkight Mar 11, 2024
29db7e9
replace tailwind Card with BridgeCard wrapper component for Bridge an…
lawsonkight Mar 11, 2024
fb7c490
MinMaxButton style
lawsonkight Mar 11, 2024
8ceb236
ToToken width bugfix
lawsonkight Mar 11, 2024
8aa1ff1
bugfix: chain select hover colors
lawsonkight Mar 11, 2024
1f37fb1
move fill color to top level
lawsonkight Mar 11, 2024
95f9cc5
Revert "move fill color to top level"
lawsonkight Mar 11, 2024
2145287
move icon fill color to parent
lawsonkight Mar 11, 2024
71ea5f4
BridgeCard component file
lawsonkight Mar 11, 2024
0579ade
input component
lawsonkight Mar 12, 2024
1461435
temporarily restore original page background color
lawsonkight Mar 12, 2024
a5aaeb4
temporarily restore original background image
lawsonkight Mar 12, 2024
4f90e91
Merge branch 'master' into fe/design-system-refactor
lawsonkight Mar 12, 2024
ff92eee
move type definitions to top
lawsonkight Mar 12, 2024
b00af81
remove unused import
lawsonkight Mar 12, 2024
ebd946f
swap max width
lawsonkight Mar 12, 2024
af60151
SwitchButton
lawsonkight Mar 12, 2024
f20bf76
move transaction button margins to parent
lawsonkight Mar 12, 2024
0a5fc4c
move SwitchButton and MiniMaxButton back to original component files
lawsonkight Mar 12, 2024
01abdb5
wip: add light mode values to amount inputs
lawsonkight Mar 13, 2024
09ca55f
chain dropdown component
lawsonkight Mar 13, 2024
753dd6d
Selector interface cleanup
lawsonkight Mar 13, 2024
56aa123
remove wrapper div from BridgeCard
lawsonkight Mar 13, 2024
08b811b
Connected Indicators
lawsonkight Mar 13, 2024
c6797aa
selector hover colors
lawsonkight Mar 13, 2024
1ac81d3
move types out of BridgeCard component
lawsonkight Mar 13, 2024
bee2356
combine custom hover colors into single hover.ts file
lawsonkight Mar 13, 2024
861ba46
Receipt details
lawsonkight Mar 13, 2024
830c0ec
reset styles to current
lawsonkight Mar 13, 2024
e2c754b
hide exploratory Teaser page from router
lawsonkight Mar 13, 2024
ca7aaf0
bug fix: selector overlay margin-top
lawsonkight Mar 13, 2024
c8d545c
minor visual tweaks
lawsonkight Mar 13, 2024
d202cb6
bug fix: input text color
lawsonkight Mar 13, 2024
df1df4c
remove 0-299px heights from tailwind safelist
lawsonkight Mar 13, 2024
eaf0219
bug fix: wrong prop name was passed to TokenSelector
lawsonkight Mar 13, 2024
2c263cb
bug fix: TransactionButton pending alignment
lawsonkight Mar 14, 2024
2a8b33e
green indicator tweak
lawsonkight Mar 14, 2024
79be646
Merge branch 'fe/design-system-refactor' of https://github.com/synaps…
bigboydiamonds Mar 14, 2024
8719355
Merge branch 'master' into fe/design-system-refactor
lawsonkight Mar 14, 2024
eaee078
Merge branch 'master' into fe/design-system-refactor
lawsonkight Mar 14, 2024
b8e7168
WIP FromChainListOverlay
lawsonkight Mar 15, 2024
30c1dc3
wip fromChain reveal on hover
lawsonkight Mar 16, 2024
799d291
show ChainListOverlay on hover
lawsonkight Mar 18, 2024
0ea68a2
FromChain selector cleanup
lawsonkight Mar 18, 2024
3d29951
Update ToChainSelector and SwapChainSelector
lawsonkight Mar 18, 2024
da66fe0
Bridge Token List Overlays
lawsonkight Mar 18, 2024
27756e4
bug fixes
lawsonkight Mar 18, 2024
11f9327
bugfix: misnamed ref prop
lawsonkight Mar 18, 2024
4e72662
type error
lawsonkight Mar 19, 2024
8117e91
bugfix: initialize itemList function
lawsonkight Mar 19, 2024
3eb42b4
separate chain selector data and jsx
lawsonkight Mar 19, 2024
10b6af5
combined token component v1
lawsonkight Mar 19, 2024
08717a5
SelectorButton component
lawsonkight Mar 20, 2024
ab8c39f
rearrange code
lawsonkight Mar 20, 2024
f987c97
SelectorWrapper component
lawsonkight Mar 20, 2024
eeacdaa
add key to Tokens list
lawsonkight Mar 20, 2024
873fd80
bugfix: set ToToken from OutputContainer
lawsonkight Mar 20, 2024
14b7825
bugfix: show selected Chain in <button>
lawsonkight Mar 20, 2024
a51f708
activate hover after mouse mouvement slows
lawsonkight Mar 20, 2024
ae07df1
don't reposition at desktop widths
lawsonkight Mar 20, 2024
d85c228
Update selector section names
lawsonkight Mar 20, 2024
13c0ce7
wip
lawsonkight Mar 20, 2024
a091f09
set limits on when to use position: fixed
lawsonkight Mar 20, 2024
e66eac0
use selector components on Swap page
lawsonkight Mar 21, 2024
cd91613
bug fix: affix popover to top on small screens
lawsonkight Mar 21, 2024
2cba172
bug fix: remove reference to Swap Overlays from Swap index
lawsonkight Mar 21, 2024
3c21555
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 22, 2024
fe03f34
Lint fix
abtestingalpha Mar 22, 2024
997907f
Removes cypress tests
abtestingalpha Mar 22, 2024
8a90e46
Componentize refactor
abtestingalpha Mar 22, 2024
c516669
Removes unused components, refactors some into functions
abtestingalpha Mar 22, 2024
32f90c3
Adds ActionTypes
abtestingalpha Mar 22, 2024
729feaf
SearchResults
abtestingalpha Mar 22, 2024
2ae50db
Adjust animation, adds back segment events
abtestingalpha Mar 22, 2024
64e72e9
Fixes settings location
abtestingalpha Mar 22, 2024
add9f08
Moves list helpers to hooks
abtestingalpha Mar 25, 2024
a465d9b
Organization & refactor
abtestingalpha Mar 25, 2024
b576122
Removes unused styles
abtestingalpha Mar 25, 2024
7124d10
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 25, 2024
d9fa1e0
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 25, 2024
34fb194
* Handles focus on mobile
abtestingalpha Mar 26, 2024
561812c
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 26, 2024
ad601f6
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 26, 2024
9e74501
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 27, 2024
e79e144
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 27, 2024
1f5523e
Adds available chains for out of scope tokens
abtestingalpha Mar 27, 2024
ad2239b
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 27, 2024
25af3ce
Relative vs absolute imports
abtestingalpha Mar 27, 2024
8454db3
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 27, 2024
a9fbc5f
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 27, 2024
2b7c4f9
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 27, 2024
b6ae84d
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 27, 2024
6e172b9
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 27, 2024
47fe501
Removes minor commented out code
abtestingalpha Mar 27, 2024
ae59dac
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 28, 2024
e506091
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 28, 2024
1f461fc
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 28, 2024
b74f6bf
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 29, 2024
305f8f3
WIP keyboard actions for search
abtestingalpha Mar 29, 2024
8092b2b
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 29, 2024
f081d5f
Moves onSearch up
abtestingalpha Mar 29, 2024
b83707f
Merge branch 'master' into fe/selector-component
abtestingalpha Mar 31, 2024
e714896
Merge branch 'master' into fe/selector-component
abtestingalpha Apr 1, 2024
c93b42b
WIP active styling
abtestingalpha Apr 1, 2024
2140c92
Replaces idx with unique properties
abtestingalpha Apr 1, 2024
d1fbbba
Merge branch 'fe/selector-component' of https://github.com/synapsecns…
bigboydiamonds Apr 1, 2024
980a6cd
Fix destination input styling after bridge card updates
bigboydiamonds Apr 1, 2024
6648ef9
mobile font size
abtestingalpha Apr 1, 2024
c9ba15e
Merge branch 'master' into fe/selector-component
abtestingalpha Apr 1, 2024
b189d49
Merge branch 'master' into fe/selector-component
abtestingalpha Apr 1, 2024
7c285ad
Merge branch 'master' into fe/selector-component
abtestingalpha Apr 1, 2024
1fd8271
Merge branch 'master' into fe/selector-component
abtestingalpha Apr 2, 2024
babcf16
Merge branch 'master' into fe/selector-component
abtestingalpha Apr 2, 2024
465bb4b
Merge branch 'master' into fe/selector-component
abtestingalpha Apr 3, 2024
351aea0
Merge branch 'master' into fe/selector-component
abtestingalpha Apr 3, 2024
00a6753
Merge branch 'master' into fe/selector-component
abtestingalpha Apr 3, 2024
9ba0d8b
Merge branch 'master' into fe/selector-component
abtestingalpha Apr 4, 2024
bf18720
Better mobile support on initial selector click
abtestingalpha Apr 4, 2024
428008b
Merge branch 'master' into fe/selector-component
abtestingalpha Apr 4, 2024
4adf836
Replaces input with AmountInput, additional mobile support
abtestingalpha Apr 4, 2024
e3edff7
Merge branch 'master' into fe/selector-component
abtestingalpha Apr 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion packages/synapse-interface/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@

# testing
/coverage
/cypress/visual-states/*

# next.js
/.next/
Expand Down
157 changes: 51 additions & 106 deletions packages/synapse-interface/components/ConnectionIndicators.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,76 +2,33 @@ import { useEffect, useState } from 'react'
import { useDispatch } from 'react-redux'
import { useAccount } from 'wagmi'
import { switchNetwork } from '@wagmi/core'
import { useConnectModal } from '@rainbow-me/rainbowkit'
import { ConnectButton } from '@rainbow-me/rainbowkit'
import { LoaderIcon } from 'react-hot-toast'

import { setFromChainId } from '@/slices/bridge/reducer'
import { useBridgeState } from '@/slices/bridge/hooks'
import { CHAINS_BY_ID } from '@/constants/chains'
import {
getNetworkButtonBgClassNameActive,
getNetworkButtonBorderActive,
getNetworkButtonBorderHover,
getNetworkHover,
} from '@/styles/chains'
import { LoaderIcon } from 'react-hot-toast'
import { getNetworkButtonBorderHover, getNetworkHover } from '@/styles/chains'
import { joinClassNames } from '@/utils/joinClassNames'

export const ConnectedIndicator = () => {
return (
<button
data-test-id="connected-button"
className={`
flex items-center justify-center
text-base text-white px-3 py-1 rounded-lg
text-center transform-gpu transition-all duration-75
border border-solid border-transparent
hover:cursor-default
h-8
`}
>
<div className="flex flex-row text-sm">
<div
className={`
my-auto ml-auto mr-2 w-2 h-2
bg-green-500 rounded-full
`}
/>
Connected
</div>
</button>
)
}

const DisconnectedIndicator = () => {
const { openConnectModal } = useConnectModal()
const { fromChainId } = useBridgeState()
const chain = CHAINS_BY_ID[fromChainId]
const Indicator = ({ className }) => (
<span
className={`w-2 h-2 rounded-full ${
className.match(/^border-/) ? `border` : ''
} ${className}`}
/>
)

export const ConnectedIndicator = () => {
const className = joinClassNames({
flex: 'flex items-center gap-2',
space: 'px-3 py-1 rounded-full',
hover: 'hover:opacity-80',
font: 'text-sm',
})
return (
<button
data-test-id="disconnected-button"
className={`
flex items-center justify-center
text-base text-white px-3 py-1 rounded-md
text-center transform-gpu transition-all duration-75
border border-solid border-transparent
h-8
${getNetworkHover(chain?.color)}
${getNetworkButtonBgClassNameActive(chain?.color)}
${getNetworkButtonBorderActive(chain?.color)}
${getNetworkButtonBorderHover(chain?.color)}
`}
onClick={openConnectModal}
>
<div className="flex flex-row text-sm">
<div
className={`
my-auto ml-auto mr-2 w-2 h-2
bg-red-500 rounded-full
`}
/>
Disconnected
</div>
<button data-test-id="connected-button" disabled className={className}>
<Indicator className="bg-green-500 dark:bg-green-400" />
Connected
</button>
)
}
Expand All @@ -97,45 +54,33 @@ export const ConnectToNetworkButton = ({ chainId }: { chainId: number }) => {
}
}

const className = joinClassNames({
flex: 'flex items-center gap-2',
space: 'px-3 py-1 rounded-full',
border: 'border border-transparent',
font: 'text-sm',
bgHover: getNetworkHover(chain?.color),
borderHover: getNetworkButtonBorderHover(chain?.color),
active: 'hover:active:opacity-80',
})

return (
<button
data-test-id="connect-button"
className={`
flex items-center justify-center
text-base text-white px-3 py-1 rounded-lg
text-center transform-gpu transition-all duration-75
border border-solid border-transparent
h-8
${getNetworkHover(chain?.color)}
${getNetworkButtonBgClassNameActive(chain?.color)}
${getNetworkButtonBorderActive(chain?.color)}
${getNetworkButtonBorderHover(chain?.color)}
`}
className={className}
onClick={handleConnectNetwork}
>
{isConnecting ? (
<div className="flex flex-row text-sm">
<div
className={`
my-auto ml-auto mr-2 text-transparent w-2 h-2
border border-green-300 border-solid rounded-full
`}
/>
<div className="flex items-center space-x-2">
<div>Connecting</div>
<LoaderIcon />
</div>
</div>
<>
<Indicator className="border-green-500 dark:border-green-400" />
Connecting
<LoaderIcon />
</>
) : (
<div className="flex flex-row text-sm">
<div
className={`
my-auto ml-auto mr-2 text-transparent w-2 h-2
border border-indigo-300 border-solid rounded-full
`}
/>
<>
<Indicator className="border-indigo-500 dark:border-indigo-300" />
Switch Network
</div>
</>
)}
</button>
)
Expand All @@ -149,6 +94,16 @@ export function ConnectWalletButton() {
setClientReady(true)
}, [])

const className = joinClassNames({
flex: 'flex items-center gap-2',
space: 'px-3 py-1 rounded-full',
border: 'border border-transparent',
hover:
'hover:bg-fuchsia-50 hover:border-fuchsia-500 hover:dark:bg-fuchsia-950',
font: 'text-sm',
active: 'active:opacity-80',
})

return (
<div data-test-id="">
{clientReady && (
Expand All @@ -159,18 +114,8 @@ export function ConnectWalletButton() {
{(() => {
if (!mounted || !account || !chain || !address) {
return (
<button
className={`
flex items-center text-sm text-white mr-2
`}
onClick={openConnectModal}
>
<div
className={`
my-auto ml-auto mr-2 text-transparent w-2 h-2
border border-indigo-300 border-solid rounded-full
`}
/>
<button className={className} onClick={openConnectModal}>
<Indicator className="border-fuchsia-500" />
Connect Wallet
</button>
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import {
} from './components/TransactionExplorerLink'
import { getExplorerAddressUrl, getExplorerTxUrl } from '@/constants/urls'
import { DISCORD_URL } from '@/constants/urls'
import Button from '../../ui/tailwind/Button'
import Button from '@/components/ui/tailwind/Button'
import SynapseLogo from '@assets/icons/syn.svg'
import DiscordIcon from '../../icons/DiscordIcon'
import DiscordIcon from '@/components/icons/DiscordIcon'
import { DownArrow } from '@/components/icons/DownArrow'

export const TransactionOptions = ({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ const ConnectedButton = () => {
<div
className={`
my-auto ml-auto mr-2 w-2 h-2
bg-green-500 rounded-full
bg-green-400 rounded-full
`}
/>
Connected
Expand Down Expand Up @@ -89,7 +89,7 @@ const ConnectButton = ({ chainId }: { chainId: number }) => {
<div
className={`
my-auto ml-auto mr-2 text-transparent w-2 h-2
border border-green-300 border-solid rounded-full
border border-green-400 border-solid rounded-full
`}
/>
Connecting...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { PortfolioAssetActionButton } from './PortfolioAssetActionButton'
import { trimTrailingZeroesAfterDecimal } from '@/utils/trimTrailingZeroesAfterDecimal'

const handleFocusOnBridgeInput = () => {
inputRef.current.focus()
inputRef.current?.focus()
}

type PortfolioTokenAssetProps = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,25 @@ import { EMPTY_BRIDGE_QUOTE } from '@/constants/bridge'
import { CHAINS_BY_ID } from '@constants/chains'
import * as CHAINS from '@constants/chains/master'

const BridgeExchangeRateInfo = () => {
export const BridgeExchangeRateInfo = () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The component is exported as a constant function, which is a common practice in React. However, the comment about upgrading to a collapsible element and using dark:border-zinc-800 in the <section> className suggests planned improvements. Ensure that these TODOs are tracked in the project's issue tracker or task management system to not get lost or forgotten.

Would you like me to open a GitHub issue to track this enhancement?

/* TODO:
* Upgrade to collapsable element
* Use dark:border-zinc-800 in <section> className
*/

return (
<div className="py-3.5 px-1 space-y-3 text-sm md:px-6 tracking-wide">
<TimeEstimate />
<section className="p-2 space-y-1 text-sm border rounded-sm border-[#504952] text-secondary font-light">
<details open className="mt-1 mb-2 text-sm">
<summary className="block px-1 mb-2 text-right cursor-default pointer-events-none">
<TimeEstimate />
</summary>
<section className="block p-2 leading-relaxed border rounded border-zinc-300 dark:border-separator">
{' '}
<GasDropLabel />
<Router />
<Slippage />
<DestinationAddress />
</section>
</div>
</details>
)
}

Expand Down Expand Up @@ -55,11 +63,11 @@ const Slippage = () => {
useExchangeRateInfo(fromValue, exchangeRate)
return (
<div className="flex justify-between">
<div>Slippage</div>
<span className="text-zinc-500 dark:text-zinc-400">Slippage</span>
{safeFromAmount !== '0' && !underFee ? (
<span className={textColor}>{formattedPercentSlippage}</span>
) : (
<span className=""></span>
<span className=""></span>
)}
</div>
)
Expand All @@ -71,8 +79,8 @@ const Router = () => {
} = useBridgeState()
return (
<div className="flex justify-between">
<div>Router</div>
<div className="text-primaryTextColor">{bridgeModuleName}</div>
<span className="text-zinc-500 dark:text-zinc-400">Router</span>
{bridgeModuleName}
</div>
)
}
Expand Down Expand Up @@ -100,14 +108,18 @@ const TimeEstimate = () => {
!bridgeQuote ||
bridgeQuote.outputAmount === EMPTY_BRIDGE_QUOTE.outputAmount
) {
showText = null
showText = (
<span className="text-zinc-500 dark:text-zinc-400">
Powered by Synapse
</span>
)
}

if (!fromToken) {
showText = `Select origin token`
}

return <div className="text-right text-secondary">{showText}</div>
return showText
}

const GasDropLabel = () => {
Expand Down Expand Up @@ -141,15 +153,15 @@ const GasDropLabel = () => {
}

return (
<div className="flex items-center text-secondary">
<span className="">Will also receive {formattedGasDropAmount} </span>
<span className="ml-1 font-medium text-white">
{symbol}{' '}
<span className="font-normal ">
{airdropInDollars && `($${airdropInDollars})`}
</span>
<>
<span className="text-zinc-500 dark:text-zinc-400">
Will also receive {formattedGasDropAmount}
</span>
</div>
<span>
{' '}
{symbol} {airdropInDollars && `($${airdropInDollars})`}
</span>
</>
)
}

Expand All @@ -165,7 +177,7 @@ const useExchangeRateInfo = (fromValue, exchangeRate) => {

const textColor: string = useMemo(() => {
if (numExchangeRate >= 1) {
return 'text-green-300'
return 'text-green-500'
} else if (numExchangeRate > 0.975) {
return 'text-amber-500'
} else {
Expand Down Expand Up @@ -199,5 +211,3 @@ const getAirdropInDollars = (
return undefined
}
}

export default BridgeExchangeRateInfo
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ export const BridgeTransactionButton = ({
}
} else if (!fromChainId) {
buttonProperties = {
label: 'Please select Origin network',
label: 'Please select Origin Network',
onClick: null,
}
} else if (!toChainId) {
Expand Down Expand Up @@ -136,7 +136,7 @@ export const BridgeTransactionButton = ({
}
} else if (destinationAddress && !isAddress(destinationAddress)) {
buttonProperties = {
label: 'Invalid destination address',
label: 'Invalid Destination address',
}
} else if (showDestinationWarning && !isDestinationWarningAccepted) {
buttonProperties = {
Expand Down
Loading
Loading