mirror of
https://github.com/flutter/samples.git
synced 2025-11-10 23:08:59 +00:00
47 lines
1.5 KiB
Dart
47 lines
1.5 KiB
Dart
// Copyright 2019 The Flutter team. 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/widgets.dart';
|
|
|
|
import 'package:gallery/l10n/gallery_localizations.dart';
|
|
import 'package:gallery/studies/rally/charts/pie_chart.dart';
|
|
import 'package:gallery/studies/rally/data.dart';
|
|
import 'package:gallery/studies/rally/finance.dart';
|
|
import 'package:gallery/studies/rally/tabs/sidebar.dart';
|
|
|
|
/// A page that shows a summary of bills.
|
|
class BillsView extends StatefulWidget {
|
|
@override
|
|
_BillsViewState createState() => _BillsViewState();
|
|
}
|
|
|
|
class _BillsViewState extends State<BillsView>
|
|
with SingleTickerProviderStateMixin {
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
List<BillData> items = DummyDataService.getBillDataList(context);
|
|
final dueTotal = sumBillDataPrimaryAmount(items);
|
|
final paidTotal = sumBillDataPaidAmount(items);
|
|
final detailItems = DummyDataService.getBillDetailList(
|
|
context,
|
|
dueTotal: dueTotal,
|
|
paidTotal: paidTotal,
|
|
);
|
|
|
|
return TabWithSidebar(
|
|
mainView: FinancialEntityView(
|
|
heroLabel: GalleryLocalizations.of(context).rallyBillsDue,
|
|
heroAmount: dueTotal,
|
|
segments: buildSegmentsFromBillItems(items),
|
|
wholeAmount: dueTotal,
|
|
financialEntityCards: buildBillDataListViews(items, context),
|
|
),
|
|
sidebarItems: [
|
|
for (UserDetailData item in detailItems)
|
|
SidebarItem(title: item.title, value: item.value)
|
|
],
|
|
);
|
|
}
|
|
}
|