blob: 3a18ac8b1d53934eef26e64318c5d9641866e634 [file] [log] [blame]
// Copyright 2018 The Fuchsia 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:flutter/material.dart';
import 'package:fuchsia_scenic_flutter/child_view.dart' show ChildView;
import '../../models/app_model.dart';
import '../../utils/styles.dart';
import 'post_render.dart';
import 'tile_chrome.dart';
/// Defines a widget to display a story fullscreen.
class FullscreenStory extends StatelessWidget {
final AppModel model;
const FullscreenStory(this.model);
@override
Widget build(BuildContext context) {
return Positioned(
top: 0,
left: 0,
right: 0,
bottom: -ErmineStyle.kTopBarHeight - ErmineStyle.kStoryTitleHeight,
child: AnimatedBuilder(
animation: model.clustersModel.fullscreenStoryNotifier,
builder: (context, child) {
final story = model.clustersModel.fullscreenStory;
return story != null
? AnimatedBuilder(
animation: story.nameNotifier,
builder: (context, _) {
return TileChrome(
name: story.name,
focused: story.focused,
fullscreen: true,
child: PostRender(
child: ChildView(connection: story.childViewConnection),
onRender: story.requestFocus,
),
onDelete: story.delete,
onMinimize: story.restore,
onFullscreen: story.maximize,
);
})
: Offstage();
},
),
);
}
}