'use client';

/**
 * Zustand date range filter store.
 *
 * Manages the global date range filter used by all dashboard pages.
 * Default range is "Last 12 Months" (Requirement 15.6).
 *
 * No persistence is needed — the filter resets to the default on each
 * new browser session.
 */

import { create } from 'zustand';
import { getDefaultDateRange, type DateRange } from '@/lib/utils/date';

export interface FilterState {
  dateRange: DateRange;
  setDateRange: (range: DateRange) => void;
  resetDateRange: () => void;
}

export const useFilterStore = create<FilterState>((set) => ({
  dateRange: getDefaultDateRange(),
  setDateRange: (range) => set({ dateRange: range }),
  resetDateRange: () => set({ dateRange: getDefaultDateRange() }),
}));
