diff --git a/apps/web/config/process/default.ts b/apps/web/config/process/default.ts deleted file mode 100644 index b3c88a4..0000000 --- a/apps/web/config/process/default.ts +++ /dev/null @@ -1,42 +0,0 @@ -import * as addProduct from '@/process/add-product'; -import * as bonuses from '@/process/bonuses'; -import * as calculate from '@/process/calculate'; -import * as configurator from '@/process/configurator'; -import * as createKP from '@/process/create-kp'; -import * as fingap from '@/process/fingap'; -import * as gibdd from '@/process/gibdd'; -import { useProcess } from '@/process/hooks'; -import * as insurance from '@/process/insurance'; -import * as leadOpportunity from '@/process/lead-opportunity'; -import * as leasingObject from '@/process/leasing-object'; -import * as leasingWithoutKasko from '@/process/leasing-without-kasko'; -import * as loadKP from '@/process/load-kp'; -import * as payments from '@/process/payments'; -import * as price from '@/process/price'; -import * as recalc from '@/process/recalc'; -import * as subsidy from '@/process/subsidy'; -import * as subsidyImportProgram from '@/process/subsidy-import-program'; -import * as supplierAgent from '@/process/supplier-agent'; -import * as usedPl from '@/process/used-pl'; - -export default function useReactions() { - useProcess(leadOpportunity); - useProcess(loadKP); - useProcess(calculate); - useProcess(supplierAgent); - useProcess(price); - useProcess(fingap); - useProcess(leasingWithoutKasko); - useProcess(subsidy); - useProcess(leasingObject); - useProcess(configurator); - useProcess(createKP); - useProcess(bonuses); - useProcess(usedPl); - useProcess(subsidyImportProgram); - useProcess(payments); - useProcess(gibdd); - useProcess(addProduct); - useProcess(insurance); - useProcess(recalc); -} diff --git a/apps/web/config/process/index.ts b/apps/web/config/process/index.ts deleted file mode 100644 index ab201ad..0000000 --- a/apps/web/config/process/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as useDefaultReactions } from './default'; diff --git a/apps/web/pages/index.jsx b/apps/web/pages/index.jsx index 5c44751..7a3b5cb 100644 --- a/apps/web/pages/index.jsx +++ b/apps/web/pages/index.jsx @@ -3,7 +3,7 @@ import initializeApollo from '@/apollo/client'; import * as Calculation from '@/Components/Calculation'; import { Error } from '@/Components/Common/Error'; import Output from '@/Components/Output'; -import { useDefaultReactions } from '@/config/process'; +import { useReactions } from '@/process/hooks'; import * as CRMTypes from '@/graphql/crm.types'; import * as init from '@/process/init'; import { min } from '@/styles/mq'; @@ -39,7 +39,7 @@ const Grid = styled(Box)` function Home(props) { init.useMainData(); init.useInsuranceData(); - useDefaultReactions(); + useReactions(); if (props.statusCode !== 200) return ; diff --git a/apps/web/process/hooks.ts b/apps/web/process/hooks/common.ts similarity index 71% rename from apps/web/process/hooks.ts rename to apps/web/process/hooks/common.ts index 8537421..8315456 100644 --- a/apps/web/process/hooks.ts +++ b/apps/web/process/hooks/common.ts @@ -1,20 +1,11 @@ import { getUser } from '@/api/user/query'; import { STALE_TIME } from '@/constants/request'; -import type { Process, ProcessContext } from '@/process/types'; +import type { ProcessContext } from '@/process/types'; import { useStore } from '@/stores/hooks'; import { trpcPureClient } from '@/trpc/client'; import { useApolloClient } from '@apollo/client'; import { useQuery, useQueryClient } from '@tanstack/react-query'; -export function useProcess({ reactions }: Process) { - const context = useProcessContext(); - - Object.keys(reactions).forEach((name) => { - const injector = reactions[name]; - injector(context); - }); -} - export function useProcessContext(): ProcessContext { const store = useStore(); const apolloClient = useApolloClient(); diff --git a/apps/web/process/hooks/index.ts b/apps/web/process/hooks/index.ts new file mode 100644 index 0000000..a17ffcc --- /dev/null +++ b/apps/web/process/hooks/index.ts @@ -0,0 +1,2 @@ +export * from './common'; +export * from './reactions'; diff --git a/apps/web/process/hooks/reactions.ts b/apps/web/process/hooks/reactions.ts new file mode 100644 index 0000000..2870e2d --- /dev/null +++ b/apps/web/process/hooks/reactions.ts @@ -0,0 +1,58 @@ +import type { Process } from '../types'; +import { useProcessContext } from './common'; +import * as addProduct from '@/process/add-product'; +import * as bonuses from '@/process/bonuses'; +import * as calculate from '@/process/calculate'; +import * as configurator from '@/process/configurator'; +import * as createKP from '@/process/create-kp'; +import * as fingap from '@/process/fingap'; +import * as gibdd from '@/process/gibdd'; +import * as insurance from '@/process/insurance'; +import * as leadOpportunity from '@/process/lead-opportunity'; +import * as leasingObject from '@/process/leasing-object'; +import * as leasingWithoutKasko from '@/process/leasing-without-kasko'; +import * as loadKP from '@/process/load-kp'; +import * as payments from '@/process/payments'; +import * as price from '@/process/price'; +import * as recalc from '@/process/recalc'; +import * as subsidy from '@/process/subsidy'; +import * as subsidyImportProgram from '@/process/subsidy-import-program'; +import * as supplierAgent from '@/process/supplier-agent'; +import * as usedPl from '@/process/used-pl'; + +export type Config = { + prune: string[]; +}; + +function useProcess({ reactions }: Process, config?: Config) { + const context = useProcessContext(); + + Object.keys(reactions).forEach((name) => { + if (config?.prune?.length && !config?.prune.includes(name)) { + const injector = reactions[name]; + injector(context); + } + }); +} + +export function useReactions(config: Config) { + useProcess(leadOpportunity, config); + useProcess(loadKP, config); + useProcess(calculate, config); + useProcess(supplierAgent, config); + useProcess(price, config); + useProcess(fingap, config); + useProcess(leasingWithoutKasko, config); + useProcess(subsidy, config); + useProcess(leasingObject, config); + useProcess(configurator, config); + useProcess(createKP, config); + useProcess(bonuses, config); + useProcess(usedPl, config); + useProcess(subsidyImportProgram, config); + useProcess(payments, config); + useProcess(gibdd, config); + useProcess(addProduct, config); + useProcess(insurance, config); + useProcess(recalc, config); +}