17 Commits

Author SHA1 Message Date
Brian Doyle
a02e0b93b3 Tune base.org/learn welcome page for SEO (#852)
* Tune base.org/learn welcome page for SEO

* Add script for creating LOs, minor changes
2024-08-15 20:00:45 -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
7180c0b40b Updated rainbowkit version on base-docs and base-web. (#636)
* Updated rainbowkit version and coinbase wallet preferences

* Updated rainbowkit version in base-docs

* Ran yarn
2024-07-13 13:35:16 -04:00
Brendan from DeFi
5f87d88740 Feat: OcsBanner added to docs.base.org (#579)
* 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
2024-06-20 13:34:14 -04:00
Brendan from DeFi
58babadf41 Feat/update sprig (#572)
* 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
2024-06-18 14:50:24 -04:00
taycaldwell
81377c66e7 Add Wallet Connector to Base Developer Docs (#423)
* Add wallet connect to nav

* Add wallet connect

* Update Cafe to wagmi v2

* Fix pre-existing warnings

* Update Cafe w/ wagmi v2

* Address comments

* more fixes
2024-04-22 05:57:30 -07:00
taycaldwell
47ca5b7b77 Docs Site Revamp: Tutorials (#370)
* Add discord, twitter, and github icons.

* Update docusaurus.

* Move security page to sidebar.

* Remove copyright from site footers.

* Add caret icons for dropdown css override.

* Build and style custom docs navbar.

* Resolve Icon merge conflict.

* Change Developers dropdown to Builders.

* lint: Remove unused variable

* Add tutorials; initial commit

* Add and display new frontmatter

* Convert tutorials to single page pt. 1

* Update tutorial data; fix paths

* Ecopage - rubyscore + lore logos (#373)

* Update ecosystem.json (#374)

* Fix incorrectly rendering open graph metadata (#369)

* feat(web): Serve dynamic og:metadata server-side

* feat(docs): Serve dynamic og:metadata server-side

* fix(web): Resolve linting errors

* fix(web): Linting

* fix(web): Additional linting corrections

* fix(web): Resolve Typescript-related syntax error

* refactor(web): Add ogData to data structure

* fix(ecosystem): Typo in partner image name (#375)

* feat(bridge): Add planned paused note to top of page (#376)

* Update hyperframes to use state (#377)

* Update hyperframes to use state

* Respond to feedback

* fix(bridge): Add default open graph metadata (#378)

* Added Moralis to data indexers (#371)

* Added Moralis to data indexers

* typos

* Update copy

* Remove superlatives

---------

Co-authored-by: taycaldwell <taylor.lee.caldwell@gmail.com>

* docs(bridge): Update bridge pause to new date (#381)

* mention setting `OP_NODE_L1_BEACON` (#380)

* feat(docs): Add Uniswap V3 Base Sepolia contracts (#382)

* Improve loading experience on jobs page (#389)

* Docs Site Revamp: Navbar, Sidebar, and Doc Page (#379)

* Add discord, twitter, and github icons.

* Update docusaurus.

* Move security page to sidebar.

* Remove copyright from site footers.

* Add caret icons for dropdown css override.

* Build and style custom docs navbar.

* Resolve Icon merge conflict.

* Change Developers dropdown to Builders.

* lint: Remove unused variable

* Re-add node polyfills required for cookie manager to work.

* Disable DocFeedback component.

* Disable paginator and table of contents.

* Add collapse icons for css override.

* Fix Modal overlay styles.

* Adjust DocChat floating button position.

* Reorganize and restyle sidebar for new design.

* Update gray0 and modal overlay styles.

* Add stylesheet for new doc page styles.

* Remove TODO. Add sidebar link hover styles.

* Move responsive styles to bottom.

* Disable breadcrumb component. Update layout spacing.

---------

Co-authored-by: taycaldwell <taylor.lee.caldwell@gmail.com>

* refactor(bridge): Drop bridge maintenance notice (#390)

* Add tutorials; initial commit

* Add and display new frontmatter

* Update tutorial data

* Fix frontmatter

* Update TOC

* Update tutorials page

* Update toc margin

* fix nested categories in sidebar

* Add all tutorials back link

---------

Co-authored-by: Jacob Moore <jacob.moore@coinbase.com>
Co-authored-by: Kathryn <kathryn.snow@coinbase.com>
Co-authored-by: wbnns <hello@wbnns.com>
Co-authored-by: Brian Doyle <brian.doyle@coinbase.com>
Co-authored-by: Filip Martinsson <martinsson.filip@gmail.com>
Co-authored-by: abhi <abhijeet.bhagat@gmx.com>
Co-authored-by: Matthew Bunday <matthew.bunday@coinbase.com>
2024-03-28 11:33:18 -07:00
jacob-moore-cb
d492aab30b Docs Site Revamp: Navbar, Sidebar, and Doc Page (#379)
* Add discord, twitter, and github icons.

* Update docusaurus.

* Move security page to sidebar.

* Remove copyright from site footers.

* Add caret icons for dropdown css override.

* Build and style custom docs navbar.

* Resolve Icon merge conflict.

* Change Developers dropdown to Builders.

* lint: Remove unused variable

* Re-add node polyfills required for cookie manager to work.

* Disable DocFeedback component.

* Disable paginator and table of contents.

* Add collapse icons for css override.

* Fix Modal overlay styles.

* Adjust DocChat floating button position.

* Reorganize and restyle sidebar for new design.

* Update gray0 and modal overlay styles.

* Add stylesheet for new doc page styles.

* Remove TODO. Add sidebar link hover styles.

* Move responsive styles to bottom.

* Disable breadcrumb component. Update layout spacing.

---------

Co-authored-by: taycaldwell <taylor.lee.caldwell@gmail.com>
2024-03-27 13:44:59 -07:00
jacob-moore-cb
8fbeb790e3 Add GPT Chat to Base Docs (#323)
* Install fetch event source to handle SSEs

* Add docs chatbot modal UI.

* Update Modal and Icon components.

* Add no scroll class.

* Add DocChat component.

* Installed fetch event source.

* Add light theme styles. Clean up code.

* Remove unneeded React import.

* Adjust copy as deployment test change.

* Undo test changes.

* Add Mendable URLs to CSP.

* Add markdown rendering support for chatbot responses.

* Yarn lock update.

* Adjust modal layout spacing.

* Fix chatbot modal styling for mobile screens.

* Add UI for rating bot responses.

* Temporarily disable response rating feature.

* Add server API endpoint for processing Base GPT response rating requests.

* Update csp for new API version.

* Add CCA events for GPT interactions. Fix id data types.

* Swap in prod client-side API keys.

* Use session storage for conversation data.

* Swap in prod client-side API keys.

* Remove unneeded log.

* Simplify state updates.

* Replace dangerouslySetInnerHTML with useRef innerHTML.

* Updated yarn.lock

* Swap in test API key for dev.

* Fix typo.

* Swap in prod client-side key.

* Temporarily remove sources. Adjust scroll behavior. Adjust modal close handler. Update API keys.
2024-03-07 13:20:35 -08:00
jacob-moore-cb
3fad1c70bc Add Cookie Manager and Add CCA Device Tracking (#295)
* 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.
2024-01-31 13:41:40 -08:00
jacob-moore-cb
bc78f6234a Revert "Add Cookie Manager and Add CCA Device Tracking" (#286) 2024-01-29 22:36:56 -01:00
jacob-moore-cb
15a66ea3d4 Add Cookie Manager and Add CCA Device Tracking (#284)
* 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.
2024-01-29 14:25:23 -08:00
jacob-moore-cb
795ba3cbae Revert "Add Cookie Manager and Add CCA Device Tracking" (#272) 2024-01-22 11:45:25 -08:00
jacob-moore-cb
b549065ddd Add Cookie Manager and Add CCA Device Tracking (#257)
* 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.
2024-01-22 09:56:56 -08:00
jacob-moore-cb
f857782341 Algolia Docs Search (#74)
* Add Algolia search.

* Remove kbar search code.
2023-10-20 08:32:09 -07:00
jacob-moore-cb
571ec394f8 Add Client Analytics Pageview Tracking (#29)
* 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.
2023-10-03 11:53:54 -07:00
Matthew Bunday
2872ecb0a1 Clean slate for open source 2023-09-19 16:21:42 -04:00