разобрался мало ли кому пригодится если используете generic в stateful виджетах, то нужно вот так делать class _MyWidgetState<T> extends State<MyWidget<T>> {
По неделям и месяцам - просто логику опиши, типа “если значений хватает на неделю - покажи кнопку с неделями, если хватает на месяц - покажи ещё кнопку с месяцами», а дальше если месяц показываешь - считай неделями среднее арифметическое и показывай