-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[1/2] Affiliate program Integration v1 #1627
[1/2] Affiliate program Integration v1 #1627
Conversation
Endpoint for registration for individual users is now at /register/individual
Match with the values on the backend
✅ Tests will run for this PR. Once they succeed it can be merged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks great so far!
please check if the change in the register endpoint could be avoided as per the backend logic
src/one-step-donation: Allow for corporate donations campaigns/InlineDonation: Limit the amount of donations on mobile to three campaigns/ViewCampaignPage: Push InlineDonation from top, to prevent conflict with the navigation bar on mobile campaigns/DonorsAndDonations: Handle different type of campaign donors
Donate function needs to be redefined, with person's data in case user logs in on step two of donation flow. Without this change any information coming from acccount/me response is considered undefined, even if user logs in during the second step, as this information was not available during the definition of donate
fdf2f69
to
e7954b6
Compare
In some cases person remains undefined, even though user is logged in
Looks a bit cleaner that way
- Person's data is now prefetched to prevent any layout shifts and errors until person's data has been loaded. - Added new tab to summarize Affiliate's data which includes, as well as to cancel any guaranteed donations
dcf4f17
to
08767af
Compare
-Sometimes the signin function is called before isSuccess state is switched to true. Use the response statusCode instead to check if the response is successfull -Fixed translations on RegisterSuccess
- Added a new column profile type, to separate individual from corporate profiles
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good to go so far, and we can continue with improvements in separate PRs
In situations where affiliate record doesn't yet exist, donations is undefined, and it causes error
…filiate program This way there is no need to restart the page
utils/useCopyToClipbaord.ts: Change hook to copy text passed to copyUrl as parameter
…ed it -Copybutton is now hidden if no affiliateCode is present
Includes available amount, guaranteed amount, sent amount, and added expenses
Co-authored-by: Kalina Zhecheva <[email protected]>
ca7e389
to
4247a29
Compare
* services/apiEndpoints: Change endpoint for registration Endpoint for registration for individual users is now at /register/individual * campaigns: Include guaranteed donations in reachedAmount * donation.enums.ts: Add guaranteed DonationStatus Match with the values on the backend * donations: Use companyName when donation is made from corporate profile * auth/register: Change register request to match latest changes in backend * [SQUASH]: Donation improvements src/one-step-donation: Allow for corporate donations campaigns/InlineDonation: Limit the amount of donations on mobile to three campaigns/ViewCampaignPage: Push InlineDonation from top, to prevent conflict with the navigation bar on mobile campaigns/DonorsAndDonations: Handle different type of campaign donors * one-time-donation/Steps.tsx Add session to donate's dependency array Donate function needs to be redefined, with person's data in case user logs in on step two of donation flow. Without this change any information coming from acccount/me response is considered undefined, even if user logs in during the second step, as this information was not available during the definition of donate * one-time-donation/Steps.tsx: Add person to donation's dependency array In some cases person remains undefined, even though user is logged in * Allow corporate registrations * i18n: Add translations for new registration flow * Fix horizontal scroll on smaller viewport width * campaigns/DonationWishes.tsx: Show wishes from affiliate donations * pdf/Certificate.tsx: Use companyName if donation is made by corporate profile * pdf/Certificate: Move companyName condition out of the return statement Looks a bit cleaner that way * auth/profile: Changes for corporate profiles - Person's data is now prefetched to prevent any layout shifts and errors until person's data has been loaded. - Added new tab to summarize Affiliate's data which includes, as well as to cancel any guaranteed donations * auth/Register: Fix signin attempt on corporate registration -Sometimes the signin function is called before isSuccess state is switched to true. Use the response statusCode instead to check if the response is successfull -Fixed translations on RegisterSuccess * common/person: Allow for manual profile activation/deactivation - Added a new column profile type, to separate individual from corporate profiles * hooks/person: Fix cache not being invalidat on successfull active status response * pages/admin: Add section to manage Affiliate program * admin/affiliates: Remove unused import * profile/AffiliateProgramTab: Fix crash when donation is undefined In situations where affiliate record doesn't yet exist, donations is undefined, and it causes error * hooks/affiliate: Invalidate affiliate data when requesting to join affiliate program This way there is no need to restart the page * profile/affiliate: Add button to copy affiliate code utils/useCopyToClipbaord.ts: Change hook to copy text passed to copyUrl as parameter * AffiliateProgramTab: Summarize what is affiliate if user has not joined it -Copybutton is now hidden if no affiliateCode is present * CampaignDetails.tsx: Show campaign's summary data on page Includes available amount, guaranteed amount, sent amount, and added expenses * CampaignDetails.tsx: Remove unnnecessary Box component * bg/auth: Change text on successfull corporate registration Co-authored-by: Kalina Zhecheva <[email protected]> * eslint: Resolve errors
* New design for campaign news subscription * format change * lint fix * news notifications added * buttons for notification commented * Uncommented buttons for notifications * lint fix * small fixes * [#1554] headings font size bug fixes (#1613) * headings font size bug fixes * removed library from package.json * Terms and GDPR added in the registerForm (#1617) * Terms and GDPR added in the registerForm * Format check added * Some error messages added in the RegisterForm * add RalitsaIlieva as a contributor for code (#1618) * update README.md [skip ci] * update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * New font Commissioner (#1620) Co-authored-by: igoychev <[email protected]> * Update BG text for Reports page (#1621) Co-authored-by: ani-kalpachka <[email protected]> * Update team members (#1622) Co-authored-by: ani-kalpachka <[email protected]> * fix: rounds correctly Donated money value in Statistics section (#1623) * build(deps): bump @babel/traverse from 7.22.8 to 7.23.2 (#1624) Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.8 to 7.23.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse) --- updated-dependencies: - dependency-name: "@babel/traverse" dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Upgrade of translation libraries and related (#1616) * upgraded NextJS to fix dependabot vulnerability warnings * fixed linter and formatting * reverted next to 13.4.12, updated MUI and translation libraries * upgraded playwright to latest * fixed language change and corrected decimal separators * forced resolution for postcss and zod to fix security recommendations * added locale for tests to fix decimal separator mixups * donation amount changed to integer to avoid language specific decimal separators * upgraded node to v20 * fixing the docker build context to use the already checked out code from github checkout action * Update mobile Guarantors slider (#1629) * Update Guarantors slider * Revert unnecessary changes --------- Co-authored-by: ani-kalpachka <[email protected]> * Update alignment of Bank details on Donation (mobile) (#1628) * Update bank details on donation * Update reasoning --------- Co-authored-by: ani-kalpachka <[email protected]> * build(deps): bump crypto-js from 4.1.1 to 4.2.0 (#1630) Bumps [crypto-js](https://github.com/brix/crypto-js) from 4.1.1 to 4.2.0. - [Commits](brix/crypto-js@4.1.1...4.2.0) --- updated-dependencies: - dependency-name: crypto-js dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Upgrade next version to 13.5.4 (#1631) * Update next version to 13.5.4 * i18n: Fix translations not working for dynamic paths * i18next.config: Detect user's locale from NEXT_LOCALE cookie * added cookies consent banner (#1634) * Update completed campaigns carousel (#1639) Co-authored-by: ani-kalpachka <[email protected]> * [Stripe] Add refund functionality (#1635) * Add refund button * Add refundStore * Fix prettier problem * Remove log * Fix typos * refundClickClickHandler -> refundClickHandler * Show extPaymentId in confirmation box * Fix button typo * Show wishes on the top of campaign page (#1633) * fix: shows tabs for donors and wishes * fix: wishes tab shows messages and pagination * fix: adds btn 'Show all' to wishes tab, align wishes array * fix: InfoIcon align * fix: shuffle wishes array * fix: clear unused classes * Add Finance report for 2022 (#1642) Co-authored-by: ani-kalpachka <[email protected]> * add kzhecheva as a contributor for code (#1643) * update README.md [skip ci] * update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * format change * lint fix * news notifications added * buttons for notification commented * Uncommented buttons for notifications * Update Cookie consent popup (#1645) * Update cookie consent popup * removed auto accept on scroll --------- Co-authored-by: ani-kalpachka <[email protected]> * Add check to refund stripe donations only (#1648) * Add if check to refund only stripe donations * Use enum for variables * Fix prettier * Adds tests for Wishes and Donors sections on the top of Campaign page (#1646) * feat: adds campaign summary section tests * upgrade_sentry_to_7.80 (#1654) * github actions update (#1655) * added dependabot to update github actions * added run-name for Release github workflow to better distinguish it in the actions list * build(deps): bump actions/setup-node from 3 to 4 (#1656) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](actions/setup-node@v3...v4) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump actions/checkout from 3 to 4 (#1657) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump axios from 0.21.4 to 1.6.0 (#1661) Bumps [axios](https://github.com/axios/axios) from 0.21.4 to 1.6.0. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v0.21.4...v1.6.0) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump imranismail/setup-kustomize from 1 to 2 (#1660) Bumps [imranismail/setup-kustomize](https://github.com/imranismail/setup-kustomize) from 1 to 2. - [Release notes](https://github.com/imranismail/setup-kustomize/releases) - [Commits](imranismail/setup-kustomize@v1.0.0...v2) --- updated-dependencies: - dependency-name: imranismail/setup-kustomize dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump docker/login-action from 2 to 3 (#1659) Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](docker/login-action@v2...v3) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump docker/build-push-action from 3 to 5 (#1658) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 5. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](docker/build-push-action@v3...v5) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * FIX: Added selfReg prop to the ServerUser obj an use it determinate if a user is form keycloak or external auth provider. (#1662) * add PetarDimitrov91 as a contributor for code (#1663) * update README.md [skip ci] * update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * add kzhecheva as a contributor for code, and test (#1664) * update README.md [skip ci] * update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: igoychev <[email protected]> * disabled button for manual import, added guard in rerun button (#1652) * disabled button for manual import,added guardin rerun button * added description comments * [1/2] Affiliate program Integration v1 (#1627) * services/apiEndpoints: Change endpoint for registration Endpoint for registration for individual users is now at /register/individual * campaigns: Include guaranteed donations in reachedAmount * donation.enums.ts: Add guaranteed DonationStatus Match with the values on the backend * donations: Use companyName when donation is made from corporate profile * auth/register: Change register request to match latest changes in backend * [SQUASH]: Donation improvements src/one-step-donation: Allow for corporate donations campaigns/InlineDonation: Limit the amount of donations on mobile to three campaigns/ViewCampaignPage: Push InlineDonation from top, to prevent conflict with the navigation bar on mobile campaigns/DonorsAndDonations: Handle different type of campaign donors * one-time-donation/Steps.tsx Add session to donate's dependency array Donate function needs to be redefined, with person's data in case user logs in on step two of donation flow. Without this change any information coming from acccount/me response is considered undefined, even if user logs in during the second step, as this information was not available during the definition of donate * one-time-donation/Steps.tsx: Add person to donation's dependency array In some cases person remains undefined, even though user is logged in * Allow corporate registrations * i18n: Add translations for new registration flow * Fix horizontal scroll on smaller viewport width * campaigns/DonationWishes.tsx: Show wishes from affiliate donations * pdf/Certificate.tsx: Use companyName if donation is made by corporate profile * pdf/Certificate: Move companyName condition out of the return statement Looks a bit cleaner that way * auth/profile: Changes for corporate profiles - Person's data is now prefetched to prevent any layout shifts and errors until person's data has been loaded. - Added new tab to summarize Affiliate's data which includes, as well as to cancel any guaranteed donations * auth/Register: Fix signin attempt on corporate registration -Sometimes the signin function is called before isSuccess state is switched to true. Use the response statusCode instead to check if the response is successfull -Fixed translations on RegisterSuccess * common/person: Allow for manual profile activation/deactivation - Added a new column profile type, to separate individual from corporate profiles * hooks/person: Fix cache not being invalidat on successfull active status response * pages/admin: Add section to manage Affiliate program * admin/affiliates: Remove unused import * profile/AffiliateProgramTab: Fix crash when donation is undefined In situations where affiliate record doesn't yet exist, donations is undefined, and it causes error * hooks/affiliate: Invalidate affiliate data when requesting to join affiliate program This way there is no need to restart the page * profile/affiliate: Add button to copy affiliate code utils/useCopyToClipbaord.ts: Change hook to copy text passed to copyUrl as parameter * AffiliateProgramTab: Summarize what is affiliate if user has not joined it -Copybutton is now hidden if no affiliateCode is present * CampaignDetails.tsx: Show campaign's summary data on page Includes available amount, guaranteed amount, sent amount, and added expenses * CampaignDetails.tsx: Remove unnnecessary Box component * bg/auth: Change text on successfull corporate registration Co-authored-by: Kalina Zhecheva <[email protected]> * eslint: Resolve errors * fix: aligns campaignType translation (#1668) * added campaign donation chart (#1667) * build(deps): bump sharp from 0.30.7 to 0.32.6 (#1669) Bumps [sharp](https://github.com/lovell/sharp) from 0.30.7 to 0.32.6. - [Release notes](https://github.com/lovell/sharp/releases) - [Changelog](https://github.com/lovell/sharp/blob/main/docs/changelog.md) - [Commits](lovell/sharp@v0.30.7...v0.32.6) --- updated-dependencies: - dependency-name: sharp dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Implement fullscreen image slider when image is clicked (#1676) Currently we don't have a gallery component, and when image is uploaded with role==gallery those images remain unusable on larger screens, due to their small size This commit makes it so a full-screen gallery like is opened whenever an image with role==gallery is clicked. * build(deps): bump next-auth from 4.22.1 to 4.24.5 (#1670) Bumps [next-auth](https://github.com/nextauthjs/next-auth) from 4.22.1 to 4.24.5. - [Release notes](https://github.com/nextauthjs/next-auth/releases) - [Commits](https://github.com/nextauthjs/next-auth/compare/[email protected]@4.24.5) --- updated-dependencies: - dependency-name: next-auth dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Remove legacy hotjar implementation (#1678) * Remove legacy hotjar implementation Hotjar is now loaded through the GTM * CampaignsPage.tsx: Remove Hotjar implementation * build(deps): bump @adobe/css-tools from 4.3.1 to 4.3.2 (#1679) Bumps [@adobe/css-tools](https://github.com/adobe/css-tools) from 4.3.1 to 4.3.2. - [Changelog](https://github.com/adobe/css-tools/blob/main/History.md) - [Commits](https://github.com/adobe/css-tools/commits) --- updated-dependencies: - dependency-name: "@adobe/css-tools" dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update active team members (#1675) Co-authored-by: Ani Kalpachka <[email protected]> * one-time-donation/LoginForm.tsx: Refetch useCurrentPerson when logged in (#1677) When user logs in trough donation step 2, person's data remains undefined due to data not being updated. Manually refetch the data coming from useCurrentPerson() after login to refresh the user's data * make the robots.txt file dynamic (#1680) * Add new active members (#1681) * lint fix * small fixes * uncommented code in Subscription Section * Unused variables deleted and self-closing tags fix * format changes * e is returned in SubscriptionPage * fix in expenses table and CheckboxField * rearrange in CampaignDetails * SubscribeModal removed from TeamSection * format fix * unused code deleted * removed Grid and SectionGridWrapper in TeamsMemberSection * format change --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Dzhani Ivanov <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: igoychev <[email protected]> Co-authored-by: Ani <[email protected]> Co-authored-by: ani-kalpachka <[email protected]> Co-authored-by: Kalina Zhecheva <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: quantum-grit <[email protected]> Co-authored-by: Aleksandar Petkov <[email protected]> Co-authored-by: Nikolay Nachev <[email protected]> Co-authored-by: Petar Dimitrov <[email protected]> Co-authored-by: Anton Angelov <[email protected]> Co-authored-by: Ani Kalpachka <[email protected]> Co-authored-by: yyosifov <[email protected]>
Closes: #1261
-Shows company name on donation list, when donation is made through corporate profile
-Included guaranteedAmount to the reachedAmount calculation
-Match with changes made to the backend APIs
Depends on backend#564