31 lines
898 B
TypeScript
31 lines
898 B
TypeScript
import type {
|
|
AnalyticsOverview,
|
|
TrendDataPoint,
|
|
CategoryBreakdown,
|
|
FinancialHealth,
|
|
} from "../../interfaces/analytics";
|
|
import type { RootSelector } from "../types";
|
|
|
|
export const analyticsOverviewSelector: RootSelector<
|
|
AnalyticsOverview | null
|
|
> = (state) => state.analytics.overview;
|
|
|
|
export const analyticsTrendsSelector: RootSelector<TrendDataPoint[]> = (
|
|
state,
|
|
) => state.analytics.trends;
|
|
|
|
export const analyticsCategoryBreakdownSelector: RootSelector<
|
|
CategoryBreakdown[]
|
|
> = (state) => state.analytics.categoryBreakdown;
|
|
|
|
export const analyticsFinancialHealthSelector: RootSelector<
|
|
FinancialHealth | null
|
|
> = (state) => state.analytics.financialHealth;
|
|
|
|
export const analyticsLoadingSelector: RootSelector<boolean> = (state) =>
|
|
state.analytics.isLoading;
|
|
|
|
export const analyticsErrorSelector: RootSelector<string | undefined> = (
|
|
state,
|
|
) => state.analytics.error;
|