// SPDX-FileCopyrightText: 2026 FocusFlow contributors
// SPDX-License-Identifier: AGPL-3.0-only

part of '../../../application_management.dart';

/// Summary panel read model for the Backlog board.
class BacklogBoardSummaryReadModel {
  /// Creates a Backlog summary from count, estimate, and distribution data.
  const BacklogBoardSummaryReadModel({
    required this.totalTaskCount,
    required this.totalEstimatedMinutes,
    required this.priorityDistribution,
    required this.projectDistribution,
    required this.durationDistribution,
    required this.planningTip,
  });

  /// Total number of tasks represented by the filtered board.
  final int totalTaskCount;

  /// Sum of captured duration estimates across the filtered board.
  final int totalEstimatedMinutes;

  /// Count distribution by priority label.
  final BacklogDistributionReadModel priorityDistribution;

  /// Count distribution by project label.
  final BacklogDistributionReadModel projectDistribution;

  /// Count and percentage distribution by duration bucket.
  final BacklogDistributionReadModel durationDistribution;

  /// Display copy for the planning tip panel.
  final String planningTip;
}
