configurable commission setting
This commit is contained in:
+31
-1
@@ -4917,6 +4917,16 @@ export const MockStoreProvider = ({ children }) => {
|
||||
const [kanbanColumns, setKanbanColumns] = useState(KANBAN_COLUMNS_INITIAL);
|
||||
const [kanbanLeads, setKanbanLeads] = useState(KANBAN_LEADS_INITIAL);
|
||||
|
||||
// Commission Settings — Org defaults + per-user overrides
|
||||
const [orgCommissionDefaults, setOrgCommissionDefaults] = useState({
|
||||
type: 'percent_gross',
|
||||
rate: 10,
|
||||
});
|
||||
const [userCommissionOverrides, setUserCommissionOverrides] = useState([
|
||||
{ userId: 'p1', userName: 'Jesus Gonzales', enabled: true, type: 'percent_gross', rate: 12 },
|
||||
{ userId: 'p2', userName: 'Sarah Sales', enabled: true, type: 'flat', rate: 2000 },
|
||||
]);
|
||||
|
||||
// Initialize properties once
|
||||
useEffect(() => {
|
||||
const data = generateProperties();
|
||||
@@ -5104,7 +5114,27 @@ export const MockStoreProvider = ({ children }) => {
|
||||
},
|
||||
assignAgent,
|
||||
markLeadContacted,
|
||||
sendReminder
|
||||
sendReminder,
|
||||
|
||||
// Commission Settings
|
||||
orgCommissionDefaults,
|
||||
userCommissionOverrides,
|
||||
updateOrgCommissionDefaults: (defaults) => {
|
||||
setOrgCommissionDefaults(prev => ({ ...prev, ...defaults }));
|
||||
},
|
||||
setUserCommissionOverride: (override) => {
|
||||
setUserCommissionOverrides(prev => {
|
||||
const idx = prev.findIndex(o => o.userId === override.userId);
|
||||
if (idx >= 0) return prev.map((o, i) => i === idx ? { ...o, ...override } : o);
|
||||
return [...prev, override];
|
||||
});
|
||||
},
|
||||
removeUserCommissionOverride: (userId) => {
|
||||
setUserCommissionOverrides(prev => prev.filter(o => o.userId !== userId));
|
||||
},
|
||||
updateProject: (projectId, data) => {
|
||||
setProjects(prev => prev.map(p => p.id === projectId ? { ...p, ...data } : p));
|
||||
},
|
||||
}}>
|
||||
{children}
|
||||
</MockStoreContext.Provider>
|
||||
|
||||
Reference in New Issue
Block a user