diff --git a/src/components/CustomRadioGroup/CustomRadioGroup.tsx b/src/components/CustomRadioGroup/CustomRadioGroup.tsx index 99cd0d89..31889355 100644 --- a/src/components/CustomRadioGroup/CustomRadioGroup.tsx +++ b/src/components/CustomRadioGroup/CustomRadioGroup.tsx @@ -106,7 +106,7 @@ export const CustomRadioGroup: FC = ({ border: `1px solid ${theme.palette.grey2.main}`, borderRadius: "12px", padding: "5px", - height: "305px", + maxHeight: "305px", overflowY: "auto", }} > diff --git a/src/components/CustomSelect/CustomSelect.tsx b/src/components/CustomSelect/CustomSelect.tsx index 15fd7e0c..1020acef 100644 --- a/src/components/CustomSelect/CustomSelect.tsx +++ b/src/components/CustomSelect/CustomSelect.tsx @@ -93,7 +93,7 @@ export const CustomSelect: FC = ({ items, selectedItemId, set }, [items, selectedItemId]); return ( - + void; accountInfo: AccountResponse | null; + toChangeAccount: () => void; }; -export const AccountInfo: FC = ({ handleNextStep, accountInfo }) => { +export const AccountInfo: FC = ({ handleNextStep, accountInfo, toChangeAccount }) => { const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down(600)); @@ -135,7 +136,7 @@ export const AccountInfo: FC = ({ handleNextStep, accountIn width={"20px"} /> } - onClick={() => { }} + onClick={toChangeAccount} sx={{ height: "44px", padding: "0", diff --git a/src/pages/IntegrationsPage/IntegrationsModal/Amo/DealPerformers.tsx b/src/pages/IntegrationsPage/IntegrationsModal/Amo/DealPerformers.tsx index 14eb6644..0ed87b1a 100644 --- a/src/pages/IntegrationsPage/IntegrationsModal/Amo/DealPerformers.tsx +++ b/src/pages/IntegrationsPage/IntegrationsModal/Amo/DealPerformers.tsx @@ -34,19 +34,20 @@ export const DealPerformers: FC = ({ return ( <> - - + + = ({ const isMobile = useMediaQuery(theme.breakpoints.down(600)); return ( - + = ({ sx={{ color: "#4D4D4D", fontSize: "16px", - m: "5px 0 15px 0" + m: "5px 0 15px 0", + whiteSpace: "break-spaces", + width: "90%" }} > {desc} } - - {step} шаг - + + {step} шаг + - + + + + ); }; diff --git a/src/pages/IntegrationsPage/IntegrationsModal/Amo/PipelineSteps.tsx b/src/pages/IntegrationsPage/IntegrationsModal/Amo/PipelineSteps.tsx index d419faaf..353723a8 100644 --- a/src/pages/IntegrationsPage/IntegrationsModal/Amo/PipelineSteps.tsx +++ b/src/pages/IntegrationsPage/IntegrationsModal/Amo/PipelineSteps.tsx @@ -44,53 +44,60 @@ export const PipelineSteps: FC = ({ return ( <> - - - - {}} - /> - + - {}} - /> + }}> + + + { }} + /> + + + { }} + /> + + + + + - - - - ); }; diff --git a/src/pages/IntegrationsPage/IntegrationsModal/Amo/Pipelines.tsx b/src/pages/IntegrationsPage/IntegrationsModal/Amo/Pipelines.tsx index cfd6c784..ce09c838 100644 --- a/src/pages/IntegrationsPage/IntegrationsModal/Amo/Pipelines.tsx +++ b/src/pages/IntegrationsPage/IntegrationsModal/Amo/Pipelines.tsx @@ -42,44 +42,51 @@ export const Pipelines: FC = ({ const isTablet = useMediaQuery(theme.breakpoints.down(1000)); return ( <> - - - { }} - /> - - { }} - /> + }}> + + + { }} + /> + + + { }} + /> + diff --git a/src/pages/IntegrationsPage/IntegrationsModal/Amo/Questions/AmoQuestions.tsx b/src/pages/IntegrationsPage/IntegrationsModal/Amo/Questions/AmoQuestions.tsx index 400c197a..a6deaf0f 100644 --- a/src/pages/IntegrationsPage/IntegrationsModal/Amo/Questions/AmoQuestions.tsx +++ b/src/pages/IntegrationsPage/IntegrationsModal/Amo/Questions/AmoQuestions.tsx @@ -7,6 +7,7 @@ import { EntitiesQuestions } from "./EntitiesQuestions"; import { diffArr } from ".."; import { DataConstrictor } from "../Components/DataConstrictor"; import { ModalTitle } from "../ModalTitle"; +import { StepButtonsBlock } from "../StepButtonsBlock"; type Props = { selectedCurrentFields: MinifiedData[] | []; @@ -132,66 +133,83 @@ export const AmoQuestions: FC = ({ }, [activeScope]) return ( <> - - - {isSelection && activeScope !== null ? ( - // Здесь выбираем элемент в табличку - <> - - { - setActiveScope(null); - setIsSelection(false); - }} - onLargeBtnClick={() => { - handleAdd(); - setActiveScope(null); - setIsSelection(false); - }} - activeScope={activeScope} - setIsCurrentFields={setIsCurrentFields} - isCurrentFields={isCurrentFields} - /> - - ) : ( - // Табличка - + - )} - + + {isSelection && activeScope !== null ? ( + // Здесь выбираем элемент в табличку + <> + + { + setActiveScope(null); + setIsSelection(false); + }} + onLargeBtnClick={() => { + handleAdd(); + setActiveScope(null); + setIsSelection(false); + }} + activeScope={activeScope} + setIsCurrentFields={setIsCurrentFields} + isCurrentFields={isCurrentFields} + /> + + ) : ( + // Табличка + + )} + + + + + + ); }; diff --git a/src/pages/IntegrationsPage/IntegrationsModal/Amo/Questions/ItemDetailsView/ItemDetailsView.tsx b/src/pages/IntegrationsPage/IntegrationsModal/Amo/Questions/ItemDetailsView/ItemDetailsView.tsx index 89aca507..23ab2914 100644 --- a/src/pages/IntegrationsPage/IntegrationsModal/Amo/Questions/ItemDetailsView/ItemDetailsView.tsx +++ b/src/pages/IntegrationsPage/IntegrationsModal/Amo/Questions/ItemDetailsView/ItemDetailsView.tsx @@ -9,8 +9,6 @@ type TitleKeys = "Contact" | "Company" | "Lead" | "Customer"; type ItemDetailsViewProps = { items: MinifiedData[]; setIsSelection: (value: boolean) => void; - handleSmallBtn: () => void; - handleLargeBtn: () => void; selectedQuestions: SelectedQuestions; setActiveScope: (value: QuestionKeys | null) => void; deleteHC: (id: string, scope: QuestionKeys) => void; @@ -18,8 +16,6 @@ type ItemDetailsViewProps = { export const ItemDetailsView: FC = ({ items, - handleSmallBtn, - handleLargeBtn, selectedQuestions, setIsSelection, setActiveScope, @@ -68,18 +64,6 @@ export const ItemDetailsView: FC = ({ ))} - - - ); }; diff --git a/src/pages/IntegrationsPage/IntegrationsModal/Amo/SettingsBlock/SettingItem/SettingItem.tsx b/src/pages/IntegrationsPage/IntegrationsModal/Amo/SettingsBlock/SettingItem/SettingItem.tsx index ee1614be..ce9cf851 100644 --- a/src/pages/IntegrationsPage/IntegrationsModal/Amo/SettingsBlock/SettingItem/SettingItem.tsx +++ b/src/pages/IntegrationsPage/IntegrationsModal/Amo/SettingsBlock/SettingItem/SettingItem.tsx @@ -9,8 +9,7 @@ import { SelectedQuestions, SelectedTags } from "../../types"; type SettingItemProps = { step: number; title: string; - setStep: (value: number) => void; - setIsSettingsBlock: (value: boolean) => void; + setStep: (step: number) => void; selectedFunnelPerformer: string | null; selectedFunnel: string | null; selectedStagePerformer: string | null; @@ -24,7 +23,6 @@ export const SettingItem: FC = ({ step, title, setStep, - setIsSettingsBlock, selectedFunnelPerformer, selectedFunnel, selectedStagePerformer, @@ -34,6 +32,7 @@ export const SettingItem: FC = ({ selectedTags, }) => { const theme = useTheme(); + console.log(step) const isMobile = useMediaQuery(theme.breakpoints.down(600)); if (step === 0) { return; @@ -146,8 +145,7 @@ export const SettingItem: FC = ({ setStep(step)} /> {SettingsContent} diff --git a/src/pages/IntegrationsPage/IntegrationsModal/Amo/SettingsBlock/SettingItem/SettingItemHeader/SettingItemHeader.tsx b/src/pages/IntegrationsPage/IntegrationsModal/Amo/SettingsBlock/SettingItem/SettingItemHeader/SettingItemHeader.tsx index 61a43ea2..bbf6d11a 100644 --- a/src/pages/IntegrationsPage/IntegrationsModal/Amo/SettingsBlock/SettingItem/SettingItemHeader/SettingItemHeader.tsx +++ b/src/pages/IntegrationsPage/IntegrationsModal/Amo/SettingsBlock/SettingItem/SettingItemHeader/SettingItemHeader.tsx @@ -6,23 +6,16 @@ import { FC } from "react"; type SettingItemHeaderProps = { title: string; step: number; - setStep: (value: number) => void; - setIsSettingsBlock: (value: boolean) => void; + setStep: () => void; }; export const SettingItemHeader: FC = ({ title, step, setStep, - setIsSettingsBlock, }) => { const theme = useTheme(); - const handleClick = () => { - setStep(step); - setIsSettingsBlock(false); - }; - return ( = ({ > {step} этап - + void; - setIsSettingsBlock: (value: boolean) => void; selectedFunnel: string | null; selectedStage: string | null; selectedDealUser: string | null; selectedQuestions: SelectedQuestions; selectedTags: SelectedTags; + toBack: () => void + setStep: (step: number) => void }; export const SettingsBlock: FC = ({ stepTitles, - setStep, - setIsSettingsBlock, selectedFunnel, selectedDealUser, selectedStage, selectedQuestions, selectedTags, + toBack, + setStep, }) => { const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down(600)); return ( - + + + Мои настройки + = ({ {stepTitles && stepTitles.map((title, index) => ( ))} setIsSettingsBlock(false)} + onSmallBtnClick={toBack} isLargeBtnMissing={true} /> diff --git a/src/pages/IntegrationsPage/IntegrationsModal/Amo/SwitchPages.tsx b/src/pages/IntegrationsPage/IntegrationsModal/Amo/SwitchPages.tsx index 1c123dc7..e6868cf2 100644 --- a/src/pages/IntegrationsPage/IntegrationsModal/Amo/SwitchPages.tsx +++ b/src/pages/IntegrationsPage/IntegrationsModal/Amo/SwitchPages.tsx @@ -90,7 +90,7 @@ export const SwitchPages = ({ handleCloseModal, }: Props) => { const [step, setStep] = useState(0) - const [specialPage, setSpecialPage] = useState<"deleteCell" | "removeAccount" | "settingsBlock" | "accountInfo" | "amoLogin" | "">("accountInfo") + const [specialPage, setSpecialPage] = useState<"deleteCell" | "removeAccount" | "settingsBlock" | "accountInfo" | "amoLogin" | "">(accountInfo ? "accountInfo" : "amoLogin") const [openDelete, setOpenDelete] = useState(null); @@ -226,6 +226,8 @@ export const SwitchPages = ({ } body.FieldsRule = FieldsRule; + console.log(body) + // if (firstRules) { // setIntegrationRules(quiz.backendId.toString(), body); // } else { @@ -353,14 +355,12 @@ export const SwitchPages = ({ /> case "removeAccount": return case "settingsBlock": return u.id === selectedDealUser)?.title || "не указан"} selectedFunnel={arrayOfPipelines.find((p) => p.id === selectedPipeline)?.title || "нет данных"} selectedStage={ @@ -368,15 +368,26 @@ export const SwitchPages = ({ } selectedQuestions={selectedQuestions} selectedTags={selectedTags} + toBack={() => closeSpecialPage()} + setStep={(step: number) => { + closeSpecialPage() + setStep(step) + }} /> case "amoLogin": return case "accountInfo": return setSpecialPage("")} + handleNextStep={() => closeSpecialPage()} accountInfo={accountInfo} + toChangeAccount={() => setSpecialPage("removeAccount")} /> - default: return {steps[step].component} + default: return {steps[step].component} } } diff --git a/src/pages/IntegrationsPage/IntegrationsModal/Amo/Tags/AmoTags.tsx b/src/pages/IntegrationsPage/IntegrationsModal/Amo/Tags/AmoTags.tsx index 6ac7c682..66743049 100644 --- a/src/pages/IntegrationsPage/IntegrationsModal/Amo/Tags/AmoTags.tsx +++ b/src/pages/IntegrationsPage/IntegrationsModal/Amo/Tags/AmoTags.tsx @@ -5,6 +5,7 @@ import { TagsDetailsView } from "./TagsDetailsView/TagsDetailsView"; import { MinifiedData, QuestionKeys, SelectedTags, TagKeys, TagQuestionHC } from "../types"; import { DataConstrictor } from "../Components/DataConstrictor"; import { ModalTitle } from "../ModalTitle"; +import { StepButtonsBlock } from "../StepButtonsBlock"; type Props = { tagsItems: MinifiedData[] | []; @@ -57,53 +58,67 @@ export const AmoTags: FC = ({ return ( <> - + + + + {isSelection && activeScope !== null ? ( + // Здесь выбираем элемент в табличку + <> + + { + setActiveScope(null); + setIsSelection(false); + }} + onLargeBtnClick={() => { + handleAdd(); + setActiveScope(null); + setIsSelection(false); + }} + /> + + ) : ( + // Табличка + + )} + + - {isSelection && activeScope !== null ? ( - // Здесь выбираем элемент в табличку - <> - - { - setActiveScope(null); - setIsSelection(false); - }} - onLargeBtnClick={() => { - handleAdd(); - setActiveScope(null); - setIsSelection(false); - }} - /> - - ) : ( - // Табличка - - )} + ); diff --git a/src/pages/IntegrationsPage/IntegrationsModal/Amo/Tags/TagsDetailsView/TagsDetailsView.tsx b/src/pages/IntegrationsPage/IntegrationsModal/Amo/Tags/TagsDetailsView/TagsDetailsView.tsx index 499743a7..61499c08 100644 --- a/src/pages/IntegrationsPage/IntegrationsModal/Amo/Tags/TagsDetailsView/TagsDetailsView.tsx +++ b/src/pages/IntegrationsPage/IntegrationsModal/Amo/Tags/TagsDetailsView/TagsDetailsView.tsx @@ -7,8 +7,6 @@ import { MinifiedData, SelectedTags, TagKeys } from "../../types"; type TagsDetailsViewProps = { items: MinifiedData[]; setIsSelection: (value: boolean) => void; - handlePrevStep: () => void; - handleNextStep: () => void; setActiveScope: (value: TagKeys | null) => void; selectedTags: SelectedTags; deleteHC: (id: string, scope: TagKeys) => void; @@ -19,8 +17,6 @@ export const TagsDetailsView: FC = ({ setActiveScope, selectedTags, setIsSelection, - handlePrevStep, - handleNextStep, deleteHC, }) => { const theme = useTheme(); @@ -30,7 +26,7 @@ export const TagsDetailsView: FC = ({ return ( = ({ = ({ ))} - - - ); };