9 Commits

Author SHA1 Message Date
Matthew Bunday
d41b9e5938 Feat/homepage revamp (#962)
* Add dependencies

* Add assets

* Working with their mesh

* Not really working shimmer cards

* implement shimmer card without motion/framer

* Fix TagChip

* add button component

* Add Title and move Card

* add Title headline

* try new component

* Add large button and text component

* fix ecosystem page

* wasm free loading?

* Checkpoint, cleaning up lint errors

* New model attempt

* home and jobs page with new section/components

* New mesh export

* Add Base Grantee badge

* script to pull blog posts to display

* blog section

* new top navigation

* mobile blog

* navigation margin

* about page

* Adapt ecosystem page

* adapt builder-anniversary-nft

* adapt jobs page

* remove unused views

* remove unused views / frame / motion

* adapt get started

* i love wagmi

* mobile optimization

* tidy up get started page

* fix alignment

* add connect wallet button & transaction animation

* blog effect tidy up & new job page

* try catch

* fix display

* Load all the objects in a unit sphere

* Add wasm-unsafe-eval to CSP

* gradient circle animation

* Dynamic ThreeHero

* Add gltf and glb to file-loader

* Try combined GLB file

* button fix

* lineheight and text selection styles

* blog section optimizations

* intersection observer

* fix console errors

* blog post optimization, css over state

* one card provider = one event tracking

* we like mobile too

* ecosystem tweaks + mobile friendly

* margin & padding

* overflow fix

* Remove transparency

* use correct buttons & prefer canvas over svg animation

* mobile navigation

* latest optimize 3D pass

* tweak balloon effect

* fixed 3D hero header

* Progress on physics sim

* Link to retrofunding

* Remove brand kit link for now

* First pass at gravity scene

* Added physics pause when a user scrolls.

* fix fog and colors

* Update next to allow draco loading and added noggles to scene

* new light mouse trail

* new light

* mobile sizing

* fix mobile scaling alignment

* remove three card

* remove noggles

* Remove second OP logo

* new logo and lightning

* light intensity

* Lighting

* change switch network button text

* optimize effects

* less harsh light

* latest models and video sections

* sugar cube

* animated menus

* optimize instances in scene and make video hoverable

* Add stats

* add scroll test

* Fix weird flash at the loading + updated menus

* Add cursor

* Remove shimmer

* Mint button

* adjust the bloom a little

* new logo

* fix mint button

* remove orbit controls

* remove stats

* device vh

* mess with device height

* add analytics

* generic events

* eslint pass

* load draco file locally

* remove wasm exceptions

* scene mobile pass: performance fixes

* scene lint pass

* scene lint pass

* fix wasm

* fix card effect

* eslint pass

* cleanup

* linter

* local import

* local import

* Team feedback round 1

* Team feedback round 2

* toggle menu on click

* fixes

* Team feedback round 2

* Team feedback round 3

* og image

* 3D Header

* Team feedback round 4

* Team feedback round 4

* Replace cube video

* og image

* RIght click to mint

* use link component for tracking

* fix active/inactive state

* remove maath

* Team feedback round 5

* Team feedback round 6

* background tweaks

---------

Co-authored-by: Léo Galley <contact@kirkas.ch>
Co-authored-by: Mike Bodge <mbodge@gmail.com>
2024-10-11 15:05:50 -04:00
Léo Galley
b89e81e1c5 chain switcher for developers (#1055)
* chain switcher for developers

* suspense

* remove log
2024-10-10 13:22:12 -04:00
Jordan Frankfurt
ae6c2122b0 feat: usernames (#657)
* describe new endpoint

* add spinner icon and dropdown loading state

* loading avatar state

* use ricardo's endpoints

* better error handling for linked-addresses check

* create jwt with jose

* add loading state to registration UI

* dedupe some registrar controller references

* fix dropdown max height

* rename constant

* name -> names page

* refactor to use AddressMap

* undo docs change

* rm console.log

* set docs data to state on master

* remove classname conditional logic in favor of headless ui transition

* fix early return hook count error

* Extract Learn More Modal

* add dynamic og images for usernames

* clean up og image and url setup

* individually call each endpoint for attestation data--use linked accounts to check for existing registrations

* useAttestations

* fix linkedAddresses undefined error

* clean up api result

* tie in discount state to copy in registration form

* Add ShareUsernameModal for post-claim flow

* ShareUsernameModal: font weight and padding tweaks

* resolve conflicts

* useActiveDiscountValidators()

* ShareUsernameModal: design update

* update proof endpoints

* use response types, fix wrong network breaking name search

* ensure uniform utilization of the network check for contract args construction

* usernames: Update learn more modal

* Shelley feedback 1/6

* Shelley feedback 2/6

* Shelley feedback 3/6

* Brian doyle/zora tutorial (#588)

* Partial: Build with zora

* Stash progress

* Progress stash

* Add zora premint tutorial

* Apply feedback

* Fix typo

* Update title

* Shopify Storefront with Coinbase Commerce checkout (#562)

* Shopify Storefront with Coinbase Commerce checkout

* Implement @briandoyle81CB feedback

* Update Commerce section

* fix formatting

* use backticks for buttons

* add admonitions

* add a tip for checking out with crypto

* swap should with will

* update conclusion

* maintenance(node): Notate new requirement, NVME (#596)

* Swap typescript Code Blocks to tsx (#597)

* Start

* Switch typescript code blocks to tsx

* Feat/add events to docs (#587)

* Created logEvent utility

* Added event tracking to OCS Banner

* Created CustomNavbarLink with event tracking

* created custom navbar dropdown link with event tracking

* added event tracking to P0 navbar elements

* Added eventDetail parameter to event tracking

* Updated Bootcamp link

* enforced cursor pointer on custom navbar links

* updated navbar elements to include event tracking

* event tracking for navbar social links

* added target property to custom navbar elements

* made links to off-domain locations open in new tab

* updated tutorials data

* implemented tracking on connect wallet buttons

* removed duplicate connect button from StudentProgress component

* Links now send events with high importance

* Cleaned up StudentProgress component

* Social clicks use useCallback

* bugfix for logEvent

* created callbacks for social click handlers

* improved social click callbacks

* updated event names

* updated connect wallet event names on base.org

* added full typing to logEvent utility

* refactored logEvent typing

* added userId to event data options

* updated base-docs logEvent immplementations

* updated Connect Wallet event for base.org

* changed component_type to the expected

* Updated event logging for onchain summer banner

* fixed key errors on tutorials page (#598)

* chore: updated node versioning to be latest of 18 (hydrogen) (#560)

* updated node versioning to be latest of 18 (hydrogen) lts

* check if build version update works w/ gh action

* chore: add a pre-commit hook for linting (#601)

* add a precommit hook for linting

* test

* Revert "test"

This reverts commit f5329bd73c927424777cbac81606d19103a1b616.

* add eslintcache to gitignore

* Shelley feedback 4/6

* fix lint

* Shelley feedback 5/6

* Shelley feedback 6/6

* use chain query param

* talk to the individual discount validators

* fix parse cdp key issues

* add error messages

* fix register name callback types

* remove some linkedAddresses stuff from the frontend

* Mobile pass and update contract addresses

* useBaseEnsName hook

* fake hasUsedADiscount

* return error

* return error

* return error

* add back hasRegisteredWithDiscount from backend

* restrict name to 20 chars

* UsernameProfileForm, TextArea, Fieldset, Label, Hint and more

* UsernameProfileForm: use useEnsText and rename bio to description

* utilize proofs apis for checking validity of discounts

* add (discounted)pricing hooks

* useWriteMultipleBaseEnsTextRecords: hooks to multicall

* update register name callback to include non-discounted registrations

* render eth price correctly

* minor cleanup

* fiddling with register call & viem

* clean up discount/non price passthrough

* Move hooks into /src/hooks, clean up useFocusWithin

* fix import path

* Add USD price display

* Fix multiple imports

* Better placeholder

* cleanup

* .json->.ts abi

* fix import

* Update abis to consistent format

* clean + add validateEnsDomainName

* show error message

* reset values when user skip

* format search to avoid space

* button loading state & emoji lenght fix

* add support for discounted registration

* move to profile after registration

* update address type

* add keywords

* check for previously registered addresses on cb.id endpoint

* add states and state switcher

* determine if the name registration is free

* small refactor of RegistrationProvider

* move selectedName to provider

* move hash to provider

* fix broken imports

* rm console.log

* clean up and design fixes for success stage

* connect discounts to explainer modal state

* rm console.log

* Profile page light

* fix pill animation

* update default expire

* redirect to user profile after registration

* fix expiration time

* fix ellipsis

* fix colors

* rename registration-specific profile form

* move brand logic to component

* move components from file to folder

* remove button in the username search input

* fix redirect if no field was edited, rename variables

* update card links and order

* fix some styles

* addAddr and fix the resolvers

* test full flow, reload data

* add correct styling to discounted price

* User can edit profile

* add social links on Profile page

* css cleanup

* fix styles from merge

* fix tooltip opacity

* re-arrange layout to avoid overflow

* wip: fetch coinbase verifications badges

* add usernames early access endpoint

* add name is free pricing subtext

* Fix text on kv errors

* layout fixes and animation

* Add EAS badges

* fix key rendering issue

* Don't display verifications if we have none

* return error on hasPreviouslyClaimed proofs

* rename area of expertise to skill

* add analytics

* use a provider for sanity

* context chaining

* update analytics

* move discount logic to registration context

* add analytics to user profile page

* allow for 2 discounts to create a signature on sybil resistance

* set chain based on env

* switch chain

* fix frogmonkee

* add error states and dropdown components

* fix spacing

* design and usability improvements

* fix navigation and registration profile form

* rm dev controls

* default to env chain

* unify logic for chain check

* fix getAttestations chain logic

* add real name suggestions with cb-gpt

* use cb1 discounts first, if available

* address some TODOs and fix copy-to-clipboard UX in dropdown

* fix domain url, enable metadata and svg card support

* get chain client correctly

* add twemoji support

* Fix css-loader build error

* add endpoints for contract-uri

* add redirect when json is missing

* ECO-75: Fix input focused state with blue background

* ECO-81: Discount modal: external link open in a new tab

* switch key to static value on ens pills

* ECO-93: add <ImageWithLoading> component for nice image load

* ECO-80: add nice animation to the Modal component

* ECO-73: align blue dot

* ECO-72: use Basenames for the pages titles

* ECO-84: transition between registration profile form steps

* ECO-76: Fix jumping layout when changing years

* automatic redirect when missing domain

* fix focus error causing blue reset

* upgrade tanstack

* Add Guild badges

* minimal yarn.lock changes

* Coerce schema type

* Feat/local paymaster (#645)

* paymaster working with url

* Wallet type verification complete

* Packages updated

* configure smart wallet

* Cleanup

* Update yarn.lock

* vercel error fixed

* Build fixed

* Resolved Comments

* Resolved chains

---------

Co-authored-by: Jordan Frankfurt <jordan.frankfurt@coinbase.com>

* remove nav menu item for EA

* fix avatar overflow on pills

* tentative onchainkit implementation

* fix package

* fix padding and ECO-100

* ECO-60: fix validation

* ECO-12: remove perk value

* ECO-12-2: rename

* ECO-16: change tooltip copy

* update to latest onchainkit

* Fix non member found from Base Guild

* fix lock file

* Stub talentprotocol, fix verified country badge

* fix path

* avatar support with Vercel Blob

* lock

* Add TalentProtocol API endpoint

* Remove CSP for talentprotocol

* add radix tooltip pkg w/ refactor and add ai tooltip text

* use universal resolver address, check the avatar upload path

* reset address resolver for now

* error state & 404 page

* Display talent protocol score in badge

* add new discounts to discount modal

* add missing images and EA discount

* remove error stringifying from transactionError component

* ECO-85: skill badge design fix

* fix avatar resolution

* log avatar errors

* add EA contracts and validators

* update contract

* rename key

* debug early access checks

* add message if user is not eligible for early access

* don't discounts modal during early access

* connect wallet fixes

* dual chain support

* Unearned badges

* improve testnet/mainnet banner messaging

* proper chain resolution

* Move badge images

* Fix redirect after customizing profile

* better handling of EA roadblock

* fix cdp get vulnerability

* encode talentprotol URI

* fix cdp get vulnerability

* revert encodeUriComponent

* Fix a bunch of a11y errors

* alt image

* fix label

* Fix yarn lint issues

* lint error on getLinkedAddresses

* refactor paymaster code to fix ts errors (#680)

* add example env vars for paymaster links

* Remove .env

* gitignore .env

---------

Co-authored-by: Léo Galley <contact@kirkas.ch>
Co-authored-by: Ricardo Moguel <ricardo.moguel@coinbase.com>
Co-authored-by: Matthew Bunday <matthew.bunday@coinbase.com>
Co-authored-by: Brian Doyle <brian.doyle@coinbase.com>
Co-authored-by: Pat <patrick.hughes@coinbase.com>
Co-authored-by: wbnns <hello@wbnns.com>
Co-authored-by: Brendan from DeFi <brendan.forster@coinbase.com>
Co-authored-by: Keshav Singhal <107991050+Keshavrajsinghal@users.noreply.github.com>
2024-07-25 12:43:30 -05:00
Brendan from DeFi
b6df0ab1cb Feat: Implement Amplitude Experiment infra (#639)
* Added Amplitude Experiments Initialization to initCCA

* create useVariant hook to pull experimental variants

* refactored useVariant to create simpler interface

* linted

* automated defaultDeploymentKey logic

* added defaultDeploymentKey for prod env

* Created ExperimentsContext for web app

* added more specificity to amplitude domains for CSP

* additional properties on eventData

* added amplitude deployment keys to constants

* deleted unused useVariant hook

* refactored experiment initialization in initCCA

* refactored Experiments context

* refactored usage of Experiments provider

* refactored ampDeploymentKey logic

* removed experiment initialization from initCCA

* restored index page to prior state

* refactored initCCA to pull constants into dedicated file

* created Experiments context in base-docs

* implemented experiments context in base-docs Root

* moved Experiments context to libs

* updated Experiments context integration in base-web

* fixed import statement

* deleted unused context in favor of shared version in libs

* implemented shared experiments context

* moved Experiments context to be innermost context provider in base-web

* removed unused imports from initCCA

* refactored Amplitude Experiments package into libs

* fixed yarn issue

* added type declaration for

* refactored window type declaration
2024-07-23 09:18:38 -07:00
Brendan from DeFi
bbcd406294 change wallet type property from camel to snake case (#643) 2024-07-19 13:40:49 -07:00
Brendan from DeFi
4a5d768d56 Feat: Add walletType to event data (#640)
* add walletType to event data

* changed walletType property to connector name

* removed console logs

* add walletType to base-docs wallet_connected event data

* sanitized connector name strings

* created helper function for string sanitation
2024-07-17 17:59:10 -07:00
Brendan from DeFi
6f094b93fd Feat/add more docs events (#603)
* addressed linter issues on logEvent and typing

* addressed linter issues on OCSBanner

* added analytics events to builder essentials buttons

* updated TextCard to send event analytics

* added event data to text cards

* Updated FooterCategory component for analytics events

* added event analytics to footer links

* deleted dead bridge-faq footer link

* created type for AnalyticsEventData

* Updated type for AnalyticsEventData
2024-06-27 09:03:30 -07:00
Brendan from DeFi
100e7604fd Feat/add events to docs (#587)
* Created logEvent utility

* Added event tracking to OCS Banner

* Created CustomNavbarLink with event tracking

* created custom navbar dropdown link with event tracking

* added event tracking to P0 navbar elements

* Added eventDetail parameter to event tracking

* Updated Bootcamp link

* enforced cursor pointer on custom navbar links

* updated navbar elements to include event tracking

* event tracking for navbar social links

* added target property to custom navbar elements

* made links to off-domain locations open in new tab

* updated tutorials data

* implemented tracking on connect wallet buttons

* removed duplicate connect button from StudentProgress component

* Links now send events with high importance

* Cleaned up StudentProgress component

* Social clicks use useCallback

* bugfix for logEvent

* created callbacks for social click handlers

* improved social click callbacks

* updated event names

* updated connect wallet event names on base.org

* added full typing to logEvent utility

* refactored logEvent typing

* added userId to event data options

* updated base-docs logEvent immplementations

* updated Connect Wallet event for base.org

* changed component_type to the expected

* Updated event logging for onchain summer banner
2024-06-25 15:06:59 -07:00
Matthew Bunday
1fe1802895 Base Quest Anniversary NFT mint (#460)
* Setup merkle tree dependencies

* Setup to use redis to fetch proofs

* Setup RainbowKit

* Move WalletConnectID to ENV var

* Update Content Security Policies for WalletConnect

* Refactor icons, add farcaster

* Get desktop social nav dropdown working

* Setup wallet connect button

* Get useravatar working

* Lint and fix CSP errors

* Setup shared lib infrastructure

* Work on mobile wallet connect button

* Wallet address copy function

* Mint progress

* Add FAQ

* Add NFT metadata

* Minting states in progress

* Minting

* Refactor

* Setup social sharing

* Lint

* Add more logging

* Update share text, add dummy id

* Update URL ala Gardo

* Fix lint

* Builder nft banner

* Improve banner

* Log mint errors

* Update FAQ

* Add utm for mint link

* allow cbhq for now

* useMintStateContext

* Environment tweaks

* Fix nav wrapping

* Fix eslint config for typescript

* Work towards claimed state

* Label nav with 'socials'

* Feedback updates

* Improve banner visibility and display logic

* Copy updates

* Fix eslintrc

* Fix lint / eslintrc, sigh

* Copy update in FAQ

* FAQ copy updates

* FAQ copy updates

* FAQ copy updates

* Update copy

* Remove mint button after minting

* Remove console log

* Remove wallet connect id

* Add error logging
2024-04-25 17:48:45 -04:00