feat: Add Grid View and Monthly Summary pages with workday management
Some checks failed
Publish Container / publish (push) Failing after 1m2s

- Implement GridView.razor for displaying a tabular view of workdays in the current month.
- Create MonthlySummary.razor to show a summary of worked hours, income, and day types for the selected month.
- Introduce WorkDayEditor.razor for adding and editing workday entries with detailed calculations.
- Update Home.razor to include links to the new Grid View and Monthly Summary pages.
- Add IWorkDayService interface and CouchbaseLiteWorkDayService implementation for managing workday data.
- Define domain models: WorkDayDocument, MonthlySummaryModel, and CoeffSnapshotDocument for data structure.
- Enhance CouchbaseLiteDatabaseProvider to include a collection for workdays.
- Update app settings and services to support new features.
- Add CSS styles for calendar view and table formatting.
This commit is contained in:
MaddoScientisto 2026-03-17 22:10:19 +01:00
commit 3ccce7e8a6
17 changed files with 1257 additions and 18 deletions

View file

@ -0,0 +1,14 @@
using WorkTracker.Domain;
namespace WorkTracker.Services.WorkDays;
public interface IWorkDayService
{
Task<WorkDayDocument?> GetAsync(DateOnly date, CancellationToken cancellationToken = default);
Task<WorkDayDocument> SaveAsync(WorkDayDocument workDay, CancellationToken cancellationToken = default);
Task<IReadOnlyList<WorkDayDocument>> GetRangeAsync(DateOnly from, DateOnly to, CancellationToken cancellationToken = default);
Task<MonthlySummaryModel> GetMonthlySummaryAsync(int year, int month, CancellationToken cancellationToken = default);
}