import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:git_touch/models/theme.dart';
import 'package:git_touch/widgets/table_view.dart';
import 'package:provider/provider.dart';

class PickerItem<T> {
  final T value;
  final String text;
  PickerItem(this.value, {@required this.text});
}

class PickerGroupItem<T> {
  final String title;
  final T value;
  final Iterable<PickerItem<T>> items;
  final Function(T value) onChange;
  PickerGroupItem({
    @required this.title,
    @required this.value,
    @required this.items,
    @required this.onChange,
  });
}

class PickerGroup extends StatelessWidget {
  final Iterable<PickerGroupItem<String>> items;

  PickerGroup({@required this.items});

  @override
  Widget build(BuildContext context) {
    var themeProvider = Provider.of<ThemeModel>(context);
    switch (themeProvider.theme) {
      case AppThemeType.cupertino:
      default:
        //  TODO: Material
        return TableView(
          items: items.map((item) {
            return TableViewItem(
              text: Text(item.title),
              rightWidget: Text(item.value),
              onTap: () {
                themeProvider.showPicker(context, item);
              },
            );
          }),
        );
    }
  }
}