Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Fix state.from in UserMenu > Link.state (#2610) * Tooling upgrade to Rsbuild (#2617) * upgrade yarn v4 * install rsbuild * try rsbuild dev * add polyfill * postcss config file * favicon * favicon title * html template * remove more unused * remove config overrides * build script * move index html and favicon * dist to build * vitest test runner * update readme * remove mor packages * replace jest types * packages * remove module mapper * typefest * typescript estree req * resolved version * config to js * resolved version * from vitest only * remove unused * css and env * remove analyze as built in * type module * test command * postcss silence warning * remove loader utils * type module * add type declaration * remove unused amplify files * typecheck before build * remove redundant directive * Update amplify.yml Co-authored-by: SovereignAndrey <[email protected]> * Update amplify.yml Co-authored-by: SovereignAndrey <[email protected]> --------- Co-authored-by: SovereignAndrey <[email protected]> * Updates from `master` (#2622) * remove placeholder (#2604) * can be default if only approved (#2605) * FIX: handle fiat chain id (#2606) ## Explanation of the solution * add `fiat` to types * update consumers, change placeholder from `< Tx Link >` to: <img width="598" alt="image" src="https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/89639563/b402eaff-c561-46af-b565-a1f35f167c31"> ## Instructions on making this work - run `yarn` or `yarn install` to install npm dependencies - run `yarn run test --watchAll` to verify all tests still pass - (optional) run `yarn run build` to verify the build passes - run `yarn start` to start the webapp - ## UI changes for review When major UI changes are introduced with a PR, please include links to URLS to compare or screenshots demonstrating the difference and notify on design changes * BG-1007: Fix errors caused by third party scripts (#2608) error must've been caused by trying to hide intercom launcher ## Explanation of the solution * since intercom launcher is fixed in bottom corner, attach observer to `<Footer/>` that will trigger hiding of launcher * use `.intercom` class to hide intercom ### others - move third party scripts to own file ### future - we could use [partytown](https://partytown.builder.io/) so that our scripts don't all load along side our web-app. I tried using it but dev server becomes slower. created ticket to use this tech once its stable / or we upgraded our tooling ## Instructions on making this work - run `yarn` or `yarn install` to install npm dependencies - run `yarn run test --watchAll` to verify all tests still pass - (optional) run `yarn run build` to verify the build passes - run `yarn start` to start the webapp - ## UI changes for review When major UI changes are introduced with a PR, please include links to URLS to compare or screenshots demonstrating the difference and notify on design changes * Fix: receipt modal transparent (#2609) ## Explanation of the solution * add missing background color ![Uploading image.png…]() ## Instructions on making this work - run `yarn` or `yarn install` to install npm dependencies - run `yarn run test --watchAll` to verify all tests still pass - (optional) run `yarn run build` to verify the build passes - run `yarn start` to start the webapp - ## UI changes for review When major UI changes are introduced with a PR, please include links to URLS to compare or screenshots demonstrating the difference and notify on design changes * BG-980: Speed up loading of some `profile` endpoint (#2607) * remove verification status * remove nulll types * remove nullish * standalone balance query * consumers to use new queries * apply endpoint changes * for better cache hit * add isFetching to query state * remove all * change comment * remove unused tag * cherry pick fix (#2620) * remove public * BG-1022: fix crypto tx estimation lag (#2621) * cherry pick fix * use proxied endpoints * BG-1014: Fee presentation update (#2626) * rename loading * merge to platform fee * don't show tx fee * Pass all Image.props to nested img element (#2628) * header menu & nav link updates for marketing site consistency * BG-1005: Fix /auth-redirector URL appearing after redirecting (#2629) * Reinstall yarn pgks * Add setTimeout before redirecting in OAUTHRedirector * Revert yarn.lock * BG-1019: Bank form to use new wise-proxy (#2631) * container * requirements file * wise currencies * expected funds * requirements query * types * fields * order to preserve state * validation error * async validation * radio type * also return quote id * handle overflow * refresh endpoint * styles * required * dual optional * focus * date * style payment option * rename type * uniform style * remove popover * remove unused * use component classes * name * open sans * load text * required amount * create recipient * remove font-work * unregister to remove residual state * bank statement input * bank statement file * remove unused * prune props * move currency selector * update wise currencies * rename * expected funds * clean bank details * Recipient details form * recipient details form * remove unused * remove unused * currency selector * pass form buttons * setup onsubmit * use in registration * use updated * finished and reset * fix error * get file previews * updates * navigate * remove unused service * remove unused * disabled form * delay focus * remove disabled * Closes BG-1041: A user should not be able to continue someone else's registration (#2632) * Add email as part of checking for reg. reference * Revert "Add email as part of checking for reg. reference" This reverts commit 7c5991ded215f4fe579042a20281ca68e494bbbd. * Add authorization header when getting reg. by reference * move base styles (#2638) * Fixes BG-1041: Update `registration-get` endpoint (#2639) * Add apiEnv to end of registration-get route * Update version of endpoint to v5 * BG-1037: admin members (#2640) * members link * members page * title * users query * members table * add user btn * new endow admin endpoint * add wiring * new endow admin * delete endpoint * add delete loading * update message * include endow name * use is submitting instead * BG-957: SDG Groupings (#2641) * categories * use in query * rename file * Bg 1037: Unpushed commits (#2642) * members link * members page * title * users query * members table * add user btn * new endow admin endpoint * add wiring * new endow admin * delete endpoint * add delete loading * update message * include endow name * use is submitting instead * delete icon * heading * BG-671 Add Arbitrum chain and tokens (#2649) * Add Arbitrum mainnet and testnet into constants * Add Arbitrum Chain IDs * Fix inverted placement of chain IDs * use constants defined EVM wallets * Updated RPC URL proxy endpoint for arbitrum-test * Fixed lint errors * align chain names with standards * husky lint-staged scope adjusted to src --------- Co-authored-by: Andrey <SovereignAndrey> * override html content (#2652) * BG-1054: reg emails endpoint (#2651) * update to test versions * remove uppercase * remove handle mutation result * revert deps array * add staging endpoints * FIX: client side vaildation not running (#2653) * remove disabled in register * form with fieldset * BG-958: Stripe Embedded form for credit card payments on existing "credit/debit card" tab (#2598) ## Explanation of the solution Related to https://github.com/AngelProtocolFinance/devops/pull/420 ## Instructions on making this work - run `yarn` or `yarn install` to install npm dependencies - run `yarn run test --watchAll` to verify all tests still pass - (optional) run `yarn run build` to verify the build passes - open *.env* and add: ```.env PUBLIC_STRIPE_KEY=pk_test_51MGl2PJBsJzBirEIi04vNpC8N1pvsmDb8zUHwBV0O47wLoi3atillyJSEz0Syb7dGSOoNEZmFEjZzkKVsWEOI5AP00MP1H0S2R ``` - run `yarn start` to start the webapp - go to http://localhost:4200/donate/53 - insert any amount in "donation amount" field - click "Pay with Card" - wait for Stripe form to load - insert test card data (see docs https://stripe.com/docs/testing) - click "Pay Now" - **verify "Thank you for your donation" page appears** - **verify the flow works when accessed through a widget (example URL http://localhost:4200/donate-widget/33?isDescriptionTextShown=true&advancedOptionsDisplay=collapsed&liquidSplitPct=50)** - **verify that submitted values get pre-loaded when switching between Form, KYC and Checkout steps** ## UI changes for review Desktop: Authenticated (no email field): ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/84def781-d4cd-468c-a109-932e5ff320bd) Non-authenticated (has email field): ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/95e37f88-0032-421d-9514-1701003e4475) ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/cab29551-9db0-43dd-864e-73143bdb4afc) (note: if authenticated, the default email value here will be the user's email; this value can be changed) ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/fb637af2-ca6e-436f-91ff-de6049efeba4) Mobile: Authenticated (no email field): ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/445b2aa7-c037-454a-906d-5bea82d736a7) Non-authenticated (has email field): ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/310a2e2d-70ad-4b31-9c7b-b6c19d4471b1) ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/df187993-eb4e-4243-8302-35076b6e02b0) ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/f376caba-94c0-4e55-89e3-5512a98b31e6) When loading the checkout page (note: left the "back" button so that the user can still navigate back if needed): ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/f7c72b46-3d09-4c09-8855-51db65cbfeab) * remove contact emails and unused fields from types (#2654) Co-authored-by: Andrey <SovereignAndrey> * BG-1077 Decimals adjust (#2658) * expand decimals used for smaller donation amounts * handle str > num * use same humanize for both cases; adj precision to 4 for crypto; --------- Co-authored-by: Andrey <SovereignAndrey> * BG-1087 break profile name titles on words (#2659) Co-authored-by: Andrey <SovereignAndrey> * Update PUBLIC_ENVIRONMENT env. var to 'dev | production' (#2660) * BG-956: Donations tab for PayPal checkout (#2586) ## Instructions on making this work - run `yarn` or `yarn install` to install npm dependencies - run `yarn run test --watchAll` to verify all tests still pass - (optional) run `yarn run build` to verify the build passes - run `yarn start` to start the webapp - go to http://localhost:4200/donate/53 - click on the PayPal tab ## UI changes for review Signed in: ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/53fc393c-bfa6-431a-b0f0-5c4b3d9538c8) Anonymous: ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/bd39d2f2-5a88-435c-bd39-8b0961f810b5) ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/cb3d8359-0d3e-41ab-9e59-45a72d529f66) Didn't work on the UI since this whole page is pending a rework ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/6b413893-ea98-40f2-a18e-9d9ac12b9fa9) * Closes BG-956: Minor refactors + explanatory comments for PayPal flow (#2663) * Lazy import DonateFiatThanks & OAuthRedirector * Add comment to Stripe -> showLoader * Update PayPalOrder.details array to always contain only 1 item + add explanatory comment * Remove client url param from stripe & paypal endpoints * BG-1064 Marketplace card imgs (#2662) * Endow/Card types, profile edit form & marketplace card updated w/ new card image field; * optional field --------- Co-authored-by: Andrey <SovereignAndrey> * Marketplace: remove unused 'hits' param (#2667) Co-authored-by: Andrey <SovereignAndrey> * BG-1102: Biome setup (w/ less strict config) (#2666) * replace package * run format * lint assignments * revert src change * revert format * remove ; * Update package.json Co-authored-by: SovereignAndrey <[email protected]> * fix --------- Co-authored-by: SovereignAndrey <[email protected]> * Towards BG-1045: add donation source (#2655) * update donation paylaod * add donation source * working * apply new appUsed * fix lint error * Towards BG-1056, Closes BG-1094: Donation state re-structure for multiple methods (#2661) ## Explanation of the solution * kindly see code comments for code changes explanations * add additional tab buttons layout for wide screen <img width="1467" alt="image" src="https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/89639563/c4eddc56-3a37-428f-a18c-ffeee28149b8"> * update tab options for mobile <img width="461" alt="image" src="https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/89639563/54430798-d116-44bb-838a-678bd9e11d41"> * modify donation state to accomodate layout from: ```yaml 1 - FORM -Crypto -Stripe -> KYC -> Checkout -Paypal -> KYC -> Checkout ...others 2 - CRYPTO_KYC 3 - CRYPTO_SUBMIT 4 - CRYPTO_RESULT ``` to: ```yaml 1 - FORM -Crypto -Stripe -Paypal ...others 2 - KYC 3 - SUBMIT -Crypto (sendTx) -Stripe Checkout -Paypal Checkout 4 - CRYPTO_RESULT ``` this would prove useful with the plan to have a standalone `splits` screen and summary page for `stocks`. Also `KYC` need not be aware of payment method used. ## Instructions on making this work - run `yarn` or `yarn install` to install npm dependencies - run `yarn run test --watchAll` to verify all tests still pass - (optional) run `yarn run build` to verify the build passes - run `yarn start` to start the webapp - ## UI changes for review When major UI changes are introduced with a PR, please include links to URLS to compare or screenshots demonstrating the difference and notify on design changes * BG-987 Reg step progress indicators (#2668) * reg steps logic tweaked * yarn format --------- Co-authored-by: Andrey <SovereignAndrey> * Run 'yarn check' on all files (#2669) * Closes BG-1108,BG-1109: email not prefilled in paypal (#2670) * include paypal * format * update order * fix index * Closes BG-1104: Move cancel link at the top of the page (#2671) * kyc back button * back should be available even if loading * back available even loading * reuse in paypal * crypto summary back * remove individual cancel * remove unused * format * revert format * add FAQ and org-card * md layout * org card height * width * w-80 lg * org card style * mobile layout * remove border on mobile * mobile layout * add label * background up to md * fix not shrinking * Fix `kyc.name` undefined error (#2682) * disable kyc email when provided * remove disabled * unused error (#2683) * stripe domain verification for apple pay * stripe domain verification for apple pay - index link * stripe domain verification for apple pay - index link fixed * Closes BG-1079: Duplicate new registration (#2685) * new reg to query * remove unused tag * convert useEffect to qurey * remove flag * Towards BG-1080: Replace DafDirect with Chariot (#2680) * Add react-chariot-connect * Add chariot donate method * Add PUBLIC_CHARIOT_CONNECT_ID * Remove currency from Chariot * Currency field refactor * Handle chariot grant on success * Add comment to onSuccess * Update result of chariotGrantIntent query * Disable while loading * Remove redundant Checkout.tsx * Add missing new line * Fix yarn pkg version * Add back CurrencySelector * Disable CurrencySelector while currencies are loading * Add comment on min donation amount * Update min donation amount tooltip * Fix workflowSessionId fetching * Remove apiEnv from chariot endpoint * Reinstall all pkgs * Revert Chariot tab to DAF * Add missing PUBLIC_CHARIOT_CONNECT_ID to amplify.yml * Update min. amount tooltip * Destructure formState from methods before render * Make CurrencySelector.disabled prop optional * Remove 'disabled' props from DonateMethods/../Form * stripe domain verification for apple pay - index link rmvd * BG-1105 - remove banner overlay * Closes BG-1099: Stocks multistep (#2679) * fix unwanted margin * stock donation details * prepare stocks checkout * terms spacing * new stocks form * add benefits * checkout steps * email link * from root * prefill data * add comment * Closes BG-1116: Donation succesful screen (#2681) * confetti * share section * fiat thanks * remove perspective * Update src/components/donation/Steps/Result/Success/index.tsx Co-authored-by: Nenad Misic <[email protected]> --------- Co-authored-by: Nenad Misic <[email protected]> * Increase stripe-js pkg version to 2.4.0 (#2686) * Closes BG-1107: Splits standalone step (#2684) * add split step and update consumers * add split step * form to split if kyc skipped * checkout back to split * splits back button * splits descp * remove old splits * remoe unused widget config * add slider component * add icons * portion component * reomve range reset * submit btn * increase mt * adjust crypto style * crypto source * remove unused prop * Update Split.tsx to handle 'stocks' separately when reading amount+symbol (#2689) * Upgrade yarn to 4.1.0 (#2690) * Closes BG-1008: Donate Widget: on successful donation show the "thank you for the donation" page inside the widget (#2687) * Update DonaterConfigFromWidget props to be optional (instead of nullable) * Fix SEO url on DonateWidget/Content * Nest DonateFiatThanks in the widget route * Rename hideBackButton->widgetVersion * Use ExtLink when inside widget * Navigate PayPal donations to correct donate-fiat-thanks url * Create separate donateWidgetRoutes + Add StripePaymentStatus as widget subcomponent * Navigate Stripe donations to correct donate-fiat-thanks url * Update how error is displayed * Remove redundant uses of isInWidget * Revert "Update DonaterConfigFromWidget props to be optional (instead of nullable)" This reverts commit 08fb9d500c4c55c4919a886da6b62eaa5a88ce11. * Remove reference to button in DonateFiatThanks inside widget * set locked as tracked value (#2700) * Closes BG-1113: FAQ content (#2688) * faq content * remove p wrappers * colon to dot * Closes BG-1067: Public page for anyone to create a nonprofit donation widget (#2691) * Recreate yarn.lock * Add widget-config as public page * Add missing '.css' extensions to styles files * Add options.skip to useEndowment hook * Reuse Widget as a public page * Revert @container/widget container query * Copy/paste src/pages/Admin/Layout.tsx container styles into App.tsx -> Widget * Towards BG-1121: After signing in and being redirected to Marketplace, the URL should be /marketplace and not /auth-redirect (#2702) * Increase redirect delay to 700ms in OAuthRedirector.tsx * Rename OAUTHRedirector->OAuthRedirector * BG-1125 Widget: updates to copy (staging) (#2706) ## Explanation of the solution Duplicate changes as in #2705 to update widget copy for staging branch. Cherry-picked into `RC-v1.9.2`. ## Instructions on making this work - run `yarn` or `yarn install` to install npm dependencies - run `yarn run test --watchAll` to verify all tests still pass - (optional) run `yarn run build` to verify the build passes - run `yarn start` to start the webapp - ## UI changes for review When major UI changes are introduced with a PR, please include links to URLS to compare or screenshots demonstrating the difference and notify on design changes * Closes BG-1132: Fix donation validation (#2707) * strnumber builder * apply helpers to chariot * paypal form * striep validation * remove separate schema file * improve banking app filter schema * Towards BG-1126: Crypto checkout updates (#2701) * separate fee from estimate * container first * container as checkout * connected wallet * pass classes * online dropshadow * move wallet provider to checkout * rename folder * rename * rename * minimal input * gas tooltip * reset estimate on disconnect * remove row absraction * usd value * smaller connect btn * remove unused dot * removed unused * reeanble submit * rounded corners + padding * rounded full * Closes BG-1115: Update web-app font (#2708) * replace font family * remove font-work * remove font-work * Capitalize nonprofit field name (#2712) * Remove unused registerOptions prop from Field.tsx (#2710) * Remove unused registerOptions prop from Field.tsx * Format package.json * Increase auth redirect delay to 1000ms (#2713) * BG-1107, BG-1126: Fiat checkout summary (#2709) * add rate to currency * abstract splits * stripe checkout * paypal checkout * paypal checkout * DAF summary * chariot go back to splits * fix splits inconsistency * Move radio bank details field's error next to the label (#2716) * Closes BG-1095: Add links to donate terms (#2714) * add donate links * privacy policy * remove unused bold * Closes BG-1111: Redesign of Header Navbar (#2711) ## Instructions on making this work - run `yarn` or `yarn install` to install npm dependencies - run `yarn run test --watchAll` to verify all tests still pass - (optional) run `yarn run build` to verify the build passes - run `yarn start` to start the webapp ## UI changes for review ### Signed in: - desktop: ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/6a8cf0db-1801-4f67-8aea-4857fcb43b79) ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/58960b8d-2be1-4a93-bd22-3758fb2bf28d) - tablet (note: this is old logo, it is now the same as on desktop/mobile): ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/97fc7bb3-d983-4778-925b-02fcda1d6c7d) ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/2f8e6681-a024-4650-a7cd-6b3247f95ae5) - mobile: ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/9f862855-14c3-477c-b2d2-223a5e7df5a5) ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/e43993e5-27a7-48c6-ad97-3ce1c40694e8) ### Signed out: **NOTE: "Login" was renamed "Log in" and "Sign out" was renamed "Log out".** - desktop: ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/9b59d4da-01aa-43ea-9f56-87944305d834) ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/d61b88f0-c6ea-4f99-8a62-264b8098d1b1) - tablet: ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/a034bab0-1793-4cf4-a410-2427dde4b611) ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/4e450356-23a4-4aef-bca4-6e18874777c0) - mobile: ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/84859bf8-8332-4291-91d1-5516b177ea67) ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/1a489fcb-ab3b-4e32-833b-b0671ceaccfd) ### Transition from fixed non-full width header to sticky full width one https://www.loom.com/share/3a913705f338429fbb741a7b3aa247bd?sid=172802ce-ac4b-4ded-8912-98bbaea713cc * Closes BG-1123: Donate Widget: log the "Invalid widget config found - loaded defaults" message, don't display it (#2720) * Move Sentry.captureException to ErrorContext * Display & log error in Widget in config is invalid * Rename donaterConfigFn->parseConfig * Show exact error * Closes BG-1134: set Splits currency code as uppercase by default (#2721) * Closes BG-1070: BankDetails: fields should have a red border when an error appears (#2729) * Disable auth * Set input fields' border red when invalid * Use '.field' on container class for text input * Set data fields' border red when invalid * Add cursor-pointer to radio buttons * Remove Label mb-1 and increase gap-2 * Refactor radio btn * Set red border when invalid * Set bank statement border red when invalid * Revert "Disable auth" This reverts commit 29fcf1baa88e74946f6de1bb2f80126546314d2b. * Revert changes to radio btn logic + add border red when invalid * Add cursor-pointer to radio btns * Closes BG-1071: BankDetails: improve selector styles (#2727) ## Explanation of the solution See https://github.com/AngelProtocolFinance/angelprotocol-web-app/pull/2727#discussion_r1487805046 ## Instructions on making this work - run `yarn` or `yarn install` to install npm dependencies - run `yarn run test --watchAll` to verify all tests still pass - (optional) run `yarn run build` to verify the build passes - run `yarn start` to start the webapp - start registration - go to step 5 http://localhost:4200/register/steps/5 - **verify UI matches the expectations** ## UI changes for review As requested in the [ticket](https://linear.app/better-giving/issue/BG-1071/bankdetails-improve-selector-styles) * Header Navbar redesign changes v2 (#2728) Towards BG-1139 Regarding page paddings, I focused mainly on centering the content and moving it away from the header navbar. Paddings needed to be added to individual pages (or groups of pages like Admin), because they still needed to appear behind and around the header navbar. Pages themselves were created with a full-width, fixed-height sticky header navbar, so at the moment some UI can seem clunky with the new floating header navbar, see admin page as an example: ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/7c8bb751-0f6d-43de-9835-db1fc797896f) Also, I aligned the donate page to be similar to every.org's (no header): ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/3bb7dc56-c11c-4f6c-b824-916aacf588ed) ## Instructions on making this work - run `yarn` or `yarn install` to install npm dependencies - run `yarn run test --watchAll` to verify all tests still pass - (optional) run `yarn run build` to verify the build passes - run `yarn start` to start the webapp - **verify the Look&Feel of all pages is satisfactory** ## UI changes for review ### Popup - desktop (active link is orange): ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/073460b4-7a22-4dc0-9359-12d268849e2c) - mobile *signed in*: ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/568b0106-9abe-4717-b0cc-178c80e6d6d7) - mobile *signed out*: ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/6ea95261-7133-4933-b7f8-f555037fd942) - hover over link -> darken the text + underline: ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/06d5204a-82d5-4b29-83f8-671dc9d8f66d) - hover over active link -> text orange + unclickable ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/c005e657-aea9-4942-a780-e02213d37a86) * Use native Key type instead of ValKey (#2730) * Add comment for py-0 pl-0 * Use native Key typye instead of ValKey * Update OptionType<V> to extends Key | symbol * Revert "Use native Key typye instead of ValKey" This reverts commit 4588b25d288b1bc09ba9c2b374502f544326ef96. * Use ValKey instead of Key in OptionType generic def * Fix MultiSelector (missing ValKey in SelectedOption generic type def * Remove symbol * Update all input fields to trim start & end space characters (#2732) ## Explanation of the solution Towards BG-1143 - added [Yup.string().trim()](https://github.com/jquense/yup?tab=readme-ov-file#stringtrimmessage-string--function-schema) wherever appropriate - use the opportunity to swap all `Yup.string().required("required")` instances with `requiredString`. ## Instructions on making this work - run `yarn` or `yarn install` to install npm dependencies - run `yarn run test --watchAll` to verify all tests still pass - (optional) run `yarn run build` to verify the build passes - run `yarn start` to start the webapp * BG-1080: Update DAF donation flow to include a manual DAF donation option (#2731) * Create New Chariot flow scaffold * Fix typo * update flow * Revert Chariot donate UI * Disable back button while chariot is loading * Minor rework to the daf email * Gray out the BackBtn when disabled * Format * Unwrap createGrant call * Hide ContentLoader when an error occurs * Update email format * Display chariot button when error occurs and error modal is closed * Create ChariotCheckout.Props type * Move chariot logo to an actual .svg file * Move BackBtn inside ManualDonation * Add missing 'the' in 'You may also generate an email...' * Navmenu image fix & other minor changes (#2733) * remove old images & update main logo to trim t/b whitespace * replace DAFDirect with Chariot placeholder in widget config page * minor adjustment to nav bar height * tweak to get padding ratios closer to figma --------- Co-authored-by: Andrey <SovereignAndrey> * Remove delay from OAuthRedirector (#2734) * reset on method change (#2739) * BG-1163 Remove Chariot, only manual DAF donations for now (#2742) * daf flow reorg to only use manual; add common summary; * types clean up * kcy added back to form; yarn format; * fix step name; fix props; --------- Co-authored-by: Andrey <SovereignAndrey> * BG-1151 NavBar changes pt3 (#2740) * navbar full width, not rounded, and always @ top * padding val back to previous; header component adj to remove un-needed parts; * var re-named; fix CSS; --------- Co-authored-by: Andrey <SovereignAndrey> * Towards BG-1150: Move kyc to checkout page (#2741) * remove kyc type * remove email from donate form * donor info form * donor info form * rename to checkout form * add donor info form stripe * back btn * revert addition of donate form in checkout * Summary common * crypto summary * paypal checkout * daf common summary * init token * container classes * share common to all steps * donor form * hold of passing donor info * hold of passing donor info * cleanup * remove quotes * back to summary * prefill donor info * Show pending TXs from the On-Hold table as a separate table on the My Donations page (#2743) * Extract common ConationsSection component * add on-hold donations table * read on-hold donations data * remove redundant template string * rename Params->Args * Update RichTextEditor content parameter to always keep track of number of characters (#2744) (#2752) * Add RichTextContent type that holds exact length of content text (without formatting code) * create shared richTextContent schema * update all components that use richtexteditor * indent using spaces * add missing tich text schema to edit profile > overview * rename richTextSchema > descr->content * no longer require length in RichText * fix warnings * add comments * fix warnings * add comment to RichText.Props.content * remove onError (#2751) --------- Co-authored-by: ap-justin <[email protected]> * Closes BG-1153: Express checkout (#2745) * move paypalcheckout * rename to paypal * express checkout section * move paypal to express checkout * paypal checkout btn * remove unused * remove paypal method * remove paypal tab * fixes * margin nit * button styles * hide whole express checkout when paypal failed * reduce top padding for DonateFiatThanks (#2755) ## Explanation of the solution Top padding was too big, leftover from when header was floating on the page. ## Instructions on making this work - run `yarn` or `yarn install` to install npm dependencies - run `yarn run test --watchAll` to verify all tests still pass - (optional) run `yarn run build` to verify the build passes - run `yarn start` to start the webapp - go to http://localhost:4200/donate-fiat-thanks ## UI changes for review Before: ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/4f71e1ed-7c21-4265-ab09-503e038ab7ae) After: ![image](https://github.com/AngelProtocolFinance/angelprotocol-web-app/assets/19427053/90acdfc0-bbad-452e-b132-7580bf7ff102) * Log error on paypal checkout button loading (#2754) ## Explanation of the solution Builds upon work done in https://github.com/AngelProtocolFinance/angelprotocol-web-app/pull/2745#discussion_r1505611023. We should be logging the error even though nothing is shown to the users, so that we know some issue occurred while loading PayPal. Related to this, Sentry logging should be moved from ErrorContext into logger, as it allows for more flexibility in logging errors. Related to BG-1153 ## Instructions on making this work - run `yarn` or `yarn install` to install npm dependencies - run `yarn run test --watchAll` to verify all tests still pass - (optional) run `yarn run build` to verify the build passes - run `yarn start` to start the webapp * Remove `status` query param when fetching donations (#2750) ## Explanation of the solution Addresses comment in a related PR, see https://github.com/AngelProtocolFinance/devops/pull/496#discussion_r1500331919: > pagination seem reasonable, but filtering: > ... > `donationFinalized` - all records are are not finalized Closes BG-1145 ## Instructions on making this work - run `yarn` or `yarn install` to install npm dependencies - run `yarn run test --watchAll` to verify all tests still pass - (optional) run `yarn run build` to verify the build passes - run `yarn start` to start the webapp - sign in - go to http://localhost:4200/donations * Towards BG-1133: New brand colors included (#2756) * include new blues * done grays * reds * update oranges * add greens * bluegray -> navy * revert oranges * Towards BG-1106, Closes BG-1131: Donate to BG step (#2719) * add tip step * Tip form * tip navigation * revert format * back to splits * donate symbol * add character * donate slider * add slider component * validation * dispatch set tip * correct aack * persist format * mul 100 when display * summary with tip * remove splits summary * tip in summary * include tip and usdRate * fix type error * rate is rquired for fiat * currency option * splitLiq to number * remove extra r * fixes * add red border * chariot remove error * no need for get * Update deps (#2763) * update deps * revert package json * Update payloads with recent devops update (#2762) * update payloads * remove extra slash * Upgrade yarn to 4.1.1 (#2764) * Upgrade yarn to 4.1.1 * reinit yarn.lock * Towards BG-1133: Map text/border colors to new default (#2765) * set default text to navy * set default border * secondary text color * tab classes style * text-gray to text-navy-l2 * text-gray-d2 -> navy-d4 * text gray -> navy * Signup page rework (#2766) * add signup page components * rework useAuthRedirectPath to shared determineAuthRedirectPath * add missing sign up page to app routes * add missing css classes * hide usermenu when on signup * fix link on donate FAQ to signup * apply flex-center to .btn * use inbuilt colro for border of btn-outline-2 * align colors (remove opacity) * pass userType down to Success * make borders for fields 0.8px * align error colors * remove outline blue on focus * use flex-center for already have an acc * align sign up btn styles * add disabled style to sign in link * turn h4 into p tag in fullForm * Move Field to be shared among Signup components + update Field to accept generic form values type + to set grid cols based on whether props.icon was passed * make field accept classes * align ConfirmForm * set text to gray instead of bg in fullForm when disabled * move confirmform to separate folder + revert signup.tsx * enable resetting otp * fix disabling sign in link in fullform * fix focus styles for pass. eye * fix field input height * make resend code otp component not move the text part as it ticks * fix counter resetting when form invalid * rework success page * remove onlypasswordform * extract text color to signUp page * make password schema a shared one in string.ts * update handleError to accept options.log param * dont log auth-related errors * Merge FormFields into SignupForm * Update terms and policy message + add links * Update custom [#1D3C51]/80 color to navy-l1 * center align check circle on success * Make Success mobile-friendly * Use tailwind.config.js colors that match custom ones * Split 'resend code' btn from the timer * Add nextStep error messages in throws instead of empty strings * Remove wrapper around LoaderRing in SignupForm * Add padding in SignUp instead of setting reduced max width in subcomponents on mobile * Make SignupForm mobile-friendly * move Field to components/form/Input.tsx * move PasswordField to components/form/PasswordInput.tsx * remove FormFields * Closes BG-1152: Signup on success (#2753) * signup form * add icons * field and submit * form part of signup * validation * invalid style * reusable form component * confirm step * test confirmation * destination already has obscured * apply classes * donor props * distinguish text * spacing * signup donate page * stripe submit saves donor * set donor on success * matched amplify ui rules * fix number * rever package.json * guest donor from server * remove persisting helper * crypto donor check * log error * style changes * login * Login page rework (#2769) * Update Signin page * add ResetPassword email form step * turn determineAuthRedirectPath.isSigningUp into an options obj * remove redundant ConfirmEmailForm import * remove redundant className in ConfirmForm.time remaining span * Add NewPasswordForm * add missing otp-related text + btn to edit email * Add Success page * update 'cont. with google' btn text color to algn with figma * return wrapper around loaderring in Signin * move Signin to a standalone file * update reset password message about password rules * darken 'forgot password?' hover color * reduce margin between email address and submit in ConfirmEmailForm * rename steps to more closely align with their purpose * fix passwordConfirmation requried error msg * remove redundant subheader in SetPAsswordForm and move reset code below code input * center align 'back to sign in' link in InitForm * add autocomplete prop to Input for OTP * align passwordInput with Input * add styles to password rules list * add autocomplete prop OTP input in SignUp confirm form * move Input-related constants.ts to components/form/ * add placeholder to Signin password field * increase size of padlock icon in passwordInput * reduce 'back to sign in' links text size on mobile * minor refactor * reduce font size for resend code component on mobile * hide usermenu when resetting password * rename recover_password->reset_password route * Towards BG-1133: update field and button styles (#2767) * button font-heading * field-contaienr update * dropzone styles * field input styles * rich text focus * format * signup focus * revert package.json * check field focus * color comments * color comments * remove auth UI (#2770) * Closes BG-1086: stripe recurring (#2768) * use form component * add frequency type * radio option * remove classes * format * mobile styles * show monthly charge * uncheck init and validate * Update src/components/donation/Steps/DonateMethods/Stripe/Frequency.tsx Co-authored-by: Nenad Misic <[email protected]> --------- Co-authored-by: Nenad Misic <[email protected]> * Towards BG-1133: Donate UI style updates (#2773) * refactor unpack * Currency selector styles * update unpack suer * stripe form fields * apply to stocks * apply to daf * crypto fields * fix formatting * tip amount field * donor fields * placeholder weight * options alignment and weight * amount placeholders * font-size * rounded btns * btn color and border * rounded-lg * update layout * continue arrow * format * remove unused * normal case * container only * Prefer package.json formatting to biome formatting (#2772) * prefer package.json formatting * correct format * Closes BG-1133: Orange accent to blue accent (#2774) * remove orange hero text * subs form restyle * endow links hover * admin links hover * endow designation chip * filter btn blue * intercom color * rounded and error color * link active color * my donations * add override * lighter separator * resume btn color * progress indicator * reg signup btns * done registration flow * done my-donations * footer hover * Breadcrumb hover * done profile * fix format * admin nav and dashbaord * done donations * done edit profile * done members * done banking * remove orange * revert radius * btn-blue disabled * Update src/App/Footer/Socials.tsx Co-authored-by: Nenad Misic <[email protected]> * Update src/styles/richtext.css Co-authored-by: Nenad Misic <[email protected]> * Update src/styles/richtext.css Co-authored-by: Nenad Misic <[email protected]> * Update src/App/Footer/Newsletter/SubscriptionForm.tsx Co-authored-by: Nenad Misic <[email protected]> --------- Co-authored-by: Nenad Misic <[email protected]> * update deps (#2781) * Closes BG-1184, related to BG-1172: donate widget page render loop (#2782) * revert arrow function * revert function * Hide tip checkbox (#2775) * Update yarn.lock * move Separator to components/ * use Separator in BankDetails + remove Divider * add HideBGTipCheckbox scaffold * add toggleBgTipScreen endpoint * use version/staging in togglebgtipscreen endpoint * invalidate profile tag when updating tip screen flag * add hide_bg_tip optional to type Endowment * load actual hide_bg_tip value from aws * move hidebg checkbox to Edit Profile + separate update profile and delete program endpoint * update checkbox ui * add missing checkbox value to toProfileUpdate * hide tip screen if necessary * format files * revert changes to yarn.lock * add comment explaining why hide_bg_tip is optional * fix checkbox description * reduce top value on lg (#2784) * Donate: currencies loaded as part of dropdown should include those supported by both PayPal and Stripe (#2783) * load paypal currencies in Stripe donate method * rename usePaypalCurrencyQuery->useCurrencyQuery * update currencies endpoint * rename useCurrencyQuery->useFiatCurrencyQuery * Turn null param into void * make header sticky (#2786) * reflect payload (#2790) * BG-1179: Adjust page paddings affected by header positioning (#2785) * update padding for registration pages * update padding for bankingapplications * update padding for bankingapplication * update all app>layout child pages' padding * Reduce reg. steps margin on tablet too * BG-1190 & BG-1191 Sentry fixes: env & pkg ver (#2791) * sent Sentry init env based on our env var * BG-1190 Sentry pkg downgrade to prod ver * only log production errors to Sentry, for now * clean up * Closes BG-1194: Incorrect dollar values shown in summary (#2795) * rate meaning * inverse rate * unrelated bug: summary verbiage * unrelated bug: hide paypal if subscription * Closes BG-1195: Image size tooltip (#2796) * edit profile max img size * program editor * milestone editor * unrelated: remove in svg mime type * Update src/components/ImgEditor/ImgEditor.tsx Co-authored-by: ap-justin <[email protected]> * linter fix * fix removed spaces * revert the original extra commit that should not have been made. :( --------- Co-authored-by: SovereignAndrey <[email protected]> * BG-1129: Blog posts from Wordpress (#2715) * POC Headless WP Blog post(s) & WP Pages * Work on Blog post(s) using new BG staging server * Page to hold all WP Pages * WP service and queries * format errors * rename * wordpress endpoints * add wordpress middleware * rename wordpress * page query * rename * move to blog * posts * post type * remove text-orange * render posts * string * remove nestign * render post * add more styling * structured * reduce nesting and add affordance * add skeleton * breadcrumb overflow * add src set * replace breadcrumb with back btn * remove wpRoutes * reduce surface area * author and more styling * rounded image * Post skeleton * remove contain * paginate results --------- Co-authored-by: Andrey <SovereignAndrey> Co-authored-by: ap-justin <[email protected]> Co-authored-by: ap-justin <[email protected]> * Closes BG-1193: Endowment slug (#2797) * update version and payload * add slug field * accept slug * unrelated to problem: init card_img to remove false diff * slug check * type SlugOrId * endow slug with help text * slug help text * max length * remove marketplace?slug * update slug description * remove bold and revert italic * BG-1206 Various word changes (#2799) * slug name changed * pay now >> donate now * donations table - no records msg tweak * formatting * signup code re-send text less pressure inducing * Sign In >> Log In for user facing text * finalized >> completed donations * "widget" >> "donation form" * code words * formatting fix * sign up/log in wording * formaaaat * formaaaat take 2 * ein and reg num validation (#2800) (#2801) * BG-1188: registration progress indicator must revert to desktop position (#2788) * update ref.isDesktop when updating isDesktop state * simplify isOtherStepsShown state update check * Towards BG-1192: Settings page + receipt msg (#2798) * add settings page and align icons * new settings page * generic endowment update * type changes * form alias * casing * submit and reset only when dirty * more specific type * not allowed * success message * reuse logic * verbiage and counter * up version (#2803) * BG-1209 BG-1212 Minor fixes reg & nonprofit dash (#2813) * BG1209 - humanize dashboard numbers * BG-1212 add notice about only numers/letters for RegNum/EIN + remove dash from placeholder * formatting * BG-1203 Header Menus restructuring (#2815) * first batch of refactoring * formatting fixes * missed formatting changes * check for loading state of user * equality check fix * formatting & linter fixes * adj UI slightly for better look/feel * use util class (320px) * header/footer use Separator component * show LoaderRing, like w/ user icon, whilst user is loading * lint * endowment >> profile * propagate >> spread; BG name fixes; * mor word fixes * more minor word changes * BG-1218 Donation splits slider: swap display ordering (#2816) * swap donation split components display ordering * fix grid col * revert fix to grid col * Fix: handle doc reset when registrant already accomplishes banking details + Towards BG-1201 (#2818) (#2820) * fallback typings * generic and * done to with * fix lint * remov export * revert to isDoneDocs * rename types * remove fallback update types * revert docs * revert formattings * add alphanumeric check * BG-1197: Update dummy widget shown on widget configuration page w/ new donation component. (#2802) * remove redundant widget config fields * Move Crypto Form outside folder (redundant) * add isPreview state to disable widget when configuring * extract splits slider * add split slider to widget configurer * fix layout * fix widget preview overflow being cut off * add isSplitFixed checkbox to widget configurer * use init widget state values for defaultVAlues in form * give unique names to widget.reducer actions (fix bug where resetting widget config would actually call auth.reset) * Use shared Form component in Configurer * use container queries for configurer container for update/reset btns * Rename SplitSlider->LiquidSplitSlider * return isDescriptionTextHidden * remove isDescriptionTextHidden from Steps * rename isDescriptionTextHidden->hideDescription * rename isSplitFixed->isSplitDisabled + splitFixed->splitDisabed * remove h-full from div wrapping preview content * align preview ui with actual widget (add margin between steps and description) * run yarn format * make preview content stretch even when content is smaller * add disabled styling to slider * rename LiquidSplitSlider props * update liquidSplitPct when the widget preview is updated * set default endowment on admin page * format files * fix donate widget fiat thanks route redirect url (add missing dash / ) * update LiquidSplitSlider into LockedSplitSlider * Simplify widget action names by fixing auth slice name * use state.liquidSplitPct in CurrentStep if existing * Revert hideDescription->isDescriptionTextShown * Revert liquidSplitPct->liqSplitPct * Revert to hideDescription * Revert "Revert to hideDescription" This reverts commit 51004aa82d669d611612a234efe595efdf3cb79d. * Update label for isDescriptionTextShown * Set widget config url params only if true * Revert "Set widget config url params only if true" This reverts commit fae188f34dac9684230cf2a282a23f2380d644e6. * Make widget url params required * Rename isSplitDisabled->splitDisabled * Slider state (#2817) * pass whole config * liquid split priorities * Revert change to splits title * Remove redundant locked slider comment * use template strings --------- Co-authored-by: ap-justin <[email protected]> * remove chariot from the webapp (#2821) * Dynamically set PayPal button's currency (#2823) * Dynamically set payment frequency (#2828) * FIX: can't set default approved banking -details (#2630) (#2829) * invert * error msg * sorted * BG-1196: Consolidate "My Donations" table functionality to single set of controls that act upon both tables (#2830) * Make table load data based on the selected donation type/status * remove donationFinalized and status from table * add tabs scaffold * Extract StatusButton * Make buttons more visible * Update no donations message based on don. status * Render QueryLoader fetching state when passed * Add QueryLoader.messages.fetching screen to Donations table * Return status buttons to index.tsx * Move status tabs to separate component wrapper + add focus styles * Turn group-focus to group-focus-visible * lighten the tabs colors * Add grid class to content holder * Lighten bg color of content * Full width tabs on mobile * Borders gray-l2 * Export csv named pending-donations when pending table is selected * Remove redundant DonationSection compoent * Refactor * Remove StatusButton * Inluce isFetching in isLoadingOrError wrapper param * BG-1235 Donation fields require copy (#2834) * more descriptive required notices for donation fields * amounts require copy updated * FB - Unclaimed Nonprofits (#2833) * Closes BG-1059, BG-1060: Handle new unclaimed endowments (#2814) * update types * update UI * empty str by default * add optional claimed * omit from edit profile * remove extra attributs * add claimed to endowment cards * upgrade to v6/endowments * new verification filter * update endow options query * rname to fields * add claimed param * fix tooltip * add verified tag * verified icon to profile * Endowment claiming (#2822) * debounce fn * revert tests * preserve state of originating page * add claim link * endow claim type * init claim state * init claim * fix ts error * add endow claim notif * prefill and disabled * define get endow by ein endpoint * application/s claim type * fix claim badge not showing * add claimed check and claim confirmation * add missing claim * remove unused debounce * remove console log * compare to false --------- Co-authored-by: ap-justin <[email protected]> Co-authored-by: ap-justin <[email protected]> * Closes BG-1234: searches both verified/unverified (#2835) * Closes BG-1059, BG-1060: Handle new unclaimed endowments (#2814) * update types * update UI * empty str by default * add optional claimed * omit from edit profile * remove extra attributs * add claimed to endowment cards * upgrade to v6/endowments * new verification filter * update endow options query * rname to fields * add claimed param * fix tooltip * add verified tag * verified icon to profile * search all when searching * Bump endpoint version for 'file-upload' to use v2 (#2836) * BG-1233: My Donations: Minor UI tweaks (#2837) * align border color to search border * tab/btn active color is now blue-* * Align roundness to rest of components on the page * Update non-selected tab hue to blue * Remove redundant text color class * Refactor border color * Remove isReceived var * Encode every newly created URI (in getFullURL) (#2839) * BG-1210: DonateWidget/DonateFiatThanks: the page jitters after the confetti animation completes (#2838) * Simplify center placement for donate thanks page * Remove offscreen fettis * Add inspiration source comment * BG-1224 Logo updates (#2841) * remove old images & add new ones * update logo image used * use full logo on BG Tip screen inline --------- Co-authored-by: Andrey <SovereignAndrey> * include or in once block (#2840) * BG-1238: Remove Receipt column for Pending donations (#2843) * Add 'false' as possible CellBase.children type * Render 'Receipt' only for donations received * Remove accidental comment display from UI (#2844) * BG-1187: ProgramEditor: after submitting, the user should be navigated back to Programs page (#2845) * Navigate to Programs after creating a new program * yarn format * Closes BG-1237: Edit profile, profile link update (#2842) * convert to external profile * side by side * replace logo * BG-1246: Programs: show some loading indicator when deleting a program and disable said program (#2847) * Disable program actions when deleting * Rename isLoading->isDeleting * Add loader ring on deleting and darken the program bg * Use template string for link * Remove 'more options' from donatemethods (#2846) * fix BG Tip copy to note one-time nature * Widget footer logo update (#2851) * add color prop * use white color and change width * Required not working (#2850) * add try catch * Update src/components/BankDetails/RecipientDetails/RecipientDetailsForm/RecipientDetailsForm.tsx Co-authored-by: SovereignAndrey <[email protected]> --------- Co-authored-by: SovereignAndrey <[email protected]> * BG-1082: enable `useExhaustiveDependencies` and fix warnings (#2854) * Remove IFrame (redundant) * Fix lint ignore rules for some files * Update biome to 1.6.4 * Revert "Update biome to 1.6.4" This reverts commit 82122638cea16cead0d784af8a20721c3bf6ee83. * Fix lint ignore rules for some files * Return IFrame * Add missing biome-ignore rules * proxy validation url (#2848) (#2852) * Delete IFrame (#2855) * switch WP API based on environment (test v. prod) (#2863) Co-authored-by: Andrey <SovereignAndrey> * Reflect donations endpoint changes (#2853) * reflect endpoint changes * add authorization * remove apes donations tags * shorthand * remove page reset * use recipient id * remove export * hide paypal & OR separator if the env var is the empty default (#2864) Co-authored-by: Andrey <SovereignAndrey> * Avoid layout shift (#2865) * use new dvh * header and content initially occupies space * move external space class outside * remove extra div * 100dvh instead * place load text center * remove dummy loader * proxy validation url (#2848) * Closes BG-1247: Use final usd in nonprofit donation records (#2866) * move row in own component * adjust csv export * amount subs liq * derive from rounded liq * one liner * val must be gt 1 cent to be displayed --------- Co-authored-by: Nenad Misic <[email protected]> Co-authored-by: SovereignAndrey <[email protected]> Co-authored-by: Juan Paolo Mariano <[email protected]> Co-authored-by: Nenad Misic <[email protected]>
- Loading branch information