// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. part of stocks; class StockSymbolViewer extends StatelessComponent { StockSymbolViewer(this.stock); final Stock stock; Widget build(BuildContext context) { String lastSale = "\$${stock.lastSale.toStringAsFixed(2)}"; String changeInPrice = "${stock.percentChange.toStringAsFixed(2)}%"; if (stock.percentChange > 0) changeInPrice = "+" + changeInPrice; TextStyle headings = Theme.of(context).text.body2; return new Scaffold( toolBar: new ToolBar( left: new IconButton( icon: 'navigation/arrow_back', onPressed: () { Navigator.of(context).pop(); } ), center: new Text(stock.name) ), body: new Block(<Widget>[ new Container( margin: new EdgeDims.all(20.0), child: new Card( child: new Container( padding: new EdgeDims.all(20.0), child: new Column(<Widget>[ new Row(<Widget>[ new Text( '${stock.symbol}', style: Theme.of(context).text.display2 ), new Hero( tag: StockRowPartKind.arrow, turns: 2, child: new StockArrow(percentChange: stock.percentChange) ), ], justifyContent: FlexJustifyContent.spaceBetween ), new Text('Last Sale', style: headings), new Text('$lastSale ($changeInPrice)'), new Container( height: 8.0 ), new Text('Market Cap', style: headings), new Text('${stock.marketCap}'), ]) ) ) ) ] ) ); } }