- Add 10-second periodic auto-sync to CycleEntriesNotifier - Fix husband_devotional_screen: use partnerId for isConnected check, navigate to SharingSettingsScreen instead of legacy mock dialog - Remove obsolete _showConnectDialog method and mock data import - Update husband_settings_screen: show 'Partner Settings' with linked partner name when connected - Add SharingSettingsScreen: Pad Supplies toggle (disabled when pad tracking off), Intimacy always enabled - Add CORS OPTIONS handler to backend server - Add _ensureServerRegistration for reliable partner linking - Add copy button to Invite Partner dialog - Dynamic base URL for web (uses window.location.hostname)
54 lines
1.0 KiB
Dart
54 lines
1.0 KiB
Dart
import 'package:hive/hive.dart';
|
|
import 'package:uuid/uuid.dart';
|
|
|
|
part 'prayer_request.g.dart';
|
|
|
|
@HiveType(typeId: 15)
|
|
class PrayerRequest extends HiveObject {
|
|
@HiveField(0)
|
|
final String id;
|
|
|
|
@HiveField(1)
|
|
final String request;
|
|
|
|
@HiveField(2)
|
|
final bool isAnswered;
|
|
|
|
@HiveField(3)
|
|
final DateTime createdAt;
|
|
|
|
@HiveField(4)
|
|
final DateTime updatedAt;
|
|
|
|
PrayerRequest({
|
|
required this.id,
|
|
required this.request,
|
|
this.isAnswered = false,
|
|
required this.createdAt,
|
|
required this.updatedAt,
|
|
});
|
|
|
|
PrayerRequest copyWith({
|
|
String? request,
|
|
bool? isAnswered,
|
|
DateTime? updatedAt,
|
|
}) {
|
|
return PrayerRequest(
|
|
id: id,
|
|
request: request ?? this.request,
|
|
isAnswered: isAnswered ?? this.isAnswered,
|
|
createdAt: createdAt,
|
|
updatedAt: updatedAt ?? DateTime.now(),
|
|
);
|
|
}
|
|
|
|
factory PrayerRequest.create({required String request}) {
|
|
return PrayerRequest(
|
|
id: const Uuid().v4(),
|
|
request: request,
|
|
createdAt: DateTime.now(),
|
|
updatedAt: DateTime.now(),
|
|
);
|
|
}
|
|
}
|