From 83434bc03f8b9afaeebb5d10e5d1a828243c883e Mon Sep 17 00:00:00 2001 From: Nikita Yutanov Date: Tue, 30 Jan 2024 18:46:54 +0300 Subject: [PATCH] [idea] 1100 release (#1478) --- idea/frontend/package.json | 11 +- .../transfer-balance-modal.tsx | 4 +- .../features/formPayload/ui/FormPayload.tsx | 16 +- .../program/ui/program-card/program-card.tsx | 2 +- idea/frontend/src/features/voucher/consts.ts | 19 ++ .../src/features/voucher/hooks/index.ts | 4 +- .../voucher/hooks/use-balance-schema.ts | 28 ++ .../voucher/hooks/use-duration-schema.ts | 18 ++ .../voucher/hooks/use-issue-voucher.ts | 34 ++- idea/frontend/src/features/voucher/index.ts | 18 +- .../frontend/src/features/voucher/ui/index.ts | 14 +- .../{index.ts => index.tsx} | 0 .../issue-voucher-modal-deprecated.tsx | 63 +++++ .../issue-voucher-modal.tsx | 76 +++--- .../use-voucher-checkbox-deprecated/index.ts | 3 + ...e-voucher-checkbox-deprecated.module.scss} | 0 .../use-voucher-checkbox-deprecated.tsx | 40 +++ .../voucher/ui/use-voucher-checkbox/index.ts | 3 - .../use-voucher-checkbox.tsx | 27 -- .../voucher-badge-deprecated.tsx | 19 ++ .../ui/voucher-badge/voucher-badge.tsx | 17 +- .../voucher/ui/voucher-select/index.ts | 3 + .../ui/voucher-select/voucher-option.tsx | 23 ++ .../ui/voucher-select/voucher-select.tsx | 45 ++++ .../voucher/ui/voucher-table/index.ts | 3 +- .../voucher-table-deprecated.tsx | 42 +++ .../voucher-table/voucher-table.module.scss | 40 ++- .../ui/voucher-table/voucher-table.tsx | 81 ++++-- .../src/hooks/useMessageActions/types.ts | 27 +- .../useMessageActions/useMessageActions.ts | 110 ++++++-- .../useProgramActions/useProgramActions.tsx | 8 +- idea/frontend/src/pages/index.tsx | 3 + .../src/pages/program/program-deprecated.tsx | 111 ++++++++ .../src/pages/program/program.module.scss | 6 + idea/frontend/src/pages/program/program.tsx | 39 ++- .../assets/voucher-card-placeholder.svg | 7 + idea/frontend/src/pages/vouchers/index.ts | 3 + idea/frontend/src/pages/vouchers/ui/index.ts | 3 + .../pages/vouchers/ui/voucher-card/index.ts | 3 + .../ui/voucher-card/voucher-card.module.scss | 51 ++++ .../vouchers/ui/voucher-card/voucher-card.tsx | 45 ++++ .../src/pages/vouchers/vouchers.module.scss | 13 + idea/frontend/src/pages/vouchers/vouchers.tsx | 53 ++++ .../shared/assets/images/menu/vouchers.svg | 3 + idea/frontend/src/shared/config/routes.ts | 1 + idea/frontend/src/shared/helpers/form.ts | 3 +- idea/frontend/src/shared/helpers/index.ts | 8 +- .../src/shared/ui/form/Form.module.scss | 6 - .../src/shared/ui/form/checkbox/checkbox.tsx | 14 + .../src/shared/ui/form/checkbox/index.ts | 3 + .../frontend/src/shared/ui/form/form/form.tsx | 43 +++ .../frontend/src/shared/ui/form/form/index.ts | 3 + .../shared/ui/form/formInput/FormInput.tsx | 26 -- .../src/shared/ui/form/formInput/index.ts | 3 - idea/frontend/src/shared/ui/form/index.ts | 10 +- .../src/shared/ui/form/input/index.ts | 3 + .../src/shared/ui/form/input/input.tsx | 18 ++ .../src/shared/ui/form/radio/index.ts | 3 + .../src/shared/ui/form/radio/radio.tsx | 14 + .../src/shared/ui/form/select/index.ts | 3 + .../src/shared/ui/form/select/select.tsx | 15 ++ idea/frontend/src/shared/ui/index.ts | 4 +- .../ui/timestampBlock/TimestampBlock.tsx | 7 +- .../shared/ui/with-account/with-account.tsx | 1 - .../ui/with-deprecated-fallback/index.ts | 3 + .../with-deprecated-fallback.tsx | 13 + .../frontend/src/widgets/menu/model/consts.ts | 8 +- .../widgets/menu/ui/navigation/Navigation.tsx | 57 ++-- .../frontend/src/widgets/messageForm/index.ts | 2 +- .../src/widgets/messageForm/model/const.ts | 13 +- .../src/widgets/messageForm/model/index.ts | 8 +- .../src/widgets/messageForm/model/types.ts | 8 +- .../src/widgets/messageForm/ui/index.ts | 3 + .../ui/message-form-deprecated.tsx | 189 +++++++++++++ ...m.module.scss => message-form.module.scss} | 0 .../ui/{MessageForm.tsx => message-form.tsx} | 36 ++- .../widgets/programForm/ui/ProgramForm.tsx | 17 +- utils/gear-hooks/package.json | 14 +- utils/gear-hooks/src/context/Api.tsx | 10 +- utils/gear-hooks/src/hooks/api/block/index.ts | 3 + .../api/block/use-approx-block-timestamp.ts | 40 +++ utils/gear-hooks/src/hooks/api/index.ts | 24 +- .../src/hooks/api/useProgram/types.ts | 8 +- .../src/hooks/api/useSendMessage.ts | 85 ++---- .../gear-hooks/src/hooks/api/voucher/index.ts | 22 +- .../voucher/use-account-voucher-balance.ts | 12 - .../hooks/api/voucher/use-account-voucher.ts | 12 - .../voucher/use-is-account-voucher-exists.ts | 12 - .../api/voucher/use-is-voucher-exists.ts | 13 +- .../voucher/use-voucher-balance-deprecated.ts | 22 ++ .../hooks/api/voucher/use-voucher-balance.ts | 13 - .../api/voucher/use-voucher-deprecated.ts | 24 ++ .../hooks/api/voucher/use-voucher-status.ts | 13 + .../src/hooks/api/voucher/use-voucher.ts | 36 ++- .../src/hooks/api/voucher/use-vouchers.ts | 47 ++++ .../handlers/use-send-message-handler.ts | 10 +- utils/gear-hooks/src/hooks/index.ts | 20 +- utils/gear-hooks/src/index.ts | 25 +- utils/gear-hooks/src/types/index.ts | 7 + utils/gear-hooks/src/utils/index.ts | 11 +- utils/gear-ui/package.json | 2 +- .../src/components/FileInput/FileInput.tsx | 4 +- .../gear-ui/src/components/Select/Select.tsx | 16 +- utils/gear-ui/src/hooks/index.ts | 3 +- utils/gear-ui/src/hooks/useChangeEffect.ts | 25 ++ yarn.lock | 252 +++--------------- 106 files changed, 1769 insertions(+), 699 deletions(-) create mode 100644 idea/frontend/src/features/voucher/consts.ts create mode 100644 idea/frontend/src/features/voucher/hooks/use-balance-schema.ts create mode 100644 idea/frontend/src/features/voucher/hooks/use-duration-schema.ts rename idea/frontend/src/features/voucher/ui/issue-voucher-modal/{index.ts => index.tsx} (100%) create mode 100644 idea/frontend/src/features/voucher/ui/issue-voucher-modal/issue-voucher-modal-deprecated.tsx create mode 100644 idea/frontend/src/features/voucher/ui/use-voucher-checkbox-deprecated/index.ts rename idea/frontend/src/features/voucher/ui/{use-voucher-checkbox/use-voucher-checkbox.module.scss => use-voucher-checkbox-deprecated/use-voucher-checkbox-deprecated.module.scss} (100%) create mode 100644 idea/frontend/src/features/voucher/ui/use-voucher-checkbox-deprecated/use-voucher-checkbox-deprecated.tsx delete mode 100644 idea/frontend/src/features/voucher/ui/use-voucher-checkbox/index.ts delete mode 100644 idea/frontend/src/features/voucher/ui/use-voucher-checkbox/use-voucher-checkbox.tsx create mode 100644 idea/frontend/src/features/voucher/ui/voucher-badge/voucher-badge-deprecated.tsx create mode 100644 idea/frontend/src/features/voucher/ui/voucher-select/index.ts create mode 100644 idea/frontend/src/features/voucher/ui/voucher-select/voucher-option.tsx create mode 100644 idea/frontend/src/features/voucher/ui/voucher-select/voucher-select.tsx create mode 100644 idea/frontend/src/features/voucher/ui/voucher-table/voucher-table-deprecated.tsx create mode 100644 idea/frontend/src/pages/program/program-deprecated.tsx create mode 100644 idea/frontend/src/pages/vouchers/assets/voucher-card-placeholder.svg create mode 100644 idea/frontend/src/pages/vouchers/index.ts create mode 100644 idea/frontend/src/pages/vouchers/ui/index.ts create mode 100644 idea/frontend/src/pages/vouchers/ui/voucher-card/index.ts create mode 100644 idea/frontend/src/pages/vouchers/ui/voucher-card/voucher-card.module.scss create mode 100644 idea/frontend/src/pages/vouchers/ui/voucher-card/voucher-card.tsx create mode 100644 idea/frontend/src/pages/vouchers/vouchers.module.scss create mode 100644 idea/frontend/src/pages/vouchers/vouchers.tsx create mode 100644 idea/frontend/src/shared/assets/images/menu/vouchers.svg create mode 100644 idea/frontend/src/shared/ui/form/checkbox/checkbox.tsx create mode 100644 idea/frontend/src/shared/ui/form/checkbox/index.ts create mode 100644 idea/frontend/src/shared/ui/form/form/form.tsx create mode 100644 idea/frontend/src/shared/ui/form/form/index.ts delete mode 100644 idea/frontend/src/shared/ui/form/formInput/FormInput.tsx delete mode 100644 idea/frontend/src/shared/ui/form/formInput/index.ts create mode 100644 idea/frontend/src/shared/ui/form/input/index.ts create mode 100644 idea/frontend/src/shared/ui/form/input/input.tsx create mode 100644 idea/frontend/src/shared/ui/form/radio/index.ts create mode 100644 idea/frontend/src/shared/ui/form/radio/radio.tsx create mode 100644 idea/frontend/src/shared/ui/form/select/index.ts create mode 100644 idea/frontend/src/shared/ui/form/select/select.tsx create mode 100644 idea/frontend/src/shared/ui/with-deprecated-fallback/index.ts create mode 100644 idea/frontend/src/shared/ui/with-deprecated-fallback/with-deprecated-fallback.tsx create mode 100644 idea/frontend/src/widgets/messageForm/ui/index.ts create mode 100644 idea/frontend/src/widgets/messageForm/ui/message-form-deprecated.tsx rename idea/frontend/src/widgets/messageForm/ui/{MessageForm.module.scss => message-form.module.scss} (100%) rename idea/frontend/src/widgets/messageForm/ui/{MessageForm.tsx => message-form.tsx} (81%) create mode 100644 utils/gear-hooks/src/hooks/api/block/index.ts create mode 100644 utils/gear-hooks/src/hooks/api/block/use-approx-block-timestamp.ts delete mode 100644 utils/gear-hooks/src/hooks/api/voucher/use-account-voucher-balance.ts delete mode 100644 utils/gear-hooks/src/hooks/api/voucher/use-account-voucher.ts delete mode 100644 utils/gear-hooks/src/hooks/api/voucher/use-is-account-voucher-exists.ts create mode 100644 utils/gear-hooks/src/hooks/api/voucher/use-voucher-balance-deprecated.ts delete mode 100644 utils/gear-hooks/src/hooks/api/voucher/use-voucher-balance.ts create mode 100644 utils/gear-hooks/src/hooks/api/voucher/use-voucher-deprecated.ts create mode 100644 utils/gear-hooks/src/hooks/api/voucher/use-voucher-status.ts create mode 100644 utils/gear-hooks/src/hooks/api/voucher/use-vouchers.ts create mode 100644 utils/gear-ui/src/hooks/useChangeEffect.ts diff --git a/idea/frontend/package.json b/idea/frontend/package.json index 071f90796c..32349dcd86 100644 --- a/idea/frontend/package.json +++ b/idea/frontend/package.json @@ -3,21 +3,21 @@ "version": "0.1.2", "private": true, "scripts": { - "start": "vite --open", + "start": "vite --open --port 3000", "build": "tsc && vite build", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "preview": "vite preview" }, "dependencies": { - "@gear-js/api": "0.35.2", + "@gear-js/api": "0.36.2", "@gear-js/react-hooks": "workspace:^", "@gear-js/ui": "workspace:^", "@hcaptcha/react-hcaptcha": "1.8.1", "@hookform/resolvers": "3.3.2", - "@polkadot/api": "10.10.1", + "@polkadot/api": "10.11.2", "@polkadot/extension-dapp": "0.46.5", "@polkadot/react-identicon": "3.6.3", - "@polkadot/types": "10.10.1", + "@polkadot/types": "10.11.2", "@polkadot/util": "12.5.1", "@react-aria/utils": "3.21.0", "bignumber.js": "9.1.2", @@ -38,7 +38,8 @@ "react-router-dom": "6.16.0", "react-transition-group": "4.4.5", "simplebar-react": "3.2.4", - "yup": "1.3.2" + "yup": "1.3.2", + "zod": "3.22.4" }, "devDependencies": { "@types/lodash.isequal": "4.5.6", diff --git a/idea/frontend/src/features/balance/ui/transfer-balance-modal/transfer-balance-modal.tsx b/idea/frontend/src/features/balance/ui/transfer-balance-modal/transfer-balance-modal.tsx index 1cb9f91b92..c90df4a1b6 100644 --- a/idea/frontend/src/features/balance/ui/transfer-balance-modal/transfer-balance-modal.tsx +++ b/idea/frontend/src/features/balance/ui/transfer-balance-modal/transfer-balance-modal.tsx @@ -6,7 +6,7 @@ import { FormProvider, useForm } from 'react-hook-form'; import * as yup from 'yup'; import CloseSVG from '@/shared/assets/images/actions/close.svg?react'; -import { FormInput, ValueField } from '@/shared/ui/form'; +import { Input, ValueField } from '@/shared/ui/form'; import { isAccountAddressValid } from '@/shared/helpers'; import { useBalanceTransfer } from '@/hooks'; @@ -53,7 +53,7 @@ const TransferBalanceModal = ({ close }: Props) => {
- +
diff --git a/idea/frontend/src/features/formPayload/ui/FormPayload.tsx b/idea/frontend/src/features/formPayload/ui/FormPayload.tsx index 42beed12c3..a9bb560a46 100644 --- a/idea/frontend/src/features/formPayload/ui/FormPayload.tsx +++ b/idea/frontend/src/features/formPayload/ui/FormPayload.tsx @@ -21,9 +21,20 @@ type Props = { values?: FormPayloadValues; }; +// TODO: temp solution to unregister manual payload on unmount, +// since on metadata change it's messing with default payload values +function ManualPayloadTextarea({ name }: { name: string }) { + const { register, unregister } = useFormContext(); + + // eslint-disable-next-line react-hooks/exhaustive-deps + useEffect(() => () => unregister(name), []); + + return