Files
web/package.json
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

95 lines
2.9 KiB
JSON

{
"name": "@base-org/base-web",
"version": "1.0.0",
"description": "Base web monorepo",
"repository": "git@github.com::base-org/base-web.git",
"license": "Apache-2.0",
"scripts": {
"build": "yarn workspaces foreach run build",
"lint": "yarn workspaces foreach run lint",
"postinstall": "sh -c 'if [ command -v ./node_modules/.bin/husky ]; then ./node_modules/.bin/husky install; fi;'",
"prepublishOnly": "pinst --disable",
"postpublish": "pinst --enable"
},
"workspaces": [
"apps/*",
"examples/*",
"libs/*",
"packages/*"
],
"devDependencies": {
"@babel/preset-react": "^7.14.5",
"@graphql-eslint/eslint-plugin": "^3.10.4",
"@swc/core": "^1.2.173",
"@swc/jest": "0.2.20",
"@testing-library/react": "14.0.0",
"@types/jest": "^29.4.0",
"@types/node": "18.14.2",
"@types/react": "18.0.28",
"@types/react-dom": "18.0.11",
"@typescript-eslint/eslint-plugin": "^7.8.0",
"@typescript-eslint/parser": "^7.8.0",
"@typescript-eslint/type-utils": "^7.8.0",
"@typescript-eslint/types": "^7.8.0",
"@typescript-eslint/utils": "^7.8.0",
"babel-jest": "^29.4.1",
"babel-plugin-relay": "^14.1.0",
"babel-plugin-tsconfig-paths": "^1.0.3",
"eslint": "^8.27.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-typescript": "^17.0.0",
"eslint-config-next": "13.1.1",
"eslint-config-prettier": "^8.5.0",
"eslint-formatter-codeframe": "^7.32.1",
"eslint-import-resolver-typescript": "^3.5.2",
"eslint-plugin-compat": "^4.0.2",
"eslint-plugin-cypress": "^2.10.3",
"eslint-plugin-import": "2.27.5",
"eslint-plugin-jest": "^27.1.4",
"eslint-plugin-jsx-a11y": "6.7.1",
"eslint-plugin-react": "7.32.2",
"eslint-plugin-react-hooks": "4.6.0",
"eslint-plugin-react-perf": "^3.3.1",
"eslint-plugin-relay": "^1.8.3",
"eslint-plugin-simple-import-sort": "^8.0.0",
"husky": ">=6",
"jest": "^29.4.1",
"jest-environment-jsdom": "^29.4.1",
"lint-staged": ">=10",
"pinst": ">=2",
"prettier": "^2.7.1",
"react": "^18.2.0",
"react-test-renderer": "18.2.0",
"ts-jest": "^29.0.5",
"ts-node": "^10.9.1",
"typescript": "~4.9.4"
},
"resolutions": {
"@coinbase/cookie-manager": "1.1.1",
"next-transpile-modules": "^10.0.0"
},
"resolutionComments": {
"next-transpile-modules": "Next compatibility"
},
"engines": {
"node": ">18.20.3"
},
"packageManager": "yarn@3.5.0",
"dependencies": {
"@linaria/babel-preset": "^4.4.3",
"@next/bundle-analyzer": "^14.2.5",
"@radix-ui/react-icons": "^1.3.0",
"@radix-ui/react-select": "^1.2.1",
"@radix-ui/react-tooltip": "^1.1.2",
"classnames": "^2.3.2",
"clsx": "^1.2.1",
"moment": "^2.29.4",
"next": "12.2.3",
"tslib": "^2.3.0"
},
"lint-staged": {
"*.{ts,tsx}": "eslint --cache --fix",
"*.{ts,tsx,css,md}": "prettier --write"
}
}