mudular code ready to fork
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import '../../core/service_locator.dart';
|
||||
import '../../data/nostr/nostr_service.dart';
|
||||
import '../../data/sync/sync_engine.dart';
|
||||
import '../../data/session/session_service.dart';
|
||||
@@ -9,16 +10,7 @@ import '../relay_management/relay_management_controller.dart';
|
||||
|
||||
/// Screen for displaying and testing Nostr events.
|
||||
class NostrEventsScreen extends StatefulWidget {
|
||||
final NostrService? nostrService;
|
||||
final SyncEngine? syncEngine;
|
||||
final SessionService? sessionService;
|
||||
|
||||
const NostrEventsScreen({
|
||||
super.key,
|
||||
this.nostrService,
|
||||
this.syncEngine,
|
||||
this.sessionService,
|
||||
});
|
||||
const NostrEventsScreen({super.key});
|
||||
|
||||
@override
|
||||
State<NostrEventsScreen> createState() => _NostrEventsScreenState();
|
||||
@@ -29,7 +21,7 @@ class _NostrEventsScreenState extends State<NostrEventsScreen> {
|
||||
bool _isLoading = false;
|
||||
|
||||
Future<void> _publishTestEvent() async {
|
||||
if (widget.nostrService == null) {
|
||||
if (ServiceLocator.instance.nostrService == null) {
|
||||
if (mounted) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(
|
||||
@@ -42,7 +34,7 @@ class _NostrEventsScreenState extends State<NostrEventsScreen> {
|
||||
}
|
||||
|
||||
// Check if user is logged in with Nostr
|
||||
final currentUser = widget.sessionService?.currentUser;
|
||||
final currentUser = ServiceLocator.instance.sessionService?.currentUser;
|
||||
if (currentUser == null || currentUser.nostrPrivateKey == null) {
|
||||
if (mounted) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
@@ -56,7 +48,7 @@ class _NostrEventsScreenState extends State<NostrEventsScreen> {
|
||||
}
|
||||
|
||||
// Get relays
|
||||
final relays = widget.nostrService!.getRelays();
|
||||
final relays = ServiceLocator.instance.nostrService!.getRelays();
|
||||
if (relays.isEmpty) {
|
||||
if (mounted) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
@@ -85,7 +77,7 @@ class _NostrEventsScreenState extends State<NostrEventsScreen> {
|
||||
);
|
||||
|
||||
// Publish to all enabled relays
|
||||
final results = await widget.nostrService!.publishEventToAllRelays(event);
|
||||
final results = await ServiceLocator.instance.nostrService!.publishEventToAllRelays(event);
|
||||
|
||||
setState(() {
|
||||
_isLoading = false;
|
||||
@@ -169,13 +161,13 @@ class _NostrEventsScreenState extends State<NostrEventsScreen> {
|
||||
const SizedBox(height: 8),
|
||||
TextButton.icon(
|
||||
onPressed: () {
|
||||
if (widget.nostrService != null && widget.syncEngine != null) {
|
||||
if (ServiceLocator.instance.nostrService != null && ServiceLocator.instance.syncEngine != null) {
|
||||
Navigator.of(context).push(
|
||||
MaterialPageRoute(
|
||||
builder: (_) => RelayManagementScreen(
|
||||
controller: RelayManagementController(
|
||||
nostrService: widget.nostrService!,
|
||||
syncEngine: widget.syncEngine!,
|
||||
nostrService: ServiceLocator.instance.nostrService!,
|
||||
syncEngine: ServiceLocator.instance.syncEngine!,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user