diff --git a/open-giving/package.json b/open-giving/package.json index 720af76..ce18138 100644 --- a/open-giving/package.json +++ b/open-giving/package.json @@ -20,7 +20,7 @@ "@opentelemetry/api": "^1.6.0", "chimoney-payment-widget": "^0.0.28", "next": "^12.2.5", - "non-profit-donations": "^0.0.6", + "non-profit-donations": "latest", "qrcode.react": "^4.0.1", "react": "^18", "react-dom": "^18", diff --git a/open-giving/src/hooks/useDonation.js b/open-giving/src/hooks/useDonation.js index 23b7f1f..dcdcfc6 100644 --- a/open-giving/src/hooks/useDonation.js +++ b/open-giving/src/hooks/useDonation.js @@ -3,7 +3,7 @@ import PaymentWidget from 'chimoney-payment-widget'; import { useRouter } from 'next/router'; import { useState } from 'react'; -import donationHandlers from '../../../build/main/lib/donationHandlers'; +import { handlers } from 'non-profit-donations'; const useDonation = (method, setSnackbarMessage, setSnackbarOpen) => { const router = useRouter(); @@ -79,8 +79,7 @@ const useDonation = (method, setSnackbarMessage, setSnackbarOpen) => { openPaymentWidget(result.data.paymentLink); } else { - const handler = - donationHandlers[method.donationHandler || 'copyToClipboard']; + const handler = handlers[method.donationHandler || 'copyToClipboard']; if (handler) { const result = await handler(method, { amount: donationAmount, diff --git a/open-giving/src/pages/index.js b/open-giving/src/pages/index.js index aee497c..6d5e9aa 100644 --- a/open-giving/src/pages/index.js +++ b/open-giving/src/pages/index.js @@ -1,8 +1,8 @@ import { Box, Container, Pagination, Snackbar } from '@mui/material'; import { useRouter } from 'next/router'; +import { verifiedNonprofits } from 'non-profit-donations'; import React, { useEffect, useState } from 'react'; -import { verifiedNonprofits } from '../../../build/main/index'; import FilterAccordion from '../components/FilterAccordion'; import Header from '../components/Header'; import Layout from '../components/Layout'; diff --git a/open-giving/yarn.lock b/open-giving/yarn.lock index b9b0202..83617ec 100644 --- a/open-giving/yarn.lock +++ b/open-giving/yarn.lock @@ -2778,10 +2778,10 @@ next@^12.2.5: "@next/swc-win32-ia32-msvc" "12.3.4" "@next/swc-win32-x64-msvc" "12.3.4" -non-profit-donations@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/non-profit-donations/-/non-profit-donations-0.0.6.tgz#14acb63168a1bd44d2120e25f0b5f5255a79e871" - integrity sha512-tjpIdtGuV9q/9IfNLHpZMV16n7u3BZAKuOFQn0Tif31/lUufKGcB8EyR4Fr8RBd8x1YfRXT9Lo8JjCeftEjxOQ== +non-profit-donations@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/non-profit-donations/-/non-profit-donations-0.0.7.tgz#ffe9f9e00909a6da4d44af98a30c544bd53b8db0" + integrity sha512-ToTclTjBCUkCyvOOg49uz5qUJmsdk9McbxkI/CauV5IEDGHEMFXlteSxDlfMWKNa8jT9D6AcVt9gMw9hBa29JQ== dependencies: "@bitauth/libauth" "^1.17.1" commitizen "^4.2.4" diff --git a/package.json b/package.json index f3986b7..64c204e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "non-profit-donations", - "version": "0.0.7", + "version": "0.0.8", "description": "Support non-profits globally. Get the details of verified non profits to support", "main": "build/main/index.js", "typings": "build/main/index.d.ts", diff --git a/src/lib/donationHandlerManager.ts b/src/lib/donationHandlerManager.ts index 258fada..c0e22e6 100644 --- a/src/lib/donationHandlerManager.ts +++ b/src/lib/donationHandlerManager.ts @@ -2,7 +2,7 @@ import { DonationHandler } from '../types/donation-handler'; import defaultDonationHandlers from './defaultDonationHandlers'; -const handlers: Record = { +export const handlers: Record = { ...defaultDonationHandlers, }; @@ -14,5 +14,3 @@ export function registerHandler(type: string, handler: DonationHandler) { export function getHandler(type: string): DonationHandler | undefined { return handlers[type]; } - -// Remove the class and the donationHandlerManager instance diff --git a/src/lib/donationHandlers.ts b/src/lib/donationHandlers.ts deleted file mode 100644 index a29720f..0000000 --- a/src/lib/donationHandlers.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { PaymentMethod } from '../types/non-profit'; - -export type DonationHandlerContext = { - readonly amount: number; - readonly currency: string; - // Add any other relevant context data -}; - -export type DonationHandler = ( - paymentMethod: PaymentMethod, - context: DonationHandlerContext -) => Promise; - -const donationHandlers: Record = { - copyToClipboard: async (paymentMethod, context) => { - console.log('copyToClipboard', paymentMethod, context); - if (typeof paymentMethod.paymentID === 'string') { - await navigator.clipboard.writeText(paymentMethod.paymentID); - console.log(`Copied ${paymentMethod.type} address to clipboard`); - } - }, -}; - -export default donationHandlers; diff --git a/tsconfig.json b/tsconfig.json index dde220d..00c2494 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -42,6 +42,6 @@ "typeRoots": ["node_modules/@types", "src/types"] }, "include": ["src/**/*.ts"], - "exclude": ["node_modules/**", "donation-ui/**"], + "exclude": ["node_modules/**", "open-giving/**"], "compileOnSave": false } diff --git a/tsconfig.module.json b/tsconfig.module.json index ff7def7..2980a35 100644 --- a/tsconfig.module.json +++ b/tsconfig.module.json @@ -5,5 +5,5 @@ "outDir": "build/module", "module": "esnext" }, - "exclude": ["node_modules/**", "donation-ui/**"] + "exclude": ["node_modules/**", "open-giving/**"] }