Files
Tracker/lib/models/prayer_request.dart
Sterlen 1c2c56e9e2 feat: Add auto-sync, fix partner linking UI, update sharing settings
- 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)
2026-01-09 17:20:49 -06:00

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(),
);
}
}