diff --git a/apps/web/process/configurator/get-kp-data.ts b/apps/web/process/configurator/get-kp-data.ts index 63546bf..bd41930 100644 --- a/apps/web/process/configurator/get-kp-data.ts +++ b/apps/web/process/configurator/get-kp-data.ts @@ -8,6 +8,7 @@ import * as CRMTypes from '@/graphql/crm.types'; import { getKPData as getKPDataPrice } from '@/process/price/get-kp-data'; import { getKPData as getKPDataSubsidy } from '@/process/subsidy/get-kp-data'; import { createCurrencyUtility } from '@/utils/currency'; +import { normalizeOptions } from '@/utils/entity'; import { gql } from '@apollo/client'; // eslint-disable-next-line @typescript-eslint/no-unused-vars @@ -53,6 +54,8 @@ export async function getKPData({ values }: GetQuoteInputData): Promise { + .then(({ values, payments, insurance, fingap, elt, options }) => { + if (options?.selectTarif) { + $calculation.element('selectTarif').setOptions(normalizeOptions(options.selectTarif)); + } else { + $calculation.element('selectTarif').resetOptions(); + } + $calculation.$values.setValues( omit(values, [ 'lead', diff --git a/apps/web/server/routers/quote/index.ts b/apps/web/server/routers/quote/index.ts index 348baa3..a731a01 100644 --- a/apps/web/server/routers/quote/index.ts +++ b/apps/web/server/routers/quote/index.ts @@ -81,6 +81,7 @@ export const quoteRouter = router({ const insurance = processData.find((x) => x.insurance)?.insurance ?? defaultInsurance; const fingap = processData.find((x) => x.fingap)?.fingap ?? defaultFingap; const elt = processData.find((x) => x.elt)?.elt; + const options = processData[0].options; return { values, @@ -88,6 +89,7 @@ export const quoteRouter = router({ insurance, fingap, elt, + options, }; }), diff --git a/apps/web/server/routers/quote/types.ts b/apps/web/server/routers/quote/types.ts index be860f7..e01cc5b 100644 --- a/apps/web/server/routers/quote/types.ts +++ b/apps/web/server/routers/quote/types.ts @@ -51,6 +51,11 @@ export const GetQuoteOutputDataSchema = z .optional(), fingap: FinGAPSchema, insurance: InsuranceSchema, + options: z + .object({ + selectTarif: z.unknown().array(), + }) + .optional(), payments: PaymentsSchema, values: ValuesSchema, })