From 7698f73790295e9ad59d8c20a1ae73d097825bb4 Mon Sep 17 00:00:00 2001 From: Eric Seidel Date: Thu, 11 Jun 2015 14:22:34 -0700 Subject: [PATCH] Move sky_home.* from domokit.github.io into our repo This makes it easier to keep sky_home links working. R=abarth@chromium.org Review URL: https://codereview.chromium.org/1185473002. --- engine/src/flutter/sky_home | 10 ++++++ engine/src/flutter/sky_home.dart | 56 ++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 engine/src/flutter/sky_home create mode 100644 engine/src/flutter/sky_home.dart diff --git a/engine/src/flutter/sky_home b/engine/src/flutter/sky_home new file mode 100644 index 0000000000..15d830e58e --- /dev/null +++ b/engine/src/flutter/sky_home @@ -0,0 +1,10 @@ +#!mojo mojo:sky_viewer + + + diff --git a/engine/src/flutter/sky_home.dart b/engine/src/flutter/sky_home.dart new file mode 100644 index 0000000000..7e4224b3b9 --- /dev/null +++ b/engine/src/flutter/sky_home.dart @@ -0,0 +1,56 @@ +import 'dart:sky'; +import 'package:sky/framework/fn.dart'; +import 'package:sky/framework/components/button.dart'; +import 'package:sky/framework/components/scaffold.dart'; +import 'package:sky/framework/components/tool_bar.dart'; +import 'package:sky/framework/theme/colors.dart'; +import 'package:sky/framework/theme/typography.dart' as typography; + +class SkyLink extends Component { + String text; + String href; + + SkyLink(String text, this.href) : this.text = text, super(key: text); + + UINode build() { + return new EventListenerNode( + new Button(key: text, content: new Text(text), level: 1), + onPointerUp: (_) => window.location.href = href + ); + } +} + +class SkyHome extends App { + static final Style _actionBarStyle = new Style(''' + background-color: ${Green[500]};'''); + + static final Style _titleStyle = new Style(''' + ${typography.white.title};'''); + + UINode build() { + List children = [ + new SkyLink('Stocks2 App', '/examples/stocks2/lib/stock_app.dart'), + new SkyLink('Interactive Flex', '/examples/raw/interactive_flex.dart'), + new SkyLink('Ink Well', '/examples/raw/ink_well.dart'), + new SkyLink('Box2D Game', '/examples/game/main.dart'), + new SkyLink('Sector Layout', '/examples/raw/sector_layout.dart'), + + // TODO(eseidel): We could use to separate these groups? + new SkyLink('Stocks App (Old)', '/examples/stocks/main.sky'), + new SkyLink('Touch Demo (Old)', '/examples/raw/touch-demo.sky'), + new SkyLink('Spinning Square (Old)', '/examples/raw/spinning-square.sky'), + + new SkyLink('Licences (Old)', '/LICENSES.sky'), + ]; + + return new Scaffold( + // FIXME: ActionBar should have a better default style than transparent. + header: new StyleNode( + // FIXME: left should be optional, but currently crashes when null. + new ToolBar(left: new Text(''), + center: new Container(children: [new Text('Sky Demos')], style: _titleStyle)), + _actionBarStyle), + content: new Container(children: children) + ); + } +} \ No newline at end of file