{"version":3,"file":"reducer.mjs","sources":["../../../../admin/src/pages/SettingsPage/reducer.ts"],"sourcesContent":["import { produce } from 'immer';\nimport set from 'lodash/set';\n\nimport { SettingsData } from '../../../../shared/contracts/settings';\n\nconst initialData: SettingsData = {\n  responsiveDimensions: true,\n  sizeOptimization: true,\n  autoOrientation: false,\n  videoPreview: false,\n  aiMetadata: true,\n};\n\nexport type InitialState = {\n  initialData: SettingsData | null;\n  modifiedData: SettingsData | null;\n};\n\ninterface ActionGetDataSucceeded {\n  type: 'GET_DATA_SUCCEEDED';\n  data: InitialState['initialData'];\n}\n\ninterface ActionOnChange {\n  type: 'ON_CHANGE';\n  keys: keyof NonNullable<InitialState['initialData']>;\n  value: boolean;\n}\n\nexport type Action = ActionGetDataSucceeded | ActionOnChange;\n\nconst initialState: InitialState = {\n  initialData,\n  modifiedData: { ...initialData },\n};\n\nconst reducer = (state: InitialState, action: Action) =>\n  produce(state, (drafState) => {\n    switch (action.type) {\n      case 'GET_DATA_SUCCEEDED': {\n        drafState.initialData = action.data;\n        drafState.modifiedData = action.data;\n        break;\n      }\n      case 'ON_CHANGE': {\n        set(drafState, ['modifiedData', ...action.keys.split('.')], action.value);\n        break;\n      }\n      default:\n        return state;\n    }\n  });\n\nexport { initialState, reducer };\n"],"names":["initialData","responsiveDimensions","sizeOptimization","autoOrientation","videoPreview","aiMetadata","initialState","modifiedData","reducer","state","action","produce","drafState","type","data","set","keys","split","value"],"mappings":";;;AAKA,MAAMA,WAAAA,GAA4B;IAChCC,oBAAAA,EAAsB,IAAA;IACtBC,gBAAAA,EAAkB,IAAA;IAClBC,eAAAA,EAAiB,KAAA;IACjBC,YAAAA,EAAc,KAAA;IACdC,UAAAA,EAAY;AACd,CAAA;AAoBA,MAAMC,YAAAA,GAA6B;AACjCN,IAAAA,WAAAA;IACAO,YAAAA,EAAc;AAAE,QAAA,GAAGP;AAAY;AACjC;AAEA,MAAMQ,UAAU,CAACC,KAAAA,EAAqBC,MAAAA,GACpCC,OAAAA,CAAQF,OAAO,CAACG,SAAAA,GAAAA;AACd,QAAA,OAAQF,OAAOG,IAAI;YACjB,KAAK,oBAAA;AAAsB,gBAAA;oBACzBD,SAAAA,CAAUZ,WAAW,GAAGU,MAAAA,CAAOI,IAAI;oBACnCF,SAAAA,CAAUL,YAAY,GAAGG,MAAAA,CAAOI,IAAI;AACpC,oBAAA;AACF,gBAAA;YACA,KAAK,WAAA;AAAa,gBAAA;AAChBC,oBAAAA,GAAAA,CAAIH,SAAAA,EAAW;AAAC,wBAAA,cAAA;2BAAmBF,MAAAA,CAAOM,IAAI,CAACC,KAAK,CAAC,GAAA;AAAK,qBAAA,EAAEP,OAAOQ,KAAK,CAAA;AACxE,oBAAA;AACF,gBAAA;AACA,YAAA;gBACE,OAAOT,KAAAA;AACX;AACF,IAAA,CAAA;;;;"}