import 'package:equatable/equatable.dart'; import 'package:flutter/widgets.dart'; import 'package:selfprivacy/logic/models/state_types.dart'; import 'package:selfprivacy/ui/components/brand_icons/brand_icons.dart'; enum ProviderType { server, domain, backup, } class ProviderModel extends Equatable { const ProviderModel({required this.state, required this.type}); final StateType state; final ProviderType type; ProviderModel updateState(final StateType newState) => ProviderModel( state: newState, type: type, ); @override List get props => [state, type]; IconData get icon { switch (type) { case ProviderType.server: return BrandIcons.server; case ProviderType.domain: return BrandIcons.globe; case ProviderType.backup: return BrandIcons.save; } } }