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

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

/// One column in the Backlog board.
class BacklogBoardColumnReadModel {
  /// Creates a board column with immutable [items].
  BacklogBoardColumnReadModel({
    required this.bucket,
    required this.title,
    required this.subtitle,
    required this.accentToken,
    required List<BacklogBoardItemReadModel> items,
    int? count,
  })  : items = List<BacklogBoardItemReadModel>.unmodifiable(items),
        count = count ?? items.length;

  /// Bucket represented by this column.
  final BacklogBoardBucket bucket;

  /// Display title for the column header.
  final String title;

  /// Short display subtitle for the column header.
  final String subtitle;

  /// UI color token used by Flutter to style the column accent.
  final String accentToken;

  /// Count shown in the column header.
  final int count;

  /// Items rendered in this column.
  final List<BacklogBoardItemReadModel> items;
}
