Skip to content
This repository has been archived by the owner on May 29, 2024. It is now read-only.

disperse v2 [WIP] #52

Open
wants to merge 63 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 57 commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
4c78546
feat: refactor input components
w84april Feb 6, 2024
96ebd0d
feat: init disperse v2
w84april Feb 11, 2024
702c927
fix: totalToDisperse calculation
w84april Feb 12, 2024
ee6cbcc
fix: re-validate on token change
w84april Feb 13, 2024
fd8b882
feat: add url sync for disperse
w84april Feb 13, 2024
198b90c
feat: add download csv button
w84april Feb 15, 2024
6dfcff1
feat: prepare for disperse csv import
w84april Feb 16, 2024
f363eb7
refactor: move inputs validation out of the components
w84april Feb 21, 2024
df6573a
refactor: disperse wizard
w84april Feb 24, 2024
cd3c250
feat: add download csv button to success modal
w84april Feb 24, 2024
0775546
feat: display error on blur only
w84april Feb 26, 2024
041fbb3
fix: button label
w84april Feb 26, 2024
223b4e9
style: minor ui update
w84april Feb 26, 2024
947e851
feat: add number input package
w84april Feb 27, 2024
6b8d089
fix: selecting address after form reset
w84april Feb 28, 2024
dba9126
feat: add onSetMax
w84april Mar 1, 2024
c23f639
Merge branch 'develop' into feat/disperse
w84april Mar 4, 2024
ad89849
style: responsive ui fixes
w84april Mar 4, 2024
8a7ec97
feat: add mobile layout for sidebar
w84april Mar 4, 2024
6cc9b6a
feat: add network icon
w84april Mar 6, 2024
ce95378
fix: gap
w84april Mar 7, 2024
389a8c8
feat: display partial success modal for send
w84april Mar 11, 2024
227f193
feat: add error modal for disperse
w84april Mar 12, 2024
20f6110
feat: add simple total to disperse label
w84april Mar 12, 2024
b3b6b7e
feat: update token selector
w84april Mar 12, 2024
0962e0c
feat: add download template button
w84april Mar 13, 2024
623704a
Merge branch 'develop' into feat/disperse
w84april Mar 13, 2024
ae98790
fix: fix build attempt
w84april Mar 13, 2024
6bf105d
fix: eslint issues
w84april Mar 14, 2024
e36793a
fix: more eslint issues
w84april Mar 14, 2024
2227b95
fix: more eslint issues
w84april Mar 14, 2024
e620034
fix: prevent setting falsy value
w84april Mar 14, 2024
a90a1ca
feat: add first time interaction warnings
w84april Mar 14, 2024
ff5c6ee
feat: add bump on disperse
w84april Mar 14, 2024
1c948e5
feat: move ab curtain to separate context
w84april Mar 18, 2024
4d3eeed
feat: make use of number of interactions for send
w84april Mar 19, 2024
da6822a
refactor: use TriggerAddressBookButton instead of func
w84april Mar 21, 2024
9d76267
Merge pull request #55 from SmolDapp/feat/ab-tweaks
w84april Mar 21, 2024
a8f55e9
chore: bump packages
Majorfi Mar 22, 2024
a6a239a
fix: fetch eth balance
Majorfi Mar 25, 2024
5f42148
feat: add prices fetch
w84april Mar 25, 2024
3a2727c
fix: build attempt
w84april Mar 25, 2024
7f57b3e
chore: bump
w84april Mar 25, 2024
4a6fa98
feat: add initial wallet page
w84april Mar 26, 2024
30195aa
fix: network selector
w84april Mar 26, 2024
8937a11
feat: add prices in token amount inputs
w84april Mar 26, 2024
c8ee11f
chore: bump
w84april Mar 27, 2024
260fc1d
style: update profile box
w84april Mar 27, 2024
d15729f
chore: bump
w84april Mar 28, 2024
18c56e6
feat: add plausible
w84april Mar 29, 2024
41a1435
fix: remove selected token on network change
w84april Apr 1, 2024
fcb054c
feat: add coming soon badges
w84april Apr 1, 2024
6b28704
feat: add initial ab contact
w84april Apr 1, 2024
777453b
fix: ab import/export
w84april Apr 1, 2024
35a294d
fix: ab chain selector
w84april Apr 1, 2024
9d25ca6
feat: add redirect
w84april Apr 1, 2024
c4f37fd
fix: update next config
w84april Apr 1, 2024
51849d7
feat: render wallet page initially
w84april Apr 2, 2024
3efe368
refactor: move onOpenChange to separate func
w84april Apr 2, 2024
82200e8
chore: rename plausible goal
w84april Apr 2, 2024
e13badf
fix: consider chainId when displaying tokens by address
w84april Apr 2, 2024
37f92a4
chore: remove unused
w84april Apr 2, 2024
4279432
feat: add links
w84april Apr 2, 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
2 changes: 1 addition & 1 deletion components/Primitives/Commands.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ export const CommandItem = React.forwardRef<
<CommandPrimitive.Item
ref={ref}
className={cl(
'relative flex cursor-pointer select-none items-center px-2 py-1.5 mb-0.5 rounded-lg text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-base outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled='true']:pointer-events-none data-[disabled='true']:opacity-50",
className
)}
{...props}
Expand Down
90 changes: 51 additions & 39 deletions components/Primitives/DropdownMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,18 @@ import {IconCheckbox} from '@icons/IconCheckbox';
import {IconCheckboxChecked} from '@icons/IconCheckboxChecked';
import {CheckboxItem, Content, Portal, Separator} from '@radix-ui/react-dropdown-menu';

