Skip to content

Big redesign and banxa integration #1053

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

Closed
wants to merge 137 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
4eca78f
Start to simplify dashboard / redesign shortcut buttons
mvaivre Nov 17, 2024
afaa5b5
Port similar animation as in the mobile wallet
mvaivre Nov 17, 2024
272a64c
Adapt header so that it matches new MW design
mvaivre Nov 18, 2024
ab34da8
Misc improvements on layout
mvaivre Nov 18, 2024
db1c827
Continue with layout improvements and simplification
mvaivre Nov 19, 2024
5adde6b
AmountsOverviewPanel -> WorthOverviewPanel
mvaivre Nov 19, 2024
4901c46
Tweak buttons, move chart length badges
mvaivre Nov 19, 2024
da60c18
Start tweaking the chart
mvaivre Nov 19, 2024
dd87205
More layout simplification and improvements (Buttons, Inputs)
mvaivre Nov 19, 2024
ce33b26
Nice signature animated effect, starting to like it
mvaivre Nov 19, 2024
c693266
Moar layout improvements
mvaivre Nov 19, 2024
bd78b49
Many tweaks and experiment, try subtle highlights on light theme
mvaivre Nov 20, 2024
48f76a1
Init buy button and BuyModal
mvaivre Nov 21, 2024
b79f088
WIP: fullscreen centered modals
mvaivre Nov 21, 2024
d5d6b2b
More visible borders
mvaivre Nov 21, 2024
4baceac
Banxa iFrame
mvaivre Nov 21, 2024
7133087
Add disclaimer
mvaivre Nov 21, 2024
d1591eb
Experiment with opening the oneramp service in an external window
mvaivre Nov 21, 2024
e849c66
Simplify BuyModal
mvaivre Nov 21, 2024
b781a24
Misc layout improvements
mvaivre Nov 22, 2024
2cfc5ee
Improve electron modal mgmt
mvaivre Nov 22, 2024
c13ba06
Use BuyModal to give explanation about the buy process
mvaivre Nov 22, 2024
aedeac2
Start to improve tables / grid
mvaivre Nov 22, 2024
46bbd25
Moar simplifications
mvaivre Nov 22, 2024
9961c82
Table cleanup
mvaivre Nov 22, 2024
c062697
Continue cleanup (transfers)
mvaivre Nov 22, 2024
ff8a2fb
Address page cleanup
mvaivre Nov 22, 2024
2b30dfa
Simplify tables + many moar improvements
mvaivre Nov 24, 2024
a292570
Better nav + moar improvements to Tables
mvaivre Nov 24, 2024
544e410
WIP cleanup table amounts
mvaivre Nov 25, 2024
adc07eb
Introduce table header (asset) + better structure
mvaivre Nov 25, 2024
0c63d7e
Finish cleaning up asset table
mvaivre Nov 26, 2024
0a87d4d
Tweak address badge and start simplify transaction row
mvaivre Nov 26, 2024
4195758
Many contrast and color tweaks
mvaivre Nov 26, 2024
7e1ef42
Use badges for NFT and NST in transaction row
mvaivre Nov 26, 2024
361f2ed
Misc improvements
mvaivre Nov 26, 2024
f6487ed
Start modifying Sidebar to accomodate expanded state
mvaivre Nov 27, 2024
51e7f97
Get rid of old ScrollBar package!
mvaivre Nov 27, 2024
3e65655
Get rid of the chart
mvaivre Nov 27, 2024
7cba845
Table tweaks
mvaivre Nov 27, 2024
8448dbe
Moar layout tweaks and improvements
mvaivre Nov 27, 2024
2cde0f7
Try to smoothen sidebar nav behaviour (wip)
mvaivre Nov 27, 2024
539339f
Sidebar: pure CSS solution. Add more window drag area.
mvaivre Nov 28, 2024
c2ee6c5
Moar great sidebar and layout tweaks and opti. Add alephium logo.
mvaivre Nov 28, 2024
29160b2
Improve / simplify wallet name display and anim
mvaivre Nov 28, 2024
2e34d36
Header position fix
mvaivre Nov 28, 2024
1d7f162
Huge pass to clean up the onboarding vibe. More lively now.
mvaivre Nov 28, 2024
f52d998
Remove panel :)
mvaivre Nov 28, 2024
b91d389
Continue to tweak onboarding & colors
mvaivre Nov 28, 2024
fc431e4
Moar tweaks
mvaivre Nov 28, 2024
69b8bcf
Experimenting with interactive animated BG
mvaivre Nov 28, 2024
2d7f8eb
Final touches. Inspiring design
mvaivre Nov 28, 2024
b9a0050
Remove tagify which was preventing the build
mvaivre Nov 29, 2024
eb76046
Reactivate pointer events on dragable areas (sidebar and header)
mvaivre Nov 29, 2024
619db71
New ImportWordsPage design & logic tweaks
mvaivre Dec 2, 2024
e334b0f
Start improving wallet creation process (check words) + cleaning
mvaivre Dec 3, 2024
5727cf2
Improve clarity of recovery phrase
mvaivre Dec 4, 2024
aeb590a
First pass on refactoring mnemonic words check
mvaivre Dec 4, 2024
8dba764
Color & layout tweaks
mvaivre Dec 4, 2024
589166b
Dry up AnimatedBackground and add verticalOffset prop
mvaivre Dec 5, 2024
25bd866
Even more simplification and cleaning! More and more consistent with …
mvaivre Dec 5, 2024
8b29c89
Rounded inputs for warmer feel
mvaivre Dec 5, 2024
8f4abb3
Cleanup sidebar, add branding
mvaivre Dec 5, 2024
bf31955
Layout fixes
mvaivre Dec 6, 2024
4e21c0a
Redesign snackbar
mvaivre Dec 6, 2024
8c196b5
Improve placeholders + misc improvements
mvaivre Dec 6, 2024
c8a0f67
Add token allocation bar
mvaivre Dec 6, 2024
c02f681
Border based inputs
mvaivre Dec 7, 2024
d230cd4
Cleanup unsued props in Button, InfoBox etc. + better shortcuts
mvaivre Dec 7, 2024
68b3e1e
Continue cleaning, focus on modals
mvaivre Dec 7, 2024
c251abb
Remove network init snackbar message
mvaivre Dec 7, 2024
bff63a0
Continue cleaning and polishing
mvaivre Dec 8, 2024
e7b7495
WIP
mvaivre Dec 9, 2024
2ffdcf2
Merge branch 'next' into redesign-and-banxa
mvaivre Dec 16, 2024
1b32d4b
Refine connect with ledger btn
mvaivre Dec 16, 2024
435a301
Show shortcut btns right away
mvaivre Dec 16, 2024
2d29a52
Moar transversal cleaning
mvaivre Dec 16, 2024
3df1a4a
Further simplification of welcome screen
mvaivre Dec 16, 2024
d3d72ca
React to Banxa purchase (couldn't test it because of Banxa issues)
mvaivre Dec 17, 2024
b26aa06
Simplify app header (and sidebar)
mvaivre Dec 17, 2024
c91d306
Improve TransactionRow
mvaivre Dec 17, 2024
cb1e271
More btn cleanup
mvaivre Dec 17, 2024
4dbb2bf
Full wallet name + various layout improvements
mvaivre Dec 17, 2024
f72ca9f
Many touches all over the place, aiming for a more compact / pro look…
mvaivre Dec 17, 2024
787d3fa
Thinner font + misc
mvaivre Dec 17, 2024
b9ef64b
Tweak wallet initials, fix wallet threshold initialization
mvaivre Dec 18, 2024
de893f9
Adapt logos and colors
mvaivre Dec 24, 2024
a6c56c2
Don't show Alph in overview if amount is 0
mvaivre Dec 30, 2024
ef0862c
Fix header default address badge
mvaivre Dec 30, 2024
912e702
Fix SVG dom attribute error
mvaivre Dec 30, 2024
1cf3947
Merge branch 'next' into redesign-and-banxa-rebased
mvaivre Jan 16, 2025
546cd59
Fix header drag area
mvaivre Jan 16, 2025
52c0ae2
Little UI tweaks
mvaivre Jan 16, 2025
faf2aaf
Inverse animated gradient vertically
mvaivre Jan 16, 2025
4227d9e
Tweak worth overview, try to match better mobile UI (wip)
mvaivre Jan 16, 2025
02ccc64
More contrasted tabbar
mvaivre Jan 17, 2025
7331ac7
Merge remote-tracking branch 'origin/next' into redesign-and-banxa-re…
mvaivre Jan 17, 2025
337d84b
Visual tweaks
mvaivre Jan 17, 2025
82ff23c
Avoid remounting AnimatedBackground in LockedWalletLayout
mvaivre Jan 17, 2025
94d3ba8
Add "shade" option to AnimatedBackground
mvaivre Jan 17, 2025
804a183
Merge remote-tracking branch 'origin/next' into redesign-and-banxa-re…
mvaivre Jan 17, 2025
79d92c6
Avoid scaling resolution issues, effort to make UI crisper / denser
mvaivre Jan 17, 2025
d97a8a9
Misc tweaks
mvaivre Jan 17, 2025
f1f4d40
Improvements accros the board
mvaivre Jan 17, 2025
14907f5
Transfers -> Activity + change NavItem icons
mvaivre Jan 17, 2025
4157426
Improve Select
mvaivre Jan 17, 2025
d74e488
Improve MultiSelect
mvaivre Jan 17, 2025
8daeecb
Extract SelectMoreIcon
mvaivre Jan 17, 2025
432c6e1
Simplify dashboard's worth overview, misc improvements accross the app
mvaivre Jan 17, 2025
60a2086
Continue simplifying UnlockPanel
mvaivre Jan 17, 2025
f50ebe8
Moar refinements, moar consistent and me moar happy
mvaivre Jan 17, 2025
f51e84c
Improve table rows
mvaivre Jan 17, 2025
77de892
Start to clean up AddressDetailsModal + dynamic scroll + many lil things
mvaivre Jan 17, 2025
c6c8485
Add address activity tab
mvaivre Jan 25, 2025
a9acaa9
Redesign passphrase UX
mvaivre Jan 26, 2025
7e324e8
Allow custom tabbbar alignment
mvaivre Jan 29, 2025
d71b290
Remove unsused logic
mvaivre Jan 29, 2025
1e2903e
Replace SideModal JS enter anim by a CSS animation
mvaivre Jan 29, 2025
9bce892
Re-add bg to logo
mvaivre Jan 29, 2025
f604ebb
Re-add small welcome title
mvaivre Jan 29, 2025
dd3e09c
Misc layout improvements
mvaivre Jan 30, 2025
945a2ae
Fix centered modals
mvaivre Jan 30, 2025
3a99af5
Start to clean address select component
mvaivre Jan 30, 2025
40fa6e9
Remove default containers' motion animations
mvaivre Jan 30, 2025
70a2f9f
WIP
mvaivre Feb 1, 2025
ef089dc
Show NST at the end of lists
mvaivre Feb 4, 2025
46b9059
Misc UI tweaks
mvaivre Feb 5, 2025
f2be191
Merge remote-tracking branch 'origin/next' into redesign-and-banxa-re…
mvaivre Feb 5, 2025
61ecf8c
Replace banxa with onramper
mvaivre Feb 5, 2025
c40402d
Fix FTNameCell overflow
mvaivre Feb 5, 2025
3a3acbe
Listen to URL changes in onramper's child windows
mvaivre Feb 5, 2025
6a42450
Refactor selectOptionItem
mvaivre Feb 5, 2025
bd63de3
Clean up address selects
mvaivre Feb 5, 2025
3d3cfee
Cleanup and simplify buttons (remove contrast variant)
mvaivre Feb 6, 2025
9dc86c1
Misc UI improvements
mvaivre Feb 6, 2025
0e01e6f
Start making more consistent the use of ModalFooterButtons
mvaivre Feb 6, 2025
8a3199b
Better popup / options + misc
mvaivre Feb 6, 2025
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
2 changes: 2 additions & 0 deletions apps/desktop-wallet/electron/electron-env.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ declare global {
getSystemLanguage: () => Promise<string | undefined>
getSystemRegion: () => Promise<string>
setProxySettings: (proxySettings: ProxySettings) => Promise<void>
openOnRampServiceWindow: ({ url, targetLocation }: { url: string; targetLocation: string }) => void
onOnRampTargetLocationReached: (callback: () => void) => () => Electron.IpcRenderer
restart: () => void
}
window: {
Expand Down
66 changes: 65 additions & 1 deletion apps/desktop-wallet/electron/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,15 @@ contextMenu()
// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
let mainWindow: BrowserWindow | null
// Window for on-ramp services
let onRampWindow: BrowserWindow | null

function createWindow() {
mainWindow = new BrowserWindow({
icon: ICON_PATH,
width: 1200,
height: 800,
minWidth: 1200,
minWidth: 1000,
minHeight: 700,
frame: isMac,
titleBarStyle: 'hidden',
Expand Down Expand Up @@ -206,6 +208,68 @@ app.on('ready', async function () {
mainWindow?.webContents.send('window:maximized', false)
})

ipcMain.handle('app:openOnRampServiceWindow', (event, { url, targetLocation }) => {
if (onRampWindow) {
onRampWindow.show()
return
}

onRampWindow = new BrowserWindow({
width: 1000,
height: 800,
webPreferences: {
contextIsolation: true,
webSecurity: true
}
})

onRampWindow.loadURL(url)

onRampWindow.webContents.on('did-navigate', (event, currentUrl) => {
console.log(`Navigated to: ${currentUrl}`)
if (currentUrl.includes(targetLocation)) {
onRampWindow?.close()
onRampWindow = null

mainWindow?.webContents.send('target-location-reached')
}
})

// Ensure window reference is cleaned up
onRampWindow.on('closed', () => {
onRampWindow = null
})

// Handle child windows opening (onramper opens provider in a new window)
onRampWindow.webContents.setWindowOpenHandler(({ url }) => {
const childWindow = new BrowserWindow({
parent: onRampWindow!,
width: 800,
height: 600,
webPreferences: {
contextIsolation: true,
webSecurity: true
}
})
childWindow.loadURL(url)

// Listen for navigation events on the new window
childWindow.webContents.on('did-navigate', (event, currentUrl) => {
console.log(`Child window navigated to: ${currentUrl}`)
if (currentUrl.includes(targetLocation)) {
childWindow?.close()
onRampWindow?.close()
onRampWindow = null

mainWindow?.webContents.send('target-location-reached')
}
})

// Prevent the default action (which would be Electron creating a default window)
return { action: 'deny' }
})
})

createWindow()
})

Expand Down
7 changes: 7 additions & 0 deletions apps/desktop-wallet/electron/preload.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,13 @@ contextBridge.exposeInMainWorld('electron', {
show: () => ipcRenderer.invoke('app:show'),
getSystemLanguage: () => ipcRenderer.invoke('app:getSystemLanguage'),
getSystemRegion: () => ipcRenderer.invoke('app:getSystemRegion'),
openOnRampServiceWindow: ({ url, targetLocation }: { url: string; targetLocation: string }) =>
ipcRenderer.invoke('app:openOnRampServiceWindow', { url, targetLocation }),
onOnRampTargetLocationReached: (callback: () => void) => {
ipcRenderer.on('target-location-reached', callback)

return () => ipcRenderer.removeListener('target-location-reached', callback)
},
setProxySettings: (proxySettings: ProxySettings) => ipcRenderer.invoke('app:setProxySettings', proxySettings),
restart: () => ipcRenderer.invoke('app:restart')
},
Expand Down
24 changes: 19 additions & 5 deletions apps/desktop-wallet/locales/en-US/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,6 @@
"Set gas and lock time": "Set gas and lock time",
"Set gas settings": "Set gas settings",
"Settings": "Settings",
"Shortcuts": "Shortcuts",
"Show": "Show",
"Show advanced options": "Show advanced options",
"Show in explorer": "Show in explorer",
Expand Down Expand Up @@ -346,7 +345,6 @@
"Transaction sent!": "Transaction sent!",
"Transactions": "Transactions",
"Transactions sent!": "Transactions sent!",
"Transfers": "Transfers",
"Type your password to change this setting.": "Type your password to change this setting.",
"Type your password to export your wallet.": "Type your password to export your wallet.",
"Type your password to show the phrase.": "Type your password to show the phrase.",
Expand All @@ -368,7 +366,6 @@
"Use max amount": "Use max amount",
"Use optional passphrase": "Use optional passphrase",
"Useful for miners or DeFi use.": "Useful for miners or DeFi use.",
"Value today": "Value today",
"Version": "Version",
"Version {{ newVersion }} is available": "Version {{ newVersion }} is available",
"Please, download it and install it to avoid any issues with the wallet.": "Please, download it and install it to avoid any issues with the wallet.",
Expand Down Expand Up @@ -427,7 +424,6 @@
"Select the address to send assets to.": "Select the address to send assets to.",
"Destination": "Destination",
"Origin": "Origin",
"One of your addresses to send the assets from.": "One of your addresses to send the assets from.",
"Clear cache": "Clear cache",
"Clear": "Clear",
"Deletes cached wallet and WalletConnect data.": "Deletes cached wallet and WalletConnect data.",
Expand Down Expand Up @@ -494,6 +490,17 @@
"Updating...": "Updating...",
"To send funds you first need to load your wallet with some.": "To send funds you first need to load your wallet with some.",
"The wallet is empty. Use the faucet in the developer tools in the app settings.": "The wallet is empty. Use the faucet in the developer tools in the app settings.",
"Buy": "Buy",
"onramperDisclaimer": "You are about to access 3rd party services provided by <1>onramper.com</1> through an in-app browser. Alephium does not control Onramper's services. Onramper's terms and conditions will apply, so please read and understand them before proceeding.",
"You can now complete your purchase in the dedicated window!": "You can now complete your purchase in the dedicated window!",
"Token": "Token",
"Price": "Price",
"Value": "Value",
"Invalid mnemonic. Please double check your words.": "Invalid mnemonic. Please double check your words.",
"Incorrect word. Please try again.": "Incorrect word. Please try again.",
"Select the correct word for word number <1>{{ number }} of 24</1>.": "Select the correct word for word number <1>{{ number }} of 24</1>.",
"Allocation": "Allocation",
"Start by selecting the origin and destination addresses.": "Start by selecting the origin and destination addresses.",
"Connect with Ledger": "Connect with Ledger",
"Connect your Ledger": "Connect your Ledger",
"Could not generate address": "Could not generate address",
Expand All @@ -511,7 +518,14 @@
"Would you like to scan for active addresses?": "Would you like to scan for active addresses?",
"Scan": "Scan",
"Active address discovery completed. Addresses added: {{ count }}": "Active address discovery completed. Addresses added: {{ count }}",
"Purchase done!": "Purchase done!",
"Wallet worth": "Wallet worth",
"Address worth": "Address worth",
"Loading new transactions...": "Loading new transactions...",
"Sign and Send Unsigned Transaction": "Sign and Send Unsigned Transaction",
"Sign and Send": "Sign and Send"
"Sign and Send": "Sign and Send",
"Unlock a wallet to connect to the dApp.": "Unlock a wallet to connect to the dApp.",
"Activity": "Activity",
"Passphrase warning": "Passphrase warning",
"Don't use passphrase": "Don't use passphrase"
}
8 changes: 3 additions & 5 deletions apps/desktop-wallet/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@
"axios": "^1.7.4",
"electron-context-menu": "^3.1.2",
"electron-is-dev": "^2.0.0",
"electron-updater": "^6.3.9"
"electron-updater": "^6.3.9",
"react-custom-scroll": "^7.0.0"
},
"trustedDependencies": [
"electron",
Expand Down Expand Up @@ -82,7 +83,6 @@
"@types/react-color": "^3.0.6",
"@types/react-dom": "^18.2.4",
"@types/semver-compare": "^1.0.1",
"@types/yaireo__tagify": "^4.18.0",
"@types/zxcvbn": "^4.4.1",
"@typescript-eslint/eslint-plugin": "^6.10.0",
"@typescript-eslint/parser": "^6.10.0",
Expand All @@ -95,7 +95,6 @@
"@walletconnect/sign-client": "2.17.2",
"@walletconnect/types": "2.17.2",
"@walletconnect/utils": "2.17.2",
"@yaireo/tagify": "^4.18.3",
"@yornaath/batshit": "^0.10.1",
"ajv": "^8.12.0",
"better-sqlite3": "^8.3.0",
Expand All @@ -117,7 +116,7 @@
"eslint-plugin-simple-import-sort": "^10.0.0",
"eslint-plugin-unused-imports": "^3.0.0",
"events": "^3.3.0",
"framer-motion": "^11.2.12",
"framer-motion": "^11.12.0",
"i18next": "^23.4.6",
"jsdom": "^21.1.1",
"lodash": "^4.17.21",
Expand All @@ -140,7 +139,6 @@
"react-qr-code": "^2.0.7",
"react-redux": "^8.0.5",
"react-router-dom": "^6.3.0",
"react-scrollbars-custom": "^4.1.1",
"react-tooltip": "^5.25.1",
"redux": "^4.2.0",
"semver-compare": "^1.0.0",
Expand Down
14 changes: 11 additions & 3 deletions apps/desktop-wallet/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import styled, { css, ThemeProvider } from 'styled-components'

import PersistedQueryCacheVersionStorage from '@/api/persistedCacheVersionStorage'
import { usePersistQueryClientContext } from '@/api/persistQueryClientContext'
import AnimatedBackground from '@/components/AnimatedBackground'
import AppSpinner from '@/components/AppSpinner'
import { CenteredSection } from '@/components/PageComponents/PageContainers'
import SnackbarManager from '@/components/SnackbarManager'
Expand All @@ -24,6 +25,7 @@ import { darkTheme, lightTheme } from '@/features/theme/themes'
import { WalletConnectContextProvider } from '@/features/walletConnect/walletConnectContext'
import { useAppDispatch, useAppSelector } from '@/hooks/redux'
import useAutoLock from '@/hooks/useAutoLock'
import useWalletLock from '@/hooks/useWalletLock'
import AppModals from '@/modals/AppModals'
import Router from '@/routes'
import {
Expand All @@ -37,6 +39,7 @@ import { migrateGeneralSettings, migrateNetworkSettings, migrateWalletData } fro

const App = memo(() => {
const theme = useAppSelector((s) => s.global.theme)
const { isWalletUnlocked } = useWalletLock()

useAutoLock()

Expand All @@ -54,16 +57,21 @@ const App = memo(() => {
return (
<ThemeProvider theme={theme === 'light' ? lightTheme : darkTheme}>
<GlobalStyle />

<SplashScreen />

<WalletConnectContextProvider>
<AppContainer>
<CenteredSection>
{!isWalletUnlocked && (
<AnimatedBackground
anchorPosition="bottom"
opacity={theme === 'dark' ? 0.6 : 0.8}
verticalOffset={-100}
hiddenOverflow
/>
)}
<Router />
</CenteredSection>
</AppContainer>

<AppModals />
</WalletConnectContextProvider>
<SnackbarManager />
Expand Down
28 changes: 22 additions & 6 deletions apps/desktop-wallet/src/animations/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,32 @@ export const fadeInBottom = {
transition
}

export const fadeOutBottom = {
exit: { opacity: 0, y: 10 },
transition
}

export const fadeInTop = {
initial: { opacity: 0, y: -10 },
animate: { opacity: 1, y: 0 },
transition
}

export const fadeOutTop = {
exit: { opacity: 0, y: -10 },
transition
}

export const slowTransition = {
transition: { duration: 0.8 }
}

export const normalTransition = {
transition: { type: 'spring', damping: 50, stiffness: 400 }
transition: { type: 'spring', damping: 50, stiffness: 600 }
}

export const fastTransition = {
transition: { type: 'spring', damping: 40, stiffness: 500 }
transition: { type: 'spring', damping: 40, stiffness: 900 }
}

export const fadeInSlowly = {
Expand All @@ -49,9 +65,9 @@ export const fadeInOutFast = {
...fastTransition
}

export const fadeInOutScaleFast = {
initial: { opacity: 0, scale: 0.9 },
animate: { opacity: 1, scale: 1 },
exit: { opacity: 0, scale: 0.95 },
export const fadeInOutBottomFast = {
initial: { opacity: 0, y: 10 },
animate: { opacity: 1, y: 1 },
exit: { opacity: 0, y: 1 },
...fastTransition
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,11 @@ const useFetchAddressSingleTokenBalances = ({
})

return {
data: isALPH ? alphBalances : addressTokenBalances,
data: (isALPH ? alphBalances : addressTokenBalances) || {
availableBalance: '0',
lockedBalance: '0',
totalBalance: '0'
},
isLoading: isALPH ? isLoadingAlphBalances : isLoadingTokenBalances
}
}
Expand Down
6 changes: 3 additions & 3 deletions apps/desktop-wallet/src/components/ActionLink.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import styled, { css } from 'styled-components'
import { HasTooltip } from '@/components/Tooltip'

interface ActionLinkProps {
children: ReactNode
onClick: () => void
children?: ReactNode
Icon?: LucideIcon
iconPosition?: 'right' | 'left'
withBackground?: boolean
Expand All @@ -28,7 +28,7 @@ const ActionLink = ({ Icon, children, tooltip, ...props }: HasTooltip<ActionLink
export default ActionLink

const ActionLinkStyled = styled.button<ActionLinkProps>`
color: ${({ theme }) => theme.global.accent};
color: ${({ theme }) => theme.font.accent};
display: inline-flex;
align-items: center;
cursor: pointer;
Expand All @@ -40,7 +40,7 @@ const ActionLinkStyled = styled.button<ActionLinkProps>`
max-width: 100%;

&:hover {
color: ${({ theme }) => colord(theme.global.accent).darken(0.1).toRgbString()};
color: ${({ theme }) => colord(theme.font.accent).darken(0.1).toRgbString()};
}

&:focus-visible {
Expand Down
Loading
Loading