import 'package:flutter/material.dart'; class MapModel<T> extends InheritedModel<T> { final Map<T, bool> data; const MapModel({ required this.data, required super.child, }); @override bool updateShouldNotify(MapModel oldWidget) => oldWidget.data != data; @override bool updateShouldNotifyDependent( MapModel<T> oldWidget, Set<T> dependencies, ) { for (final dependecy in dependencies) { if (oldWidget.data[dependecy] != data[dependecy]) { return true; } } return false; } }