mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-03 19:54:12 +00:00 
			
		
		
		
	Start to display banner
This commit is contained in:
		@@ -1,3 +1,4 @@
 | 
			
		||||
import 'package:comunic/utils/date_utils.dart';
 | 
			
		||||
import 'package:flutter/widgets.dart';
 | 
			
		||||
import 'package:version/version.dart';
 | 
			
		||||
 | 
			
		||||
@@ -132,6 +133,42 @@ class AccountInformationPolicy {
 | 
			
		||||
        assert(maxLocationLength != null);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
enum BannerNature { Information, Warning, Success }
 | 
			
		||||
 | 
			
		||||
extension BannerNatureExt on BannerNature {
 | 
			
		||||
  static BannerNature fromStr(String s) {
 | 
			
		||||
    switch (s) {
 | 
			
		||||
      case "information":
 | 
			
		||||
        return BannerNature.Information;
 | 
			
		||||
      case "success":
 | 
			
		||||
        return BannerNature.Success;
 | 
			
		||||
      case "warning":
 | 
			
		||||
      default:
 | 
			
		||||
        return BannerNature.Warning;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class Banner {
 | 
			
		||||
  final bool enabled;
 | 
			
		||||
  final int expire;
 | 
			
		||||
  final BannerNature nature;
 | 
			
		||||
  final Map<String, String> message;
 | 
			
		||||
  final String link;
 | 
			
		||||
 | 
			
		||||
  const Banner({
 | 
			
		||||
    @required this.enabled,
 | 
			
		||||
    @required this.expire,
 | 
			
		||||
    @required this.nature,
 | 
			
		||||
    @required this.message,
 | 
			
		||||
    @required this.link,
 | 
			
		||||
  })  : assert(enabled != null),
 | 
			
		||||
        assert(nature != null),
 | 
			
		||||
        assert(message != null);
 | 
			
		||||
 | 
			
		||||
  bool get visible => enabled && (expire == null || expire > time());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class ServerConfig {
 | 
			
		||||
  final Version minSupportedMobileVersion;
 | 
			
		||||
  final String termsURL;
 | 
			
		||||
@@ -139,6 +176,7 @@ class ServerConfig {
 | 
			
		||||
  final String contactEmail;
 | 
			
		||||
  final String playStoreURL;
 | 
			
		||||
  final String androidDirectDownloadURL;
 | 
			
		||||
  final Banner banner;
 | 
			
		||||
  final NotificationsPolicy notificationsPolicy;
 | 
			
		||||
  final PasswordPolicy passwordPolicy;
 | 
			
		||||
  final ServerDataConservationPolicy dataConservationPolicy;
 | 
			
		||||
@@ -152,6 +190,7 @@ class ServerConfig {
 | 
			
		||||
    @required this.contactEmail,
 | 
			
		||||
    @required this.playStoreURL,
 | 
			
		||||
    @required this.androidDirectDownloadURL,
 | 
			
		||||
    @required this.banner,
 | 
			
		||||
    @required this.notificationsPolicy,
 | 
			
		||||
    @required this.passwordPolicy,
 | 
			
		||||
    @required this.dataConservationPolicy,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user