diff --git a/packages/desktop-client/src/components/budget/tracking/TrackingBudgetContext.tsx b/packages/desktop-client/src/components/budget/tracking/TrackingBudgetContext.tsx index 33666ed258..d6c126455d 100644 --- a/packages/desktop-client/src/components/budget/tracking/TrackingBudgetContext.tsx +++ b/packages/desktop-client/src/components/budget/tracking/TrackingBudgetContext.tsx @@ -1,14 +1,31 @@ -// @ts-strict-ignore import React, { type ReactNode, createContext, useContext } from 'react'; import * as monthUtils from 'loot-core/shared/months'; -const Context = createContext(null); - -type TrackingBudgetProviderProps = { +type TrackingBudgetContextDefinition = { summaryCollapsed: boolean; - onBudgetAction: (month: string, action: string, arg: unknown) => void; + onBudgetAction: (month: string, action: string, arg?: unknown) => void; onToggleSummaryCollapse: () => void; + currentMonth: string; +}; + +const TrackingBudgetContext = createContext({ + summaryCollapsed: false, + onBudgetAction: () => { + throw new Error('Unitialised context method called: onBudgetAction'); + }, + onToggleSummaryCollapse: () => { + throw new Error( + 'Unitialised context method called: onToggleSummaryCollapse', + ); + }, + currentMonth: 'unknown', +}); + +type TrackingBudgetProviderProps = Omit< + TrackingBudgetContextDefinition, + 'currentMonth' +> & { children: ReactNode; }; export function TrackingBudgetProvider({ @@ -20,7 +37,7 @@ export function TrackingBudgetProvider({ const currentMonth = monthUtils.currentMonth(); return ( - {children} - + ); } export function useTrackingBudget() { - return useContext(Context); + return useContext(TrackingBudgetContext); } diff --git a/upcoming-release-notes/6538.md b/upcoming-release-notes/6538.md new file mode 100644 index 0000000000..80d5757f2e --- /dev/null +++ b/upcoming-release-notes/6538.md @@ -0,0 +1,6 @@ +--- +category: Bugfix +authors: [copilot] +--- + +Fix fatal error on budget page load when using tracking budget type