feat: prepared everything for modal interaction
This commit is contained in:
parent
106de661a8
commit
f609540809
@ -37,6 +37,7 @@ import {
|
|||||||
export default function AccountDetailsController() {
|
export default function AccountDetailsController() {
|
||||||
const address = useStore((s) => s.address)
|
const address = useStore((s) => s.address)
|
||||||
const isHLS = useStore((s) => s.isHLS)
|
const isHLS = useStore((s) => s.isHLS)
|
||||||
|
const isV1 = useStore((s) => s.isV1)
|
||||||
const { data: _, isLoading } = useAccounts('default', address)
|
const { data: _, isLoading } = useAccounts('default', address)
|
||||||
const { data: accountIds } = useAccountIds(address, false, true)
|
const { data: accountIds } = useAccountIds(address, false, true)
|
||||||
|
|
||||||
@ -45,10 +46,11 @@ export default function AccountDetailsController() {
|
|||||||
const account = useCurrentAccount()
|
const account = useCurrentAccount()
|
||||||
const focusComponent = useStore((s) => s.focusComponent)
|
const focusComponent = useStore((s) => s.focusComponent)
|
||||||
const isOwnAccount = accountId && accountIds?.includes(accountId)
|
const isOwnAccount = accountId && accountIds?.includes(accountId)
|
||||||
|
const hideAccountDetails = !address || focusComponent || !isOwnAccount || isHLS || isV1
|
||||||
|
const isLoadingAccountDetails = (isLoading && accountId && !focusComponent) || !account
|
||||||
|
|
||||||
if (!address || focusComponent || !isOwnAccount || isHLS) return null
|
if (hideAccountDetails) return null
|
||||||
|
if (isLoadingAccountDetails) return <Skeleton />
|
||||||
if ((isLoading && accountId && !focusComponent) || !account) return <Skeleton />
|
|
||||||
|
|
||||||
return <AccountDetails account={account} />
|
return <AccountDetails account={account} />
|
||||||
}
|
}
|
||||||
|
@ -15,11 +15,23 @@ export default function Background() {
|
|||||||
)
|
)
|
||||||
const { pathname } = useLocation()
|
const { pathname } = useLocation()
|
||||||
const page = getPage(pathname)
|
const page = getPage(pathname)
|
||||||
const isHLS = useMemo(() => page.split('-')[0] === 'hls', [page])
|
const [isHLS, isV1] = useMemo(() => [page.split('-')[0] === 'hls', page === 'v1'], [page])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
useStore.setState({ isHLS })
|
useStore.setState({ isHLS: isHLS, isV1: isV1 })
|
||||||
}, [isHLS])
|
}, [isHLS, isV1])
|
||||||
|
|
||||||
|
const [primaryOrbClassName, secondaryOrbClassName, tertiaryOrbClassName, bodyClassName] =
|
||||||
|
useMemo(() => {
|
||||||
|
if (isHLS) {
|
||||||
|
return ['bg-orb-primary-hls', 'bg-orb-secondary-hls', 'bg-orb-tertiary-hls', 'bg-body-hls']
|
||||||
|
}
|
||||||
|
if (isV1) {
|
||||||
|
return ['bg-orb-primary-v1', 'bg-orb-secondary-v1', 'bg-orb-tertiary-v1', 'bg-body-v1']
|
||||||
|
}
|
||||||
|
|
||||||
|
return ['bg-orb-primary', 'bg-orb-secondary', 'bg-orb-tertiary', 'bg-body']
|
||||||
|
}, [isHLS, isV1])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
@ -27,7 +39,7 @@ export default function Background() {
|
|||||||
'fixed inset-0',
|
'fixed inset-0',
|
||||||
'w-full h-full',
|
'w-full h-full',
|
||||||
'overflow-hidden pointer-events-none background ',
|
'overflow-hidden pointer-events-none background ',
|
||||||
isHLS ? 'bg-body-hls' : 'bg-body',
|
bodyClassName,
|
||||||
!reduceMotion && 'transition-bg duration-1000 delay-300',
|
!reduceMotion && 'transition-bg duration-1000 delay-300',
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
@ -39,7 +51,7 @@ export default function Background() {
|
|||||||
'max-h-[500px] max-w-[500px]',
|
'max-h-[500px] max-w-[500px]',
|
||||||
'left-[-10vw] top-[-10vw]',
|
'left-[-10vw] top-[-10vw]',
|
||||||
'blur-orb-primary',
|
'blur-orb-primary',
|
||||||
isHLS ? ' bg-orb-primary-hls' : 'bg-orb-primary',
|
primaryOrbClassName,
|
||||||
'translate-x-0 translate-y-0 rounded-full opacity-20',
|
'translate-x-0 translate-y-0 rounded-full opacity-20',
|
||||||
!reduceMotion && 'animate-[float_120s_ease-in-out_infinite_2s]',
|
!reduceMotion && 'animate-[float_120s_ease-in-out_infinite_2s]',
|
||||||
!reduceMotion && 'transition-bg duration-1000 delay-300',
|
!reduceMotion && 'transition-bg duration-1000 delay-300',
|
||||||
@ -53,7 +65,7 @@ export default function Background() {
|
|||||||
'max-h-[1000px] max-w-[1000px]',
|
'max-h-[1000px] max-w-[1000px]',
|
||||||
'bottom-[-20vw] right-[-10vw]',
|
'bottom-[-20vw] right-[-10vw]',
|
||||||
'blur-orb-secondary',
|
'blur-orb-secondary',
|
||||||
isHLS ? ' bg-orb-secondary-hls' : 'bg-orb-secondary',
|
secondaryOrbClassName,
|
||||||
'translate-x-0 translate-y-0 rounded-full opacity-30',
|
'translate-x-0 translate-y-0 rounded-full opacity-30',
|
||||||
!reduceMotion && 'transition-bg duration-1000 delay-300',
|
!reduceMotion && 'transition-bg duration-1000 delay-300',
|
||||||
)}
|
)}
|
||||||
@ -66,7 +78,7 @@ export default function Background() {
|
|||||||
'max-h-[600px] max-w-[600px]',
|
'max-h-[600px] max-w-[600px]',
|
||||||
'right-[-4vw] top-[-10vw]',
|
'right-[-4vw] top-[-10vw]',
|
||||||
'blur-orb-tertiary ',
|
'blur-orb-tertiary ',
|
||||||
isHLS ? ' bg-orb-tertiary-hls' : 'bg-orb-tertiary',
|
tertiaryOrbClassName,
|
||||||
'translate-x-0 translate-y-0 rounded-full opacity-20',
|
'translate-x-0 translate-y-0 rounded-full opacity-20',
|
||||||
!reduceMotion && 'animate-[float_180s_ease-in_infinite]',
|
!reduceMotion && 'animate-[float_180s_ease-in_infinite]',
|
||||||
!reduceMotion && 'transition-bg duration-1000 delay-300',
|
!reduceMotion && 'transition-bg duration-1000 delay-300',
|
||||||
|
@ -49,7 +49,9 @@ export default function DesktopHeader() {
|
|||||||
const focusComponent = useStore((s) => s.focusComponent)
|
const focusComponent = useStore((s) => s.focusComponent)
|
||||||
const isOracleStale = useStore((s) => s.isOracleStale)
|
const isOracleStale = useStore((s) => s.isOracleStale)
|
||||||
const isHLS = useStore((s) => s.isHLS)
|
const isHLS = useStore((s) => s.isHLS)
|
||||||
|
const isV1 = useStore((s) => s.isV1)
|
||||||
const accountId = useAccountId()
|
const accountId = useAccountId()
|
||||||
|
const showAccountMenu = address && !isHLS && !isV1
|
||||||
|
|
||||||
function handleCloseFocusMode() {
|
function handleCloseFocusMode() {
|
||||||
if (focusComponent && focusComponent.onClose) focusComponent.onClose()
|
if (focusComponent && focusComponent.onClose) focusComponent.onClose()
|
||||||
@ -93,7 +95,7 @@ export default function DesktopHeader() {
|
|||||||
<div className='flex gap-4'>
|
<div className='flex gap-4'>
|
||||||
{showStaleOracle && <OracleResyncButton />}
|
{showStaleOracle && <OracleResyncButton />}
|
||||||
{accountId && <RewardsCenter />}
|
{accountId && <RewardsCenter />}
|
||||||
{address && !isHLS && <AccountMenu />}
|
{showAccountMenu && <AccountMenu />}
|
||||||
<Wallet />
|
<Wallet />
|
||||||
<ChainSelect />
|
<ChainSelect />
|
||||||
<Settings />
|
<Settings />
|
||||||
|
@ -10,8 +10,6 @@ export default function Deposits() {
|
|||||||
return <Fallback />
|
return <Fallback />
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(depositAssets)
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<DepositsTable data={depositAssets} isLoading={false} v1 />
|
<DepositsTable data={depositAssets} isLoading={false} v1 />
|
||||||
|
@ -17,8 +17,6 @@ export default function Manage(props: Props) {
|
|||||||
const { data: balances } = useWalletBalances(address)
|
const { data: balances } = useWalletBalances(address)
|
||||||
const hasBalance = !!balances.find(byDenom(props.data.asset.denom))
|
const hasBalance = !!balances.find(byDenom(props.data.asset.denom))
|
||||||
|
|
||||||
console.log(balances)
|
|
||||||
|
|
||||||
const ITEMS: DropDownItem[] = useMemo(
|
const ITEMS: DropDownItem[] = useMemo(
|
||||||
() => [
|
() => [
|
||||||
{
|
{
|
||||||
|
@ -19,5 +19,6 @@ export default function createCommonSlice(set: SetState<CommonSlice>, get: GetSt
|
|||||||
useAutoRepay: true,
|
useAutoRepay: true,
|
||||||
isOracleStale: false,
|
isOracleStale: false,
|
||||||
isHLS: false,
|
isHLS: false,
|
||||||
|
isV1: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1
src/types/interfaces/store/common.d.ts
vendored
1
src/types/interfaces/store/common.d.ts
vendored
@ -18,6 +18,7 @@ interface CommonSlice {
|
|||||||
useAutoRepay: boolean
|
useAutoRepay: boolean
|
||||||
isOracleStale: boolean
|
isOracleStale: boolean
|
||||||
isHLS: boolean
|
isHLS: boolean
|
||||||
|
isV1: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
interface FocusComponent {
|
interface FocusComponent {
|
||||||
|
@ -40,6 +40,7 @@ export function getPage(pathname: string): Page {
|
|||||||
'portfolio',
|
'portfolio',
|
||||||
'hls-farm',
|
'hls-farm',
|
||||||
'hls-staking',
|
'hls-staking',
|
||||||
|
'v1',
|
||||||
]
|
]
|
||||||
const segments = pathname.split('/')
|
const segments = pathname.split('/')
|
||||||
|
|
||||||
|
@ -102,6 +102,7 @@ module.exports = {
|
|||||||
axlusdc: '#478edc',
|
axlusdc: '#478edc',
|
||||||
body: '#0D0012',
|
body: '#0D0012',
|
||||||
'body-hls': '#090000',
|
'body-hls': '#090000',
|
||||||
|
'body-v1': '#10000a',
|
||||||
'body-dark': '#141621',
|
'body-dark': '#141621',
|
||||||
chart: '#220e1d',
|
chart: '#220e1d',
|
||||||
error: '#F04438',
|
error: '#F04438',
|
||||||
@ -123,10 +124,13 @@ module.exports = {
|
|||||||
osmo: '#9f1ab9',
|
osmo: '#9f1ab9',
|
||||||
'orb-primary': '#b12f25',
|
'orb-primary': '#b12f25',
|
||||||
'orb-primary-hls': '#FF645F',
|
'orb-primary-hls': '#FF645F',
|
||||||
|
'orb-primary-v1': '#612e4d',
|
||||||
'orb-secondary': '#530781',
|
'orb-secondary': '#530781',
|
||||||
'orb-secondary-hls': '#a03b45',
|
'orb-secondary-hls': '#a03b45',
|
||||||
|
'orb-secondary-v1': '#692f55',
|
||||||
'orb-tertiary': '#ff00c7',
|
'orb-tertiary': '#ff00c7',
|
||||||
'orb-tertiary-hls': '#FB9562',
|
'orb-tertiary-hls': '#FB9562',
|
||||||
|
'orb-tertiary-v1': '#993878',
|
||||||
profit: '#4CA30D',
|
profit: '#4CA30D',
|
||||||
primary: '#FF625E',
|
primary: '#FF625E',
|
||||||
secondary: '#FB9562',
|
secondary: '#FB9562',
|
||||||
|
Loading…
Reference in New Issue
Block a user