h-1.flutter.4/lib/utils/build_expiry_info.dart

35 lines
No EOL
1.1 KiB
Dart

// build_expiry_info.dart - 簡易実装(ビルド情報管理)
class BuildExpiryInfo {
static const String info = '販売アシスト 1 号';
static final List<Map<String, dynamic>> expiryDates = <Map<String, dynamic>>[];
factory BuildExpiryInfo({required DateTime buildDateTime}) => BuildExpiryInfo._(buildDateTime: buildDateTime);
BuildExpiryInfo._({required this.buildDateTime});
final DateTime buildDateTime;
bool isExpired() {
final now = DateTime.now().toUtc();
final expiry = buildDateTime.add(const Duration(days: 90));
return now.isAfter(expiry);
}
Map<String, dynamic> toMap() => {'info': info, 'buildDate': '${buildDateTime.toIso8601String()}'};
String toString() => '$info (ビルド日:${buildDateTime.toLocal()}, 有効期限:${isExpired() ? "終了" : "有効"})';
}
class ExpiredApp {
final BuildExpiryInfo info;
ExpiredApp(this.info);
Widget build(BuildContext context) => Scaffold(
appBar: AppBar(title: const Text('販売アシスト 1 号')),
body: Center(child: Text(info.toString())),
);
@override
String toString() => 'ExpiredApp: ${info.toString()}';
}