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

Peri/keyp login #6

Open
wants to merge 2,784 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
2784 commits
Select commit Hold shift + click to select a range
98b2130
new project page: init (#3611)
wraeth-eth May 30, 2023
3b6ca7c
refactor: add forge-run-parser (#3635)
tomquirk May 31, 2023
5af4a7f
SAFE UPDATE [2/2] -Support V3.1 reconfig tx (#3633)
johnnyd-eth Jun 1, 2023
51ceb6b
Fix Safe tabs (Lingui render problem) (#3639)
johnnyd-eth Jun 1, 2023
bb0c14a
configuration section (#3642)
wraeth-eth Jun 2, 2023
1597ee4
minor fixes for configuration table view (#3643)
wraeth-eth Jun 2, 2023
cd996c3
feat: dark mode project page (#3644)
wraeth-eth Jun 2, 2023
84d4888
chore: feature flag new project page (#3645)
tomquirk Jun 2, 2023
8d89260
feat: activity feed style updates (#3641)
tomquirk Jun 2, 2023
eb41e54
Replace useSubgraphQuery instances with Apollo queries (#3591)
peripheralist Jun 2, 2023
17cdb63
DBProjects updates + Owned/Created projects on account page (#3619)
peripheralist Jun 2, 2023
d898450
Minor bug fixes NFT preview (#3667)
johnnyd-eth Jun 5, 2023
305d18d
New Crowdin Translations [skip ci] (#3662)
github-actions[bot] Jun 5, 2023
badedb5
don't show loading on trending projects page if projects.length == 0
peripheralist Jun 2, 2023
7cef500
Hook up project page NFT header card (#3640)
johnnyd-eth Jun 6, 2023
cf6b516
New project page: NFTs & Rewards Panel UI (#3666)
johnnyd-eth Jun 6, 2023
f197ea1
chore: random clean up (#3671)
tomquirk Jun 6, 2023
0fbb1b3
useNftAccountBalance dumbfix
peripheralist Jun 7, 2023
574c616
Replace remaining `querySubgraph` and `querySubgraphExhaustive` insta…
peripheralist Jun 7, 2023
1515982
Project -> DBProject for components, use apollo for projects queries …
peripheralist Jun 7, 2023
da18c98
feat: new project header (#3646)
tomquirk Jun 8, 2023
3162b2a
fix: project query (#3678)
tomquirk Jun 8, 2023
9f79a04
feat: wider new project page (#3680)
tomquirk Jun 8, 2023
9aae0d5
feat: new project page: subcribe button (#3679)
tomquirk Jun 8, 2023
6915d06
feat: new project page default cover bg
tomquirk Jun 8, 2023
f950877
feat: update splits diff style
tomquirk Jun 8, 2023
86f61ab
fix: settings headings
tomquirk Jun 8, 2023
8c6e0ff
fix: various settings page fixes
tomquirk Jun 8, 2023
cf349eb
fix: update Cart snapshot test (#3685)
tomquirk Jun 8, 2023
93ce28d
fix: max height correct show in configuratoin (#3663)
wraeth-eth Jun 9, 2023
1b542f6
useTokensPerEth (#3664)
wraeth-eth Jun 9, 2023
faaae54
rudimentary cart for new project page (#3665)
wraeth-eth Jun 9, 2023
20a3ffc
sync card timer with current (#3674)
wraeth-eth Jun 9, 2023
caa5670
token subtoken section (#3675)
wraeth-eth Jun 9, 2023
17b8dfc
reserved tokens and payouts list (#3676)
wraeth-eth Jun 9, 2023
61a3438
add payout info (#3681)
wraeth-eth Jun 9, 2023
1ba83ea
nft: rename to useNftRewards and add hover on button (#3682)
wraeth-eth Jun 9, 2023
c20b709
wire up nft to cart (#3683)
wraeth-eth Jun 9, 2023
72e791e
wire up pay modal (#3684)
wraeth-eth Jun 9, 2023
1c0f35d
New project page: redeem NFTs section (#3677)
johnnyd-eth Jun 9, 2023
706ffd3
fix: nft rewards with same price (#3692)
tomquirk Jun 11, 2023
3200f57
format amount pay modal (#3686)
wraeth-eth Jun 12, 2023
cb42ee2
apply real data to receive section of nft (#3687)
wraeth-eth Jun 12, 2023
ad698af
receive sectio (#3688)
wraeth-eth Jun 12, 2023
895e389
file picker (#3689)
wraeth-eth Jun 12, 2023
226cd4c
message section file selection (#3690)
wraeth-eth Jun 12, 2023
6bf196f
fix: build
tomquirk Jun 12, 2023
86c58f2
New Crowdin Translations [skip ci] (#3691)
github-actions[bot] Jun 12, 2023
0723b55
fix: activity page (#3694)
tomquirk Jun 12, 2023
9d10bd9
Payouts diff fixes (#3693)
johnnyd-eth Jun 12, 2023
561ae08
refactor: activity page events (#3695)
tomquirk Jun 12, 2023
23f963c
refactor: further activity feed refactor
tomquirk Jun 12, 2023
57753f3
feat: JB721Delegate v3-3 (goerli) (#3696)
tomquirk Jun 12, 2023
9bc897c
Bookmarked projects (#3673)
peripheralist Jun 12, 2023
d21f242
fix: contracts list page crash
tomquirk Jun 12, 2023
4795f3a
bookmark icon size
peripheralist Jun 13, 2023
9ebfcd7
feat: JB721_DELEGATE_V3_3 mainnet (#3698)
tomquirk Jun 13, 2023
ad68ffb
Fix project card spacing (#3699)
johnnyd-eth Jun 14, 2023
b86e023
allow changing beneficiary in pay project modal (#3700)
wraeth-eth Jun 14, 2023
086ebbb
pass back beneficiary to form (#3701)
wraeth-eth Jun 14, 2023
5de7d66
transaction state (#3702)
wraeth-eth Jun 14, 2023
74f06f1
set tab based on state (#3703)
wraeth-eth Jun 14, 2023
d77f31b
pay project (#3704)
wraeth-eth Jun 14, 2023
7a58bed
pay project (#3705)
wraeth-eth Jun 14, 2023
931a827
Add "Explore" button back to homepage with Fathom (#3706)
johnnyd-eth Jun 14, 2023
55c42e0
Safe page mobile update (#3697)
johnnyd-eth Jun 14, 2023
1752f21
pay button / connect wallet (#3708)
wraeth-eth Jun 15, 2023
2d1d348
fix apollo bigint serializer
peripheralist Jun 15, 2023
5c57927
refactor: code shuffle success page view (#3709)
wraeth-eth Jun 15, 2023
d36b152
fix format of success (#3710)
wraeth-eth Jun 15, 2023
b1a2b2c
feat: include hash on success page (#3711)
wraeth-eth Jun 15, 2023
aba3800
feat: success view allow subscribe notifications (#3712)
wraeth-eth Jun 15, 2023
ba92d82
feat: use stacked component in nft card (#3713)
wraeth-eth Jun 15, 2023
1bdd7e8
feat:activity tab first (#3714)
wraeth-eth Jun 15, 2023
ce3ca98
feat: show empty state on history sub panel (#3715)
wraeth-eth Jun 15, 2023
d75e31e
feat: show no payouts when no payouts (#3716)
wraeth-eth Jun 15, 2023
ee6b20c
feat: add upcoming view to payouts (#3717)
wraeth-eth Jun 15, 2023
738e420
feat: view all nft cards (#3722)
wraeth-eth Jun 15, 2023
27f6a56
feat: add empty state for NFT panel (#3719)
wraeth-eth Jun 15, 2023
78e75e1
empty state for reserved tokens (#3720)
wraeth-eth Jun 15, 2023
dee62ce
feat: send payouts (#3723)
wraeth-eth Jun 15, 2023
d8ab657
fix: show correct state for loading payouts (#3724)
wraeth-eth Jun 15, 2023
dd44dd2
feat: send reserved tokens (#3725)
wraeth-eth Jun 15, 2023
0bb3e95
feat: export payout splits to csv (#3727)
wraeth-eth Jun 15, 2023
d4245ed
move reserved tokens (#3728)
wraeth-eth Jun 15, 2023
3212a09
feat: reserved tokens csv (#3729)
wraeth-eth Jun 15, 2023
34d5152
feat: view token holders (#3718)
wraeth-eth Jun 15, 2023
0fce625
chore: remove RelaunchFCBanner
tomquirk Jun 15, 2023
e3ed26f
feat: use JB3.1 for V2->V3 upgrades
tomquirk Jun 15, 2023
603de98
Improve `/projects` page loading state (#3721)
johnnyd-eth Jun 15, 2023
5106bcf
feat: add mouse events to DisplayCard (#3731)
wraeth-eth Jun 15, 2023
2d376e3
Project timeline upgrades (#3707)
peripheralist Jun 15, 2023
1421c46
feat: badge + formatted address minor style changes
tomquirk Jun 16, 2023
0c39ac6
fix: some activity event font sizes
tomquirk Jun 16, 2023
7d1002e
Tooltip project page (#3726)
johnnyd-eth Jun 16, 2023
87399f9
feat: manage project button
tomquirk Jun 16, 2023
21e15f0
fix: send payouts fontsize
tomquirk Jun 16, 2023
99af723
chore: deprecate classNames (#3739)
tomquirk Jun 17, 2023
1fd56b1
fix: unique key (#3733)
wraeth-eth Jun 17, 2023
d8272c3
fix: more rounded project logo (#3734)
wraeth-eth Jun 17, 2023
3d05fca
fix: use real fc (#3735)
wraeth-eth Jun 17, 2023
c27b195
feat: first pass project page mobile (#3736)
wraeth-eth Jun 17, 2023
a271235
load nft correctly (#3737)
wraeth-eth Jun 17, 2023
59d0896
fix: remove width and height classes (#3738)
wraeth-eth Jun 17, 2023
e0981e6
feat: mobile cart items (#3740)
wraeth-eth Jun 17, 2023
0e21ebd
fix: cart click enhancements (#3741)
wraeth-eth Jun 17, 2023
e1be2e4
feat: empty description state (#3742)
wraeth-eth Jun 17, 2023
d936774
hide nft tab when no NFT (#3743)
wraeth-eth Jun 17, 2023
9189d87
fix: native token (#3744)
wraeth-eth Jun 17, 2023
a6d7c4c
fix: unlocked cycles (#3745)
wraeth-eth Jun 17, 2023
743d656
sticky tab bar (#3746)
wraeth-eth Jun 17, 2023
3d50b9f
fix: dark mode nft rewards and image correction (#3747)
wraeth-eth Jun 17, 2023
43c041d
fix: better darkmode quantity control (#3748)
wraeth-eth Jun 17, 2023
6030091
feat: close cart on blur (#3749)
wraeth-eth Jun 17, 2023
b31e448
feat: add new confirmation deletion modal for project dashboard (#3751)
wraeth-eth Jun 18, 2023
46d3735
feat: add modal confirmations to user deletions (#3752)
wraeth-eth Jun 18, 2023
0e7213b
fix: show correct usd price (#3753)
wraeth-eth Jun 18, 2023
b35c79a
fix: JB-466 Hide eth/dollar logo from cart when no pay amount (#3754)
wraeth-eth Jun 18, 2023
3183c00
feat: JB-441 Build out custom hover state for NFT stack card (#3755)
wraeth-eth Jun 18, 2023
3bf5e95
fix: bigger badges by default
tomquirk Jun 18, 2023
35c79f3
New Crowdin Translations [skip ci] (#3750)
github-actions[bot] Jun 19, 2023
0d31d43
fix: JB-468 refactor JuiceVideoThumbnailOrImage to work correctly (#3…
wraeth-eth Jun 19, 2023
0374060
feat: add redeem tokens to project page JB-440 (#3757)
wraeth-eth Jun 19, 2023
fcdd2f8
feat: squash nft tokens on resize (#3758)
wraeth-eth Jun 19, 2023
0d48413
feat: allow read more one line subtitle with page redirection JB-475 …
wraeth-eth Jun 19, 2023
62f6e0d
feat: mobile project header kebab (#3760)
tomquirk Jun 19, 2023
ce02a4e
queryDBProjects pageSize fix
peripheralist Jun 19, 2023
f93eb58
Fix NFT layout (#3763)
johnnyd-eth Jun 20, 2023
28412d9
JB-520 - Inconsistent text styling between cards - Colour and font si…
wraeth-eth Jun 20, 2023
2143a5f
fix: error piping on pay (#3764)
wraeth-eth Jun 20, 2023
6d77bba
fix: JB-509 - Pay modal: Make pay button bigger to match cancel butto…
wraeth-eth Jun 20, 2023
6ea02f4
feat: show total payouts on payouts card (#3766)
wraeth-eth Jun 20, 2023
fec5160
feat: JB-524 If no payouts still show treasury and overflow (#3768)
wraeth-eth Jun 20, 2023
15b0f2e
fix: a little min height on panels never hurt anyone (#3772)
wraeth-eth Jun 20, 2023
4096f22
add footer (#3773)
wraeth-eth Jun 20, 2023
ab1d06a
reduce width to 596 for about (#3774)
wraeth-eth Jun 20, 2023
a7285e1
success pay mobile (#3775)
wraeth-eth Jun 20, 2023
f87798d
Redeem NFTs section fixes (#3770)
johnnyd-eth Jun 20, 2023
caadd48
NFT summary card updates (#3771)
johnnyd-eth Jun 20, 2023
a98c524
fix: 192px footer (#3776)
wraeth-eth Jun 20, 2023
e882192
chore: remove qwestive (#3786)
tomquirk Jun 21, 2023
d8bdca2
chore: update fathom script src
tomquirk Jun 21, 2023
f0627f1
feat: new project p settings button + touchups (#3787)
tomquirk Jun 21, 2023
38d331a
feat: update juicy picks (#3789)
tomquirk Jun 22, 2023
043fb3a
feat: slam nav a bit more
tomquirk Jun 22, 2023
55dbae5
feat: juicy picks touchups
tomquirk Jun 22, 2023
5ed575a
Update new project page NFT cards [2/2] (#3767)
johnnyd-eth Jun 23, 2023
b9f8daf
fix: JB-502 Inconsistent text styling between cards - Colour and font…
wraeth-eth Jun 23, 2023
4471d80
fix: JB-539 - fix infinite overflow payout (#3778)
wraeth-eth Jun 23, 2023
0296a40
fix: JB-540 - Different sized nfts cause issues (#3779)
wraeth-eth Jun 23, 2023
fcb1466
fix: JB-534 - Success page: Make title 'Success!' and make it Agrandi…
wraeth-eth Jun 23, 2023
0a18810
fix: JB-499 - Increase Activity heading size to 24px to match other t…
wraeth-eth Jun 23, 2023
7c452b8
JB-479 - Make ‘Add payment’ button text and input field text 16px (#3…
wraeth-eth Jun 23, 2023
d48e70b
JB-469 - Disallow token deletion from cart and add tooltip explanatio…
wraeth-eth Jun 23, 2023
f1673c4
JB-536 - Success page: add NFT full screen view on click of NFT image…
wraeth-eth Jun 23, 2023
08495b0
JB-530 - Add 'clear all' functionality to cart (#3785)
wraeth-eth Jun 23, 2023
eab1868
JB-529 - Add 'You are eligible for N Reward/s (NFT)' callout and butt…
wraeth-eth Jun 23, 2023
d499079
JB-486 - Even if unlocked, make cycle card the same width to keep con…
wraeth-eth Jun 23, 2023
1b8cfc1
JB-535 - Success page: Add tokens to the NFTs & Rewards section (#3792)
wraeth-eth Jun 23, 2023
21ad438
JB-523 - Add changes callout to upcoming cycles tab (#3793)
wraeth-eth Jun 23, 2023
fbf02f8
chore: nuke onchain gov in reconfig
tomquirk Jun 23, 2023
fcfe823
feat: stub out new cycle config behind ff
tomquirk Jun 23, 2023
ab79cc4
feat: new cycle confir component structure
tomquirk Jun 23, 2023
1af2e52
JB-542 - make assert type that is swapped out in prod (#3794)
wraeth-eth Jun 24, 2023
cbbaffe
JB-503 - ‘Juicebox native’ / 'ERC-20' pill styling should be: bg:smok…
wraeth-eth Jun 24, 2023
cd85ced
JB-488 - Make social links text weight medium and wire them up to soc…
wraeth-eth Jun 24, 2023
cf97859
JB-507 - Increase text size of tabs to 16px (#3797)
wraeth-eth Jun 24, 2023
bff6044
JB-505 - View token holders link font should be weight medium (#3798)
wraeth-eth Jun 24, 2023
4b00016
JB-511 - Pay modal: Risk checkbox text can be regular weight, not med…
wraeth-eth Jun 24, 2023
9de3109
JB-492 - Keep chevron arrow in the same spot on the cart open and clo…
wraeth-eth Jun 24, 2023
1654c7d
JB-485 - Decrease gap between title and logo to 24px (#3801)
wraeth-eth Jun 24, 2023
9d19192
JB-482 - Link ‘payments N’ to activity tab (#3802)
wraeth-eth Jun 24, 2023
812a6e4
JB-497 - Left align ‘Total to pay’ and ETH amount (#3803)
wraeth-eth Jun 24, 2023
63904a6
JB-481 - NFTs & Rewards card ‘View all’ pill should be bg:smoke-100 t…
wraeth-eth Jun 24, 2023
9c581f5
JB-484 - clicking anywhere in the NFTs & Rewards card will take user …
wraeth-eth Jun 24, 2023
e1d38b6
JB-496 - Make payment button 48px height (#3806)
wraeth-eth Jun 24, 2023
0e5285b
JB-495 - Category pill text size should be 12px (#3807)
wraeth-eth Jun 24, 2023
0f56a5a
JB-490 - Add ‘About {project title} heading to this section (#3808)
wraeth-eth Jun 24, 2023
a96e8f7
JB-477 - Clicking cycle card take user to cycle tab (#3809)
wraeth-eth Jun 24, 2023
07ec2db
JB-522 - Centre align ‘Cycle title and ‘Current, Upcoming, History’ p…
wraeth-eth Jun 24, 2023
a700228
JB-519 - Configuration: Subheadings Uppercase. Title should be weight…
wraeth-eth Jun 24, 2023
613ea3d
JB-531 - Success Page: Please make confetti play for longer (#3812)
wraeth-eth Jun 24, 2023
80d45ae
JB-480 - Give ETH/USD switcher button 4px corners instead of 8px (#3813)
wraeth-eth Jun 24, 2023
eb4fe5c
JB-476 - Decrease gap between project handle/owner and subheading (#3…
wraeth-eth Jun 24, 2023
8e07950
JB-483 - Increase tiny nfts images in NFTs & Rewards card to 56px as …
wraeth-eth Jun 24, 2023
880ac94
JB-489 - Add empty state (#3816)
wraeth-eth Jun 24, 2023
5580b9d
JB-491 - center positioning of confirmation modal (#3817)
wraeth-eth Jun 24, 2023
08d1579
JB-533 - Success page: Increase payment card drop shadow blur to 12px…
wraeth-eth Jun 24, 2023
6522788
fix: element tabs is not over top of mobile nav (#3819)
wraeth-eth Jun 25, 2023
888bf40
JB-501 - Add token redemption callout (#3820)
wraeth-eth Jun 25, 2023
6c93666
JB-510 - Pay modal: match top-bottom padding on message card (#3821)
wraeth-eth Jun 25, 2023
52e7efd
JB-556 - pause payments (#3823)
wraeth-eth Jun 25, 2023
4953dd0
fix: minor responsive fixes (#3824)
wraeth-eth Jun 25, 2023
331f090
fix: limit subtitle of project to roughly 50 characters (#3825)
wraeth-eth Jun 25, 2023
08a9a14
JB-543 - disable nfts that are sold out (#3826)
wraeth-eth Jun 26, 2023
dddfc3b
feat: walletconnect v2 (#3829)
tomquirk Jun 27, 2023
c4a0694
Mark strings missing for translations in new project page components …
johnnyd-eth Jun 28, 2023
d486274
New Crowdin Translations [skip ci] (#3822)
github-actions[bot] Jun 28, 2023
bb4bd6a
feat: faster nfts on new project page (#3833)
tomquirk Jun 28, 2023
0fc9212
fix: mobile header kebab icon size (#3834)
tomquirk Jun 28, 2023
01c1bd9
fix: new project page header card spacing
tomquirk Jun 28, 2023
b4f9727
fix: new project page cycle tab spacing
tomquirk Jun 28, 2023
802dedc
feat: better smol nft card loading state
tomquirk Jun 28, 2023
b871358
feat: random new project page style cleanups
tomquirk Jun 28, 2023
c9b1948
feat: more minor style changes
tomquirk Jun 28, 2023
5ee9dfc
Make "About" panel text 16px (#3837)
johnnyd-eth Jun 28, 2023
6e18419
Fix wallet connect modal appearing by transaction modals (#3831)
johnnyd-eth Jun 28, 2023
ae5cc40
fix: add fathom to script src
tomquirk Jun 28, 2023
ddbb002
fix: configuration margin
tomquirk Jun 28, 2023
c84b328
Fix NFT cards mobile (new project page) (#3845)
johnnyd-eth Jun 28, 2023
3cc2d0a
Make mobile pay form wider (#3840)
johnnyd-eth Jun 29, 2023
7ec9dea
fix: safe page
tomquirk Jun 28, 2023
7a84126
fix: cleanup nft preview (#3830)
wraeth-eth Jun 29, 2023
4580d00
JB-558 - Placeholder text still in pay modal (#3832)
wraeth-eth Jun 29, 2023
4df73c7
JB-589 - Cycle data discrepancy (#3835)
wraeth-eth Jun 29, 2023
928c62c
JB-584 Cycle tab - history page - chevron arrows overlap the dates (#…
wraeth-eth Jun 29, 2023
e9f144b
JB-567 - About section width issue when short description (#3839)
wraeth-eth Jun 29, 2023
9406e09
JB-560 - [Mobile] page padding inc. logo image and stats (#3841)
wraeth-eth Jun 29, 2023
f5900aa
JB-562 - [Mobile] tab auto-position/scroll (#3842)
wraeth-eth Jun 29, 2023
f5f798b
JB-587 - Is it possible to get summary to show at leat 1 item on mobi…
wraeth-eth Jun 29, 2023
a14a08e
JB-582 - Make NFT titles in cart font-weight medium (#3844)
wraeth-eth Jun 29, 2023
5e0731d
JB-578 - Don't allow NFT preview hover on mobile (#3846)
wraeth-eth Jun 29, 2023
290ca67
feat: safe badge + disable nfts sometimes (#3849)
tomquirk Jun 29, 2023
a04f21d
Make all links on new project page font-medium (#3836)
johnnyd-eth Jun 29, 2023
27a4938
fix: subscribe mobile fix (#3788)
tomquirk Jun 29, 2023
8a608b6
feat: new project migrate (#3850)
tomquirk Jun 29, 2023
9992f6a
JB-595 - Upcoming payouts table incorrect data (#3848)
wraeth-eth Jun 29, 2023
017a148
JB-570 - [Mobile & Desktop] Auto scroll to 'about' tab on-click of 'r…
wraeth-eth Jun 29, 2023
43fadab
FEATURE_FLAG_TRUE: NEW_PROJECT_PAGE (#3852)
wraeth-eth Jun 29, 2023
1d27eba
fix: reserved tokens now flex wrap correctly (#3853)
wraeth-eth Jun 29, 2023
92258c1
fix: modal popup on mobile (#3854)
wraeth-eth Jun 29, 2023
d6bda4f
fix: reel in footer padding on mobile (#3855)
wraeth-eth Jul 3, 2023
dced073
JB-605 - If no project cover photo, hide component (#3857)
wraeth-eth Jul 3, 2023
6bcdc9f
refactor: reusable kebab on title description display card (#3858)
wraeth-eth Jul 3, 2023
048adf3
JB-603 - Add kebab menu for manage tokens CTA (#3859)
wraeth-eth Jul 3, 2023
5479470
JB-606 - block redeem when redemption is blocked (#3860)
wraeth-eth Jul 3, 2023
78010c1
JB-597 - Add tooltip icons to cycle config cards (#3862)
wraeth-eth Jul 3, 2023
1d86c5a
JB-599 - Add 'extension' data to cycles & payouts (#3863)
wraeth-eth Jul 3, 2023
90b037b
JB-593 - Add 'payments to this project' in other rules under cycles &…
wraeth-eth Jul 3, 2023
e9e21de
JB-594 - Add hover tooltip to diff view in cycle config (#3865)
wraeth-eth Jul 3, 2023
3925fe5
add satsuma connect-src
peripheralist Jul 3, 2023
cefc6b8
Fix settings drawers appearing in front of modals (#3847)
johnnyd-eth Jul 4, 2023
6f1710d
New Crowdin Translations [skip ci] (#3861)
github-actions[bot] Jul 4, 2023
baf4e13
chore: terminal 3 1 1 (#3867)
tomquirk Jul 4, 2023
7af0ce9
Revert "chore: terminal 3 1 1" (#3868)
tomquirk Jul 4, 2023
cf88d0f
chore: terminal 3 1 1 (#3869)
tomquirk Jul 4, 2023
fc873e0
wip keyp transactions. better wallet connect architecture
peripheralist Jun 29, 2023
aa952fa
i18n
peripheralist Jun 29, 2023
e448dcb
-
peripheralist Jul 12, 2023
d9aadb3
Fix cors and fix missing value
pi0neerpat Jul 12, 2023
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
Prev Previous commit
Next Next commit
DBProjects updates + Owned/Created projects on account page (#3619)
peripheralist authored Jun 2, 2023
commit 17cdb63353a3ff4c219333c0ed8ff1e9d9c55225
61 changes: 53 additions & 8 deletions src/components/AccountDashboard/AccountDashboard.tsx
Original file line number Diff line number Diff line change
@@ -19,7 +19,7 @@ import {
useWalletContributionsQuery,
} from 'generated/graphql'
import useMobile from 'hooks/useMobile'
import { useMyProjectsQuery } from 'hooks/useProjects'
import { useDBProjectsQuery } from 'hooks/useProjects'
import { useWalletSignIn } from 'hooks/useWalletSignIn'
import { useWallet } from 'hooks/Wallet'
import { client } from 'lib/apollo/client'
@@ -112,15 +112,55 @@ function ContributedList({ address }: { address: string }) {
)
}

function MyProjectsList({ address }: { address: string }) {
const { data: myProjects, isLoading: myProjectsLoading } =
useMyProjectsQuery(address)
function OwnedProjectsList({ address }: { address: string }) {
const { data: projects, isLoading } = useDBProjectsQuery({
owner: address,
orderBy: 'created_at',
orderDirection: 'desc',
})

const { userAddress } = useWallet()

if (isLoading) return <Loading />

if (!projects || projects.length === 0)
return (
<span>
{address === userAddress ? (
<div>
<p className="mb-5 dark:text-slate-100">
<Trans>You don't own any projects.</Trans>
</p>

<Link href="/create">
<Button type="primary">
<Trans>Create project</Trans>
</Button>
</Link>
</div>
) : (
<p className="dark:text-slate-100">
<Trans>This account doesn't own any projects yet.</Trans>
</p>
)}
</span>
)

return <ProjectsList projects={projects} />
}

function CreatedProjectsList({ address }: { address: string }) {
const { data: projects, isLoading } = useDBProjectsQuery({
creator: address,
orderBy: 'created_at',
orderDirection: 'desc',
})

const { userAddress } = useWallet()

if (myProjectsLoading) return <Loading />
if (isLoading) return <Loading />

if (!myProjects || myProjects.length === 0)
if (!projects || projects.length === 0)
return (
<span>
{address === userAddress ? (
@@ -143,7 +183,7 @@ function MyProjectsList({ address }: { address: string }) {
</span>
)

return <ProjectsList projects={myProjects} />
return <ProjectsList projects={projects} />
}

export function AccountDashboard({
@@ -185,10 +225,15 @@ export function AccountDashboard({
key: 'holding',
children: <ContributedList address={address} />,
},
{
label: t`Projects owned`,
key: 'owned',
children: <OwnedProjectsList address={address} />,
},
{
label: t`Projects created`,
key: 'created',
children: <MyProjectsList address={address} />,
children: <CreatedProjectsList address={address} />,
},
]

125 changes: 3 additions & 122 deletions src/hooks/useProjects.ts
Original file line number Diff line number Diff line change
@@ -16,20 +16,17 @@ import { ProjectState } from 'models/projectVisibility'
import { PV } from 'models/pv'
import { Project } from 'models/subgraph-entities/vX/project'
import { V1TerminalVersion } from 'models/v1/terminals'
import { useEffect, useMemo, useState } from 'react'
import { useMemo } from 'react'
import {
UseInfiniteQueryOptions,
UseQueryOptions,
useInfiniteQuery,
useQuery,
} from 'react-query'
import {
getSubgraphIdForProject,
parseSubgraphEntity,
querySubgraphExhaustive,
} from 'utils/graph'
import { getSubgraphIdForProject, parseSubgraphEntity } from 'utils/graph'
import { formatQueryParams } from 'utils/queryParams'
import { parseDBProjectJson, parseDBProjectsRow } from 'utils/sgDbProjects'

import useSubgraphQuery from './useSubgraphQuery'

interface ProjectsOptions {
@@ -45,10 +42,6 @@ interface ProjectsOptions {
pv?: PV[]
}

type ProjectsOfParticipantsWhereQuery =
| SGQueryOpts<'participant', SGEntityKey<'participant'>>['where']
| null

const DEFAULT_STALE_TIME = 60 * 1000 // 60 seconds
export const DEFAULT_PROJECT_ENTITY_KEYS: (keyof Project)[] = [
'id',
@@ -229,118 +222,6 @@ export function useTrendingProjects(count: number) {
})
}

// Query all projects that a wallet has previously made payments to
export function useContributedProjectsQuery(wallet: string | undefined) {
const where = useMemo((): ProjectsOfParticipantsWhereQuery => {
if (!wallet) return null

return [
{
key: 'wallet',
value: wallet.toLowerCase(),
},
{
key: 'volume',
operator: 'gt',
value: 0,
},
]
}, [wallet])

return useProjectsOfParticipants(where)
}

function useProjectsOfParticipants(where: ProjectsOfParticipantsWhereQuery) {
const [loadingParticipants, setLoadingParticipants] = useState<boolean>()
const [projectIds, setProjectIds] = useState<string[]>()

useEffect(() => {
// Get all participant entities for wallet
const loadParticipants = async () => {
setLoadingParticipants(true)

const participants = await querySubgraphExhaustive(
where
? {
entity: 'participant',
orderBy: 'balance',
orderDirection: 'desc',
keys: [
{
entity: 'project',
keys: ['id'],
},
],
where,
}
: null,
)

if (!participants) {
setProjectIds(undefined)
return
}

// Reduce list of paid project ids
setProjectIds(
participants?.reduce((acc, curr) => {
const projectId = curr?.project.id

return [
...acc,
...(projectId ? (acc.includes(projectId) ? [] : [projectId]) : []),
]
}, [] as string[]),
)

setLoadingParticipants(false)
}

loadParticipants()
}, [where])

const projectsQuery = useSubgraphQuery(
projectIds
? {
entity: 'project',
keys: DEFAULT_PROJECT_ENTITY_KEYS,
where: {
key: 'id',
operator: 'in',
value: projectIds,
},
}
: null,
)

return {
...projectsQuery,
isLoading: projectsQuery.isLoading || loadingParticipants,
}
}

export function useMyProjectsQuery(wallet: string | undefined) {
const projectsQuery = useSubgraphQuery(
wallet
? {
entity: 'project',
keys: DEFAULT_PROJECT_ENTITY_KEYS,
where: {
key: 'owner',
operator: 'in',
value: [wallet],
},
orderBy: 'createdAt',
orderDirection: 'desc',
}
: null,
)

return {
...projectsQuery,
}
}

export function useProjectTrendingPercentageIncrease({
totalVolume,
trendingVolume,
4 changes: 3 additions & 1 deletion src/lib/api/supabase/projects/api.ts
Original file line number Diff line number Diff line change
@@ -57,7 +57,7 @@ export async function queryDBProjects(
res: NextApiResponse,
opts: DBProjectQueryOpts,
) {
const orderBy = opts.orderBy ?? 'total_paid'
const orderBy = opts.orderBy ?? 'volume'
const page = opts.page ?? 0
const pageSize = opts.pageSize ?? 20
// Only sort ascending if orderBy is defined and orderDirection is 'asc'
@@ -77,6 +77,8 @@ export async function queryDBProjects(
if (opts.archived) query = query.is('archived', true)
else query = query.not('archived', 'is', true)
if (opts.pv?.length) query = query.in('pv', opts.pv)
if (opts.owner) query = query.ilike('owner', opts.owner)
if (opts.creator) query = query.ilike('creator', opts.creator)
if (opts.tags?.length) query = query.overlaps('tags', opts.tags)
if (searchFilter) query = query.or(searchFilter)

9 changes: 9 additions & 0 deletions src/locales/messages.pot
Original file line number Diff line number Diff line change
@@ -1631,6 +1631,9 @@ msgstr ""
msgid "{0} for you"
msgstr ""

msgid "You don't own any projects."
msgstr ""

msgid "While enabled, NFTs can be minted when this project receives a payment."
msgstr ""

@@ -2096,6 +2099,9 @@ msgstr ""
msgid "Project token beneficiary address"
msgstr ""

msgid "This account doesn't own any projects yet."
msgstr ""

msgid "Leave this blank to make your currently connected wallet the project owner. Fill this out with an Ethereum address to make that address this project's owner."
msgstr ""

@@ -3185,6 +3191,9 @@ msgstr ""
msgid "Customize your public facing profile and other details."
msgstr ""

msgid "Projects owned"
msgstr ""

msgid "Transfer {tokenTextShort}"
msgstr ""

18 changes: 17 additions & 1 deletion src/models/dbProject.ts
Original file line number Diff line number Diff line change
@@ -21,7 +21,9 @@ export type DBProjectQueryOpts = {
tags?: ProjectTagName[]
archived?: boolean
pv?: PV[]
orderBy?: 'total_paid' | 'created_at' | 'current_balance' | 'payments_count'
owner?: string
creator?: string
orderBy?: 'volume' | 'created_at' | 'current_balance' | 'payments_count'
orderDirection?: 'asc' | 'desc'
page?: number
pageSize?: number
@@ -34,10 +36,24 @@ export type DBProject = {
pv: PV
handle: string | null
metadataUri: string | null

currentBalance: BigNumber
trendingScore: BigNumber
volume: BigNumber
volumeUSD: BigNumber
redeemVolume: BigNumber
redeemVolumeUSD: BigNumber
trendingVolume: BigNumber

paymentsCount: number
trendingPaymentsCount: number
contributorsCount: number
nftsMintedCount: number
redeemCount: number
createdWithinTrendingWindow: boolean

owner: string
creator: string
deployer: string | null
terminal: string | null

3 changes: 3 additions & 0 deletions src/models/subgraph-entities/vX/project.ts
Original file line number Diff line number Diff line change
@@ -24,6 +24,9 @@ export type Project = {
projectId: number
pv: PV
owner: string
creator: string
contributorsCount: number
nftsMintedCount: number
deployer: string | null
createdAt: number
paymentsCount: number
26 changes: 24 additions & 2 deletions src/pages/api/projects/index.page.ts
Original file line number Diff line number Diff line change
@@ -8,8 +8,18 @@ import { NextApiHandler } from 'next'
* @returns Raw SQL query response
*/
const handler: NextApiHandler = async (req, res) => {
const { text, tags, page, pageSize, archived, pv, orderDirection, orderBy } =
req.query
const {
text,
tags,
page,
pageSize,
archived,
pv,
orderDirection,
orderBy,
owner,
creator,
} = req.query

// https://vercel.com/guides/how-to-enable-cors#enabling-cors-in-a-next.js-app
res.setHeader('Access-Control-Allow-Credentials', 'true')
@@ -25,6 +35,16 @@ const handler: NextApiHandler = async (req, res) => {
return
}

if (owner && typeof owner !== 'string') {
res.status(400).send('Owner is not a string')
return
}

if (creator && typeof creator !== 'string') {
res.status(400).send('Creator is not a string')
return
}

if (tags && typeof tags !== 'string') {
res.status(400).send('Tags is not a string')
return
@@ -84,6 +104,8 @@ const handler: NextApiHandler = async (req, res) => {
pv: pv?.split(',') as DBProjectQueryOpts['pv'],
orderDirection: orderDirection as DBProjectQueryOpts['orderDirection'],
orderBy: orderBy as DBProjectQueryOpts['orderBy'],
owner,
creator,
})

res.status(200).json(results)
2 changes: 1 addition & 1 deletion src/pages/projects/ProjectsFilterAndSort.tsx
Original file line number Diff line number Diff line change
@@ -191,7 +191,7 @@ interface ProjectFilterOption {
}

const projectFilterOptions = (): ProjectFilterOption[] => [
{ label: t`Total raised`, value: 'total_paid' },
{ label: t`Total raised`, value: 'volume' },
{ label: t`Date created`, value: 'created_at' },
{ label: t`Current balance`, value: 'current_balance' },
{ label: t`Payments`, value: 'payments_count' },
Loading