invoice/lib/ui/app/FieldGrid.dart

67 lines
1.7 KiB
Dart

import 'package:flutter/material.dart';
import 'package:invoiceninja_flutter/utils/localization.dart';
class FieldGrid extends StatelessWidget {
const FieldGrid(this.fields);
final Map<String, String> fields;
@override
Widget build(BuildContext context) {
final localization = AppLocalization.of(context);
final List<Widget> fieldWidgets = [];
fields.forEach((field, value) {
if (value != null && value.isNotEmpty) {
fieldWidgets.add(Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Flexible(
child: Text(
localization.lookup(field),
style: TextStyle(
fontWeight: FontWeight.w300,
),
),
),
Flexible(
child: Text(
value,
style: TextStyle(
fontWeight: FontWeight.w600,
),
)),
],
));
}
});
if (fieldWidgets.isEmpty) {
return Container();
}
return Column(
children: <Widget>[
Container(
color: Theme.of(context).canvasColor,
child: Padding(
padding: EdgeInsets.only(left: 16.0, top: 16.0, right: 16.0),
child: GridView.count(
physics: NeverScrollableScrollPhysics(),
shrinkWrap: true,
primary: true,
crossAxisCount: 2,
children: fieldWidgets,
childAspectRatio: 3.5,
),
),
),
Container(
color: Theme.of(context).backgroundColor,
height: 12.0,
),
],
);
}
}