@@ -42,230 +42,8 @@ export const useModule = <T extends components['schemas']['Module']['type']>(
4242 dispatch ( removeModule ( moduleName ) ) ;
4343 } , [ moduleName ] ) ;
4444
45- const getConfig = (
46- type : components [ 'schemas' ] [ 'Module' ] [ 'type' ]
47- ) : components [ 'schemas' ] [ 'Module' ] | null => {
48- switch ( type ) {
49- case 'dates' :
50- return {
51- type,
52- variant : 'default' ,
53- output : {
54- start : '' ,
55- } ,
56- } ;
57- case 'goal' :
58- return {
59- type,
60- variant : 'default' ,
61- output : '' ,
62- } ;
63- case 'out_of_scope' :
64- return {
65- type,
66- variant : 'default' ,
67- output : '' ,
68- } ;
69- case 'title' :
70- return {
71- type,
72- variant : 'default' ,
73- output : '' ,
74- } ;
75- case 'tasks' :
76- return {
77- type,
78- variant : 'default' ,
79- output : [ ] ,
80- } ;
81- case 'age' :
82- return {
83- type,
84- variant : 'default' ,
85- output : [
86- {
87- min : 16 ,
88- max : 17 ,
89- percentage : 0 ,
90- } ,
91- {
92- min : 18 ,
93- max : 24 ,
94- percentage : 0 ,
95- } ,
96- {
97- min : 25 ,
98- max : 34 ,
99- percentage : 0 ,
100- } ,
101- {
102- min : 35 ,
103- max : 54 ,
104- percentage : 0 ,
105- } ,
106- {
107- min : 55 ,
108- max : 70 ,
109- percentage : 0 ,
110- } ,
111- ] ,
112- } ;
113- case 'gender' :
114- return {
115- type,
116- variant : 'default' ,
117- output : [
118- { gender : 'male' , percentage : 50 } ,
119- { gender : 'female' , percentage : 50 } ,
120- ] ,
121- } ;
122- case 'literacy' :
123- return {
124- type,
125- variant : 'default' ,
126- output : [
127- { level : 'beginner' , percentage : 33.33 } ,
128- { level : 'intermediate' , percentage : 33.33 } ,
129- { level : 'expert' , percentage : 33.33 } ,
130- ] ,
131- } ;
132- case 'language' :
133- return {
134- type,
135- variant : 'default' ,
136- output : 'en' ,
137- } ;
138- case 'locality' :
139- return {
140- type,
141- variant : 'default' ,
142- output : [
143- {
144- type : 'country' ,
145- values : [ 'IT' ] ,
146- } ,
147- ] ,
148- } ;
149- case 'target' :
150- return {
151- type,
152- variant : 'default' ,
153- output : 5 ,
154- } ;
155- case 'browser' :
156- return {
157- type,
158- variant : 'default' ,
159- output : [
160- { name : 'chrome' , percentage : 25 } ,
161- { name : 'firefox' , percentage : 25 } ,
162- { name : 'safari' , percentage : 25 } ,
163- { name : 'edge' , percentage : 25 } ,
164- ] ,
165- } ;
166- case 'setup_note' :
167- return {
168- type,
169- variant : 'default' ,
170- output : '' ,
171- } ;
172- case 'target_note' :
173- return {
174- type,
175- variant : 'default' ,
176- output : '' ,
177- } ;
178- case 'instruction_note' :
179- return {
180- type,
181- variant : 'default' ,
182- output : '' ,
183- } ;
184- case 'touchpoints' :
185- return {
186- type,
187- variant : 'default' ,
188- output : [ ] ,
189- } ;
190- case 'additional_target' :
191- return {
192- type,
193- variant : 'default' ,
194- output : '' ,
195- } ;
196- case 'employment' :
197- return {
198- type,
199- variant : 'default' ,
200- output : [ ] ,
201- } ;
202- case 'annual_income_range' :
203- return {
204- type,
205- variant : 'default' ,
206- output : [
207- {
208- min : 0 ,
209- max : 25000 ,
210- percentage : 0 ,
211- } ,
212- {
213- min : 25001 ,
214- max : 50000 ,
215- percentage : 0 ,
216- } ,
217- {
218- min : 50001 ,
219- max : 999999999 ,
220- percentage : 0 ,
221- } ,
222- ] ,
223- } ;
224- case 'bank' :
225- return {
226- type,
227- variant : 'default' ,
228- output : [ ] ,
229- } ;
230- case 'elettricity_supply' :
231- return {
232- type,
233- variant : 'default' ,
234- output : [ ] ,
235- } ;
236- case 'gas_supply' :
237- return {
238- type,
239- variant : 'default' ,
240- output : [ ] ,
241- } ;
242- case 'mobile_internet' :
243- return {
244- type,
245- variant : 'default' ,
246- output : [ ] ,
247- } ;
248- case 'home_internet' :
249- return {
250- type,
251- variant : 'default' ,
252- output : [ ] ,
253- } ;
254- default :
255- return null ;
256- }
257- } ;
258-
259- const add = ( ) => {
260- if ( ! getConfig ( moduleName ) ) return ;
261-
262- const newModule = getConfig ( moduleName ) ;
263- if ( ! newModule ) return ;
264- dispatch ( setModule ( { type : moduleName , module : newModule } ) ) ;
265- } ;
266-
26745 return useMemo (
268- ( ) => ( { value : module , set, remove, setOutput, setVariant, add } ) ,
269- [ module , set , remove , add ]
46+ ( ) => ( { value : module , set, remove, setOutput, setVariant } ) ,
47+ [ module , set , remove ]
27048 ) ;
27149} ;
0 commit comments