// build_expiry_info.dart - 簡易実装(ビルド情報管理) class BuildExpiryInfo { static const String info = '販売アシスト 1 号'; static final List> expiryDates = >[]; 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 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()}'; }