import 'dart:convert'; import 'package:equatable/equatable.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:uto_manager/domain/entities/position_slot.dart' as domain; import 'package:uto_manager/domain/entities/unit_node.dart'; import 'package:uto_manager/domain/repositories/unit_repository.dart'; import 'package:uto_manager/domain/services/doctrinal_templates.dart'; import 'package:uto_manager/domain/services/template_instantiator.dart'; import 'package:uto_manager/infrastructure/codecs/unit_tree_codec.dart'; import 'package:uto_manager/infrastructure/database/app_database.dart'; import 'package:uto_manager/infrastructure/database/daos/template_dao.dart'; import 'package:uto_manager/infrastructure/repositories/drift_position_slot_repository.dart'; import 'package:uuid/uuid.dart'; // --------------------------------------------------------------------------- // State // --------------------------------------------------------------------------- /// State for the template cubit. sealed class TemplateState extends Equatable { const TemplateState(); } class TemplateInitial extends TemplateState { const TemplateInitial(); @override List get props => []; } class TemplateLoading extends TemplateState { const TemplateLoading(); @override List get props => []; } class TemplateLoaded extends TemplateState { const TemplateLoaded(this.templates); final List