// Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:conductor_core/conductor_core.dart'; import 'package:conductor_core/proto.dart' as pb; import 'package:flutter/material.dart'; /// Displays the progression and each step of the release from the conductor. /// // TODO(Yugue): Add documentation to explain // each step of the release, https://github.com/flutter/flutter/issues/90981. class MainProgression extends StatefulWidget { const MainProgression({ Key? key, this.releaseState, required this.stateFilePath, }) : super(key: key); final pb.ConductorState? releaseState; final String stateFilePath; @override MainProgressionState createState() => MainProgressionState(); } class MainProgressionState extends State { @override Widget build(BuildContext context) { return Expanded( child: Scrollbar( isAlwaysShown: true, child: ListView( children: [ SelectableText( widget.releaseState != null ? presentState(widget.releaseState!) : 'No persistent state file found at ${widget.stateFilePath}', ), ], ), ), ); } }