mirror of
https://github.com/koloideal/Casha.git
synced 2026-08-08 17:51:14 +03:00
step
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
abstract class FeatureFlags {
|
||||
bool get canEditCardColors;
|
||||
bool get canEditCardHeight;
|
||||
bool get canEditCardTextColor;
|
||||
int get maxAccounts;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import '../providers/current_user_provider.dart';
|
||||
import 'feature_flags.dart';
|
||||
import 'free_feature_flags.dart';
|
||||
import 'vip_feature_flags.dart';
|
||||
|
||||
final featureFlagsProvider = Provider<FeatureFlags>((ref) {
|
||||
final user = ref.watch(currentUserProvider);
|
||||
return user.isVip
|
||||
? const VipFeatureFlags()
|
||||
: const FreeFeatureFlags();
|
||||
});
|
||||
@@ -0,0 +1,17 @@
|
||||
import 'feature_flags.dart';
|
||||
|
||||
class FreeFeatureFlags implements FeatureFlags {
|
||||
const FreeFeatureFlags();
|
||||
|
||||
@override
|
||||
bool get canEditCardColors => false;
|
||||
|
||||
@override
|
||||
bool get canEditCardHeight => false;
|
||||
|
||||
@override
|
||||
bool get canEditCardTextColor => false;
|
||||
|
||||
@override
|
||||
int get maxAccounts => 3;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import 'feature_flags.dart';
|
||||
|
||||
class VipFeatureFlags implements FeatureFlags {
|
||||
const VipFeatureFlags();
|
||||
|
||||
@override
|
||||
bool get canEditCardColors => true;
|
||||
|
||||
@override
|
||||
bool get canEditCardHeight => true;
|
||||
|
||||
@override
|
||||
bool get canEditCardTextColor => true;
|
||||
|
||||
@override
|
||||
int get maxAccounts => 8;
|
||||
}
|
||||
Reference in New Issue
Block a user