From 3354ac4e6bc14ae6646260e0eb66fc14bf64de54 Mon Sep 17 00:00:00 2001 From: Rongjian Zhang Date: Sat, 21 Sep 2019 23:54:25 +0800 Subject: [PATCH] feat: user screen repos title --- lib/screens/user.dart | 5 ++++- lib/widgets/table_view.dart | 28 +++++++++++++++++++--------- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/lib/screens/user.dart b/lib/screens/user.dart index d6e1110..6a64bf6 100644 --- a/lib/screens/user.dart +++ b/lib/screens/user.dart @@ -69,11 +69,14 @@ class UserScreen extends StatelessWidget { } Iterable _buildRepos(payload) { + String title; List items; if ((payload['pinnedItems']['nodes'] as List).isNotEmpty) { + title = 'pinned repositories'; items = payload['pinnedItems']['nodes'] as List; } else if ((payload['repositories']['nodes'] as List).isNotEmpty) { + title = 'popular repositories'; items = payload['repositories']['nodes'] as List; } else { items = []; @@ -86,7 +89,7 @@ class UserScreen extends StatelessWidget { return [ borderView1, - // Text('Pinned repositories'), + if (title != null) TableViewHeader(title), ...join( borderView, items.map((item) { diff --git a/lib/widgets/table_view.dart b/lib/widgets/table_view.dart index b343e34..db3f301 100644 --- a/lib/widgets/table_view.dart +++ b/lib/widgets/table_view.dart @@ -4,6 +4,24 @@ import 'package:git_touch/utils/utils.dart'; import 'package:primer/primer.dart'; import 'link.dart'; +class TableViewHeader extends StatelessWidget { + final String title; + + TableViewHeader(this.title); + + @override + Widget build(BuildContext context) { + return Container( + color: PrimerColors.gray100, + padding: EdgeInsets.symmetric(horizontal: 12, vertical: 6), + child: Text( + title.toUpperCase(), + style: TextStyle(color: PrimerColors.gray600, fontSize: 13), + ), + ); + } +} + class TableViewItem { final Widget text; final IconData leftIconData; @@ -95,15 +113,7 @@ class TableView extends StatelessWidget { return Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ - if (headerText != null) - Container( - color: PrimerColors.gray100, - padding: EdgeInsets.symmetric(horizontal: 12, vertical: 6), - child: Text( - headerText, - style: TextStyle(color: PrimerColors.gray600, fontSize: 13), - ), - ), + if (headerText != null) TableViewHeader(headerText), borderView, ...join(BorderView(leftPadding: _leftPadding), items.map(_buildItem).toList()),