repoweaver
Version:
A GitHub App that skillfully weaves multiple templates together to create and update repositories with intelligent merge strategies
1 lines • 3.29 kB
JSON
{"ast":null,"code":"import { createSlice } from '@reduxjs/toolkit';\nconst initialState = {\n activeProjects: []\n};\nexport const progressSlice = createSlice({\n name: 'progress',\n initialState,\n reducers: {\n startProject: (state, action) => {\n state.activeProjects.push(action.payload);\n },\n updateProgress: (state, action) => {\n const index = state.activeProjects.findIndex(p => p.id === action.payload.id);\n if (index !== -1) {\n state.activeProjects[index] = Object.assign({}, state.activeProjects[index], action.payload);\n }\n },\n completeProject: (state, action) => {\n state.activeProjects = state.activeProjects.filter(p => p.id !== action.payload);\n }\n }\n});\nexport const {\n startProject,\n updateProgress,\n completeProject\n} = progressSlice.actions;","map":{"version":3,"names":["createSlice","initialState","activeProjects","progressSlice","name","reducers","startProject","state","action","push","payload","updateProgress","index","findIndex","p","id","Object","assign","completeProject","filter","actions"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/src/store/progressSlice.ts"],"sourcesContent":["import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { ProjectProgress } from '../types';\n\ninterface ProgressState {\n activeProjects: ProjectProgress[];\n}\n\nconst initialState: ProgressState = {\n activeProjects: [],\n};\n\nexport const progressSlice = createSlice({\n name: 'progress',\n initialState,\n reducers: {\n startProject: (state, action: PayloadAction<ProjectProgress>) => {\n state.activeProjects.push(action.payload);\n },\n updateProgress: (state, action: PayloadAction<Partial<ProjectProgress> & { id: string }>) => {\n const index = state.activeProjects.findIndex(p => p.id === action.payload.id);\n if (index !== -1) {\n state.activeProjects[index] = { ...state.activeProjects[index], ...action.payload };\n }\n },\n completeProject: (state, action: PayloadAction<string>) => {\n state.activeProjects = state.activeProjects.filter(p => p.id !== action.payload);\n },\n },\n});\n\nexport const { startProject, updateProgress, completeProject } = progressSlice.actions;"],"mappings":"AAAA,SAASA,WAAW,QAAuB,kBAAkB;AAO7D,MAAMC,YAA2B,GAAG;EAClCC,cAAc,EAAE;AAClB,CAAC;AAED,OAAO,MAAMC,aAAa,GAAGH,WAAW,CAAC;EACvCI,IAAI,EAAE,UAAU;EAChBH,YAAY;EACZI,QAAQ,EAAE;IACRC,YAAY,EAAEA,CAACC,KAAK,EAAEC,MAAsC,KAAK;MAC/DD,KAAK,CAACL,cAAc,CAACO,IAAI,CAACD,MAAM,CAACE,OAAO,CAAC;IAC3C,CAAC;IACDC,cAAc,EAAEA,CAACJ,KAAK,EAAEC,MAAgE,KAAK;MAC3F,MAAMI,KAAK,GAAGL,KAAK,CAACL,cAAc,CAACW,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACC,EAAE,KAAKP,MAAM,CAACE,OAAO,CAACK,EAAE,CAAC;MAC7E,IAAIH,KAAK,KAAK,CAAC,CAAC,EAAE;QAChBL,KAAK,CAACL,cAAc,CAACU,KAAK,CAAC,GAAAI,MAAA,CAAAC,MAAA,KAAQV,KAAK,CAACL,cAAc,CAACU,KAAK,CAAC,EAAKJ,MAAM,CAACE,OAAO,CAAE;MACrF;IACF,CAAC;IACDQ,eAAe,EAAEA,CAACX,KAAK,EAAEC,MAA6B,KAAK;MACzDD,KAAK,CAACL,cAAc,GAAGK,KAAK,CAACL,cAAc,CAACiB,MAAM,CAACL,CAAC,IAAIA,CAAC,CAACC,EAAE,KAAKP,MAAM,CAACE,OAAO,CAAC;IAClF;EACF;AACF,CAAC,CAAC;AAEF,OAAO,MAAM;EAAEJ,YAAY;EAAEK,cAAc;EAAEO;AAAgB,CAAC,GAAGf,aAAa,CAACiB,OAAO","ignoreList":[]},"metadata":{"hasCjsExports":false},"sourceType":"module","externalDependencies":[]}