import type {ReactElement} from 'react';
import type {ReactElement, Ref} from 'react';
import type {
DropdownMenuCheckboxItemProps,
DropdownMenuContentProps,
DropdownMenuSeparatorProps
} from '@radix-ui/react-dropdown-menu';

export const DropdownMenuContent = forwardRef(
({className, sideOffset = 4, ...props}: any, ref): ReactElement => (
(
{className, sideOffset = 4, ...props}: DropdownMenuContentProps,
ref: Ref<HTMLDivElement> | undefined
): ReactElement => (
<Portal>
<Content
ref={ref}
Expand All @@ -30,44 +38,48 @@ export const DropdownMenuContent = forwardRef(
);
DropdownMenuContent.displayName = Content.displayName;

export const DropdownMenuCheckboxItem = forwardRef(({className, children, checked, ...props}: any, ref) => (
<CheckboxItem
ref={ref}
className={cl(
'relative flex cursor-pointer items-center rounded-lg py-2 pl-8 pr-2',
'outline-none select-none transition-colors',
'text-xs text-neutral-800 group',
'focus:bg-neutral-300 data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
className
)}
checked={checked}
onSelect={(e: Event) => e.preventDefault()}
{...props}>
<span
export const DropdownMenuCheckboxItem = forwardRef(
({className, children, checked, ...props}: DropdownMenuCheckboxItemProps, ref: Ref<HTMLDivElement> | undefined) => (
<CheckboxItem
ref={ref}
className={cl(
'absolute left-2 flex h-4 w-4 items-center justify-center',
!checked ? 'opacity-100' : 'opacity-0'
)}>
<IconCheckbox className={'size-4'} />
</span>
<span
className={cl(
'absolute left-2 flex h-4 w-4 items-center justify-center',
checked ? 'opacity-100' : 'opacity-0'
)}>
<IconCheckboxChecked className={'size-4'} />
</span>
{children}
</CheckboxItem>
));
'relative flex cursor-pointer items-center rounded-lg py-2 pl-8 pr-2',
'outline-none select-none transition-colors',
'text-xs text-neutral-800 group',
'focus:bg-neutral-300 data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
className
)}
checked={checked}
onSelect={(e: Event) => e.preventDefault()}
{...props}>
<span
className={cl(
'absolute left-2 flex h-4 w-4 items-center justify-center',
!checked ? 'opacity-100' : 'opacity-0'
)}>
<IconCheckbox className={'size-4'} />
</span>
<span
className={cl(
'absolute left-2 flex h-4 w-4 items-center justify-center',
checked ? 'opacity-100' : 'opacity-0'
)}>
<IconCheckboxChecked className={'size-4'} />
</span>
{children}
</CheckboxItem>
)
);
DropdownMenuCheckboxItem.displayName = CheckboxItem.displayName;

export const DropdownMenuSeparator = forwardRef(({className, ...props}: any, ref) => (
<Separator
ref={ref}
style={{width: 'calc(100% - 16px)'}}
className={cl('my-1 h-px w-full mx-auto bg-neutral-400', className)}
{...props}
/>
));
export const DropdownMenuSeparator = forwardRef(
({className, ...props}: DropdownMenuSeparatorProps, ref: Ref<HTMLDivElement> | undefined) => (
<Separator
ref={ref}
style={{width: 'calc(100% - 16px)'}}
className={cl('my-1 h-px w-full mx-auto bg-neutral-400', className)}
{...props}
/>
)
);
DropdownMenuSeparator.displayName = Separator.displayName;
Loading