Skip to content

feat: remove abstract report#429

Open
algirdasc wants to merge 3 commits intomainfrom
feature/EXP-11-remove-abstract-report
Open

feat: remove abstract report#429
algirdasc wants to merge 3 commits intomainfrom
feature/EXP-11-remove-abstract-report

Conversation

@algirdasc
Copy link
Copy Markdown
Owner

No description provided.

Frontend Developer and others added 3 commits March 22, 2026 22:12
Move calendar state management (route data init, query param sync,
rangeChange handling) into a dedicated CalendarStateComponent, leaving
MainComponent as a thin layout shell (sidebar, mobile detection, swipe).

- New CalendarStateComponent owns visibleDate, calendarDateFrom/To,
  calendar selection, and calls mainService.refreshCalendar() on change
- MainComponent retains: isMobile detection, swipe, sidebar toggle,
  busy-state subscriptions, and statement import trigger
- Sidebar calendarChange now calls mainService.refreshCalendar() directly

Co-Authored-By: Paperclip <noreply@paperclip.ing>
… actions

EXP-10: Separates four mixed concerns into focused components.

- CalendarListDisplayComponent: pure display, renders calendar list with
  per-item radio, name, balance, and icon; emits events for calendarSelect,
  makeDefault, editCalendar, deleteCalendar — no API calls
- CalendarListActionsComponent: owns CRUD dialog lifecycle (create, edit,
  delete) and the \"Add a calendar\" button; emits calendarsChange after
  mutations
- CalendarSidebarListComponent: thin container; handles makeDefault via
  UserApiService, wires display events to actions component
- Removes StatementImportService from this component hierarchy entirely

Co-Authored-By: Paperclip <noreply@paperclip.ing>
…report

EXP-11: Removes the shared abstract base class and gives each report
component its own typed fetch method, eliminating any-typed callbacks
and unsafe string-keyed API dispatch.

- DailyExpensesComponent: fetches via reportsApiService.dailyExpenses(),
  typed to ExpenseReportResponse
- MonthlyExpensesComponent: fetches via reportsApiService.monthlyExpenses(),
  typed to ExpenseReportResponse
- CategoryExpensesComponent: fetches via reportsApiService.categoryExpenses(),
  typed to CategoryExpenseReportResponse
- Each component owns isBusy, dateRange, fetchSubscription, and
  preparedToFetch() locally
- AbstractReportComponent deleted

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant