* 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>
* started work on OcsBanner for docs.base.org
* matched banner style to implementation on base.org
* Added domain to href, fixed anchor style on hover
* updated designs and removed unnecessary isOnPage logic
* moved Sprig integration from apps/web to libs
* deleted unused Sprig integration code from apps/web
* refactored useSprig hook to take configurable environmentId parameter
* Integrated Sprig into base-docs
* refactored sprig domains CSP to be hardcoded in apps
* Refactored base-docs Sprig integration to address import statement issues and supported sprig domains in CSP
* updated yarn dependencies
* refactored the base-docs Sprig integration to be on the layout Root instead of the index page
* Deleted eslintrc file
* Add Coinbase cookie banner to Base Web.
* Base Web - Add cookie policy page and cookie manager. Init CCA with device ID cookie.
* Base Docs - Add cookie policy page and cookie manager. Init CCA with device ID cookie.
* Add custom CookieBanner theme to improve contrast.
* Ignore eslint rule affecting useCookie from @coinbase/cookie-manager.
* Explicitly set base.org domain for cookie.
* Remove domain param from setCookie.
* Add Coinbase cookie banner to Base Web.
* Base Web - Add cookie policy page and cookie manager. Init CCA with device ID cookie.
* Base Docs - Add cookie policy page and cookie manager. Init CCA with device ID cookie.
* Add custom CookieBanner theme to improve contrast.
* Ignore eslint rule affecting useCookie from @coinbase/cookie-manager.
* Explicitly set base.org domain for cookie.
* Add Coinbase cookie banner to Base Web.
* Base Web - Add cookie policy page and cookie manager. Init CCA with device ID cookie.
* Base Docs - Add cookie policy page and cookie manager. Init CCA with device ID cookie.
* Add custom CookieBanner theme to improve contrast.
* Ignore eslint rule affecting useCookie from @coinbase/cookie-manager.
* Add Client Analytics pageview tracking to Base Docs app.
* Add Client Analytics pageview tracking to Base Web app.
* Add import plugin to fix dotenv linting in docusaurus.config.js
* Switch to .ts files and disable type-checking and linting.
* Update initCCA file extension in docs config.
* Add execution environment check before using window variable.
* Replace process.env with publicRuntimeConfig.
* Remove Amplitude env vars. Remove device id from analytics init files.
* Remove duplicate dotenv call.