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

sync to main #28

Merged
merged 136 commits into from
Jan 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
0f380ad
add supabase support for nested registries
Jipperism Oct 18, 2023
7830c54
update usage of hypercertclient to use a single client in the entire app
Jipperism Oct 18, 2023
0057fdb
add basic authentication
Jipperism Oct 18, 2023
7543530
improve ux and dx
Jipperism Oct 18, 2023
f2591ac
add initial version of hyperboards admin
Jipperism Oct 19, 2023
7e485e9
enable rls for all tables
Jipperism Oct 19, 2023
7b21845
fix naming of tables and queries
Jipperism Oct 19, 2023
826a2cd
add basic admin panel
Jipperism Oct 19, 2023
6a31fa1
add registry policies migration
Jipperism Oct 19, 2023
2bd0de5
add delete claim functionality
Jipperism Oct 20, 2023
b4fff67
add basic version of zuzalu retroactive donation form
Jipperism Oct 20, 2023
b5d3a90
add contract and supabase interactions to zuzalu form
Jipperism Oct 20, 2023
8cf15ae
add styling
Jipperism Oct 20, 2023
bfa5db1
add more information modal
Jipperism Oct 20, 2023
5c38e09
add transaction history overview
Jipperism Oct 20, 2023
2586cfc
add thank you page
Jipperism Oct 20, 2023
fe256fd
add custom connect button
Jipperism Oct 20, 2023
4565546
add estimate in dollars
Jipperism Oct 20, 2023
fc30f76
add transaction modal
Jipperism Oct 20, 2023
f3da242
fix email validation and styling
Jipperism Oct 20, 2023
2df712b
trigger build
Jipperism Oct 20, 2023
1a0a5bc
fix build
Jipperism Oct 20, 2023
1e0ec75
run supabase staging workflow for zuzalu branch
Jipperism Oct 21, 2023
79714fe
remove workflow for zuzalu branch again
Jipperism Oct 21, 2023
3e9d3d8
add page titles
Jipperism Oct 21, 2023
d53fe3f
fix font casing error
Jipperism Oct 21, 2023
61119a8
allow any step in amount input in form
Jipperism Oct 21, 2023
893bcd6
feedback
Jipperism Oct 23, 2023
4c9e7aa
Add Gary to the list of signers
holkexyz Oct 23, 2023
d5feb40
update styles of more-information-modal
holkexyz Oct 23, 2023
b40d547
change label and placeholder for amount
holkexyz Oct 23, 2023
d436313
deleting the default value of 0 for funding
holkexyz Oct 23, 2023
79c97b6
increase size of subtitle
holkexyz Oct 23, 2023
164c821
update favicon.ico
Jipperism Oct 23, 2023
081a34c
rename donation to transaction
Jipperism Oct 23, 2023
3971e52
rename donation to transaction
Jipperism Oct 24, 2023
005749c
allow to add hyperboards to registry
Jipperism Oct 24, 2023
955344f
add edit registry claims functionality
Jipperism Oct 24, 2023
bab0ade
add edit and unlink hyperboard_registries
Jipperism Oct 24, 2023
0443001
add sign up with email flow
Jipperism Oct 25, 2023
fc2e231
Merge pull request #7 from hypercerts-org/feature/auth-using-message-…
Jipperism Oct 25, 2023
0b5f917
add initial blueprint admin
Jipperism Oct 25, 2023
4b77931
add blueprints to my registries overview
Jipperism Oct 25, 2023
455c80a
add mint blueprint functionality
Jipperism Oct 26, 2023
88a9663
add blueprint modal to registry edit screen
Jipperism Oct 27, 2023
40a2e52
add interaction dialog
Jipperism Oct 27, 2023
84e1a8c
add owner id and rls for claims migration
Jipperism Oct 27, 2023
e81b090
fix build
Jipperism Oct 27, 2023
c96900b
Merge pull request #8 from hypercerts-org/feature/blueprints
Jipperism Oct 27, 2023
157aea0
create single migration file and add support for hyperboard sponsor m…
Jipperism Oct 31, 2023
10deacc
Merge pull request #9 from hypercerts-org/feature/sponsor-metadata
Jipperism Oct 31, 2023
f3326fe
add snaplet integration
Jipperism Nov 1, 2023
079d870
update gitignore to ignore entire folder instead of files
Jipperism Nov 1, 2023
dab5a24
Merge pull request #10 from hypercerts-org/feature/seeding-data
Jipperism Nov 1, 2023
93a13f0
fix staging env
Jipperism Nov 1, 2023
7a6ba9c
update auth setup
Jipperism Nov 1, 2023
a83d545
update hyperboard fetching to new data structure
Jipperism Nov 2, 2023
c94b4d0
use dynamic hyperboards from supabase
Jipperism Nov 3, 2023
9106fe0
add update hyperboard-registry functionality
Jipperism Nov 3, 2023
3f008b3
add create hyperboard-registry functionality
Jipperism Nov 3, 2023
0a2d643
Merge pull request #11 from hypercerts-org/feature/update-hyperboard-…
Jipperism Nov 3, 2023
4dd159c
add ownership-table.tsx
Jipperism Nov 3, 2023
299a985
update rls policies to be case-insensitive
Jipperism Nov 4, 2023
ca6809d
Merge branch 'develop' into feature/board-designs
Jipperism Nov 4, 2023
1b0549b
fix display of ownership-table.tsx
Jipperism Nov 4, 2023
ee5647a
change display of board when selecting registry in ownership-table.tsx
Jipperism Nov 4, 2023
37ad009
fix dividers
Jipperism Nov 4, 2023
78483a5
fix border thickness
Jipperism Nov 4, 2023
c2829b6
make ownership table responsive
Jipperism Nov 6, 2023
bec921b
add custom scrollbar
Jipperism Nov 6, 2023
75622fb
Merge pull request #12 from hypercerts-org/feature/board-designs
Jipperism Nov 6, 2023
9a4d68e
add mobile nav
Jipperism Nov 6, 2023
4b1fb68
add profile info
Jipperism Nov 6, 2023
d8f1d15
add margin to logo
Jipperism Nov 6, 2023
abd7250
Merge pull request #13 from hypercerts-org/feature/nav-menu
Jipperism Nov 6, 2023
aa7aad1
add development boards page and board detail page
Jipperism Nov 6, 2023
0ea4f89
Merge pull request #14 from hypercerts-org/feature/boards-overview
Jipperism Nov 6, 2023
9823d14
vertical board names
Jipperism Nov 6, 2023
c8dd601
add links in header
Jipperism Nov 6, 2023
b6131c1
add migration for adding claim from blueprint
Jipperism Nov 7, 2023
35cb24e
allow multiple accounts per email
Jipperism Nov 7, 2023
97a46e6
allow guest users
Jipperism Nov 7, 2023
7ead278
add rpc endpoint for creating claim from blueprint
Jipperism Nov 7, 2023
0498ebc
fix creation of default sponsor metadata
Jipperism Nov 7, 2023
f5e102d
add update sponsor metadata functionality
Jipperism Nov 7, 2023
446b871
rename outdated files
Jipperism Nov 7, 2023
042912c
add support for render method
Jipperism Nov 7, 2023
297eaff
display warning when blueprint is on a different chain
Jipperism Nov 7, 2023
a2c864c
add basic preview of hyperboard entry in sponsor metadata form
Jipperism Nov 8, 2023
8b27f2f
upgrade to newest version of hypercerts sdk
Jipperism Nov 8, 2023
b7faeda
cleanup
Jipperism Nov 8, 2023
80fe07b
Merge pull request #15 from hypercerts-org/feature/admin-panel-polish
Jipperism Nov 8, 2023
5c1e5d2
add initial version of create order form
Jipperism Nov 9, 2023
0555b83
add types for hypercerts supabase db
Jipperism Nov 9, 2023
61330eb
fix constants configuration
Jipperism Nov 13, 2023
739d293
add buy order functionality
Jipperism Nov 13, 2023
1e0d263
fix types or error decode
Jipperism Nov 13, 2023
da0179c
add hypercert detail page
Jipperism Nov 13, 2023
8e619d6
fix update registry form
Jipperism Nov 14, 2023
190dc86
polish hypercert detail page
Jipperism Nov 14, 2023
f7ccbaf
add marketplace overview
Jipperism Nov 14, 2023
4e0c825
fix build
Jipperism Nov 14, 2023
85251ce
implement original hypercert designs
Jipperism Nov 14, 2023
d0772cc
some quick layout fixes
Jipperism Nov 14, 2023
c5b81b4
wire up marketplace stats
Jipperism Nov 15, 2023
d188a57
wire up create order button
Jipperism Nov 15, 2023
1a1ca44
wire up list for sale button
Jipperism Nov 15, 2023
ded42c8
fix build
Jipperism Nov 16, 2023
9ac7d30
fix build
Jipperism Nov 16, 2023
9065036
add return to marketplace link
Jipperism Nov 16, 2023
a810cea
Merge pull request #16 from hypercerts-org/feature/marketplace-setup
Jipperism Nov 16, 2023
2128fb6
Feature/claim display size (#17)
Jipperism Nov 22, 2023
3d19446
Feature/board responsiveness (#18)
Jipperism Nov 24, 2023
98bfdcc
Feature/marketplace qa (#19)
Jipperism Nov 30, 2023
07f1f63
use maybeSingle when retrieving sponsor metadata as it can be null
Jipperism Nov 30, 2023
05afd4c
fix get marketplace orders query
Jipperism Nov 30, 2023
eb3746c
add parseContractError utility
Jipperism Nov 30, 2023
04b7a62
add all wallets from hypercerts
Jipperism Nov 30, 2023
b585eb2
set allowance to specified amount, and only if allowance is insuffici…
Jipperism Nov 30, 2023
08374c4
Feature/buy flow designs (#22)
Jipperism Dec 8, 2023
908bc28
Feature/hyperboard fullscreen button (#23)
Jipperism Dec 8, 2023
94a4c48
add support for displaying allowlistCache entries in hyperboard (#24)
Jipperism Dec 9, 2023
03d9686
fix filter conversion for images on company tiles
Jipperism Dec 9, 2023
4be2698
upgrade wagmi, rainbowkit and viem
Jipperism Dec 18, 2023
c89e333
(chore): deprecate goerli (#25)
Jipperism Dec 25, 2023
05e6416
Feature/listing table (#26)
Jipperism Jan 8, 2024
58a9c80
bump marketplace-sdk dependency
Jipperism Jan 15, 2024
0cb43a5
bump marketplace-sdk dependency
Jipperism Jan 15, 2024
9cc0542
enable cross domain request for fetch-order-nonce
Jipperism Jan 15, 2024
078d82b
bump marketplace-sdk version
Jipperism Jan 15, 2024
7a87bf1
update marketplace contract
Jipperism Jan 16, 2024
819974c
small demo preparation fixes
Jipperism Jan 16, 2024
4d6220f
fix stats about marketplace (#27)
Jipperism Jan 16, 2024
024a95e
only show hypercerts for current chain in hypercerts overview
Jipperism Jan 16, 2024
524775e
allow all methods on endpoint cors
Jipperism Jan 16, 2024
1096f0c
allow options requests
Jipperism Jan 16, 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
44 changes: 19 additions & 25 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,30 +1,24 @@
NEXT_PUBLIC_SUPABASE_PRIVATE_KEY=supabase-key
WALLET_CONNECT_ID=wallet-connect-id
SUPABASE_ACCESS_TOKEN=supabase-access-token
NEXT_PUBLIC_NFT_STORAGE_TOKEN=<YOUR_NFT_STORAGE_TOKEN>
NEXT_PUBLIC_WALLETCONNECT_ID=<YOUR_WALLETCONNECT_ID>
NEXT_PUBLIC_TRADER_CONTRACT=<YOUR_TRADER_CONTRACT_ADDRESS>

NEXT_PUBLIC_DOMAIN=hyperboards.org
NEXT_PUBLIC_SUPABASE_URL=<supabase_url>
NEXT_PUBLIC_SUPABASE_ANON_KEY=<supabase_anon_key>
SUPABASE_ACCESS_TOKEN=<supabase_access_token>
NEXT_PUBLIC_SUPABASE_SERVICE_ROLE_KEY=<supabase_service_role_key>

####### Web3 #######
# 5 = Goerli, 10=Optimism
NEXT_PUBLIC_DEFAULT_CHAIN_ID=5


# UUPS proxy contract address
NEXT_PUBLIC_CONTRACT_ADDRESS=public-contract-address


# Subgraph URL - currently using hosted service
NEXT_PUBLIC_GRAPH_URL=https://api.thegraph.com/subgraphs/name/hypercerts-admin/hypercerts-optimism-mainnet

NEXT_PUBLIC_NFT_STORAGE_TOKEN=nft-storage-token

# Trader contract
NEXT_PUBLIC_TRADER_CONTRACT=trader-contract-address
# Hypercerts supabase
NEXT_PUBLIC_SUPABASE_HYPERCERTS_URL=<supabase_url>
NEXT_PUBLIC_SUPABASE_HYPERCERTS_ANON_KEY=<supabase_anon_key>
NEXT_PUBLIC_SUPABASE_HYPERCERTS_SERVICE_ROLE_KEY=<supabase_service_role_key>

# Marketplace API endpoint
NEXT_PUBLIC_HYPERCERTS_MARKETPLACE_API_URL=<marketplace_api_url>

# Provider RPC URL (e.g. via Alchemy)
NEXT_PUBLIC_WALLETCONNECT_ID=wallet-connect-id
NEXT_PUBLIC_WEB3_STORAGE_TOKEN=storage-token
NEXT_PUBLIC_SUPABASE_URL=https://clagjjfinooizoqdkvqc.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=supabase-anon-key
NEXT_PUBLIC_SUPABASE_TABLE=allowlistCache-optimism
NEXT_PUBLIC_ALCHEMY_KEY=<alchemy_key>
NEXT_PUBLIC_JWT_SECRET=<jwt_secret>
NEXT_PUBLIC_ZUZALU_DONATION_SAFE=<zuzalu_donation_safe>

NEXT_PUBLIC_WEB3_STORAGE_TOKEN=<web3_storage_token>
NEXT_PUBLIC_EAS_CONTRACT_ADDRESS=<eas_contract_address>
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,4 @@ yarn-error.log*
next-env.d.ts
/.idea/
/.env
/.snaplet/
116 changes: 113 additions & 3 deletions components/ConnectButton.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,114 @@
import { ConnectButton as RainbowKitConnectButton } from "@rainbow-me/rainbowkit";
export const ConnectButton = () => {
return <RainbowKitConnectButton />;
import { ConnectButton as ConnectButtonInternal } from "@rainbow-me/rainbowkit";
import { Button, ButtonProps } from "@chakra-ui/react";

export const ConnectButton = ({ ...buttonProps }: ButtonProps) => {
return (
<ConnectButtonInternal.Custom>
{({
account,
chain,
openAccountModal,
openChainModal,
openConnectModal,
authenticationStatus,
mounted,
}) => {
// Note: If your app doesn't use authentication, you
// can remove all 'authenticationStatus' checks
const ready = mounted && authenticationStatus !== "loading";
const connected =
ready &&
account &&
chain &&
(!authenticationStatus || authenticationStatus === "authenticated");

return (
<div
{...(!ready && {
"aria-hidden": true,
style: {
opacity: 0,
pointerEvents: "none",
userSelect: "none",
},
})}
>
{(() => {
if (!connected) {
return (
<Button
{...buttonProps}
variant={"blackAndWhite"}
onClick={openConnectModal}
type="button"
>
Connect wallet
</Button>
);
}

if (chain.unsupported) {
return (
<Button
{...buttonProps}
variant={"blackAndWhite"}
onClick={openChainModal}
type="button"
>
Wrong network
</Button>
);
}

return (
<div style={{ display: "flex", gap: 12 }}>
<Button
{...buttonProps}
variant={"blackAndWhiteOutline"}
onClick={openChainModal}
style={{ display: "flex", alignItems: "center" }}
type="button"
>
{chain.hasIcon && (
<div
style={{
background: chain.iconBackground,
width: 12,
height: 12,
borderRadius: 999,
overflow: "hidden",
marginRight: 4,
}}
>
{chain.iconUrl && (
<img
alt={chain.name ?? "Chain icon"}
src={chain.iconUrl}
style={{ width: 12, height: 12 }}
/>
)}
</div>
)}
{chain.name}
</Button>

<Button
{...buttonProps}
onClick={openAccountModal}
type="button"
variant={"blackAndWhite"}
>
{account.displayName}
{account.displayBalance
? ` (${account.displayBalance})`
: ""}
</Button>
</div>
);
})()}
</div>
);
}}
</ConnectButtonInternal.Custom>
);
};
30 changes: 30 additions & 0 deletions components/GenericModal.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import {
ModalBody,
ModalCloseButton,
ModalContent,
ModalContentProps,
ModalHeader,
ModalOverlay,
ModalProps,
} from "@chakra-ui/modal";
import { Flex, Modal } from "@chakra-ui/react";

export const GenericModal = ({
title,
children,
width,
...modalProps
}: ModalProps & { title: string } & Pick<ModalContentProps, "width">) => {
return (
<Modal {...modalProps}>
<ModalOverlay />
<ModalContent minW={width}>
<ModalHeader>{title}</ModalHeader>
<ModalCloseButton />
<ModalBody>
<Flex>{children}</Flex>
</ModalBody>
</ModalContent>
</Modal>
);
};
59 changes: 0 additions & 59 deletions components/Layout.tsx

This file was deleted.

33 changes: 33 additions & 0 deletions components/admin/add-hyperboard-registry-button.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import { Button, useDisclosure } from "@chakra-ui/react";
import { CreateOrUpdateHyperboardRegistryModal } from "@/components/admin/create-or-update-hyperboard-registry-modal";

export const AddHyperboardRegistryButton = ({
hyperboardId,
registryId,
size,
}: {
hyperboardId: string;
registryId?: string;
size?: string;
}) => {
const { onClose, onOpen, isOpen } = useDisclosure();

return (
<>
<Button
aria-label="Edit hyperboard registry"
colorScheme="blue"
onClick={onOpen}
size={size}
>
Add registry to hyperboard
</Button>
<CreateOrUpdateHyperboardRegistryModal
hyperboardId={hyperboardId}
registryId={registryId}
onClose={onClose}
isOpen={isOpen}
/>
</>
);
};
21 changes: 21 additions & 0 deletions components/admin/create-blueprint-modal.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { ModalProps } from "@chakra-ui/modal";
import { GenericModal } from "@/components/GenericModal";
import { CreateOrUpdateBlueprintForm } from "@/components/forms/create-or-update-blueprint-form";

export const CreateBlueprintModal = ({
registryId,
...modalProps
}: { registryId?: string } & Omit<ModalProps, "children">) => {
return (
<GenericModal
title="Create Blueprint"
{...modalProps}
width={"fit-content"}
>
<CreateOrUpdateBlueprintForm
onComplete={modalProps.onClose}
registryId={registryId}
/>
</GenericModal>
);
};
Loading