You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
2.4 KiB

import 'package:flutter/material.dart';
import '../../data/firebase/firebase_service.dart';
import '../../data/nostr/nostr_service.dart';
import '../../data/sync/sync_engine.dart';
import '../relay_management/relay_management_screen.dart';
import '../relay_management/relay_management_controller.dart';
/// Settings screen (placeholder).
class SettingsScreen extends StatelessWidget {
final FirebaseService? firebaseService;
final NostrService? nostrService;
final SyncEngine? syncEngine;
const SettingsScreen({
super.key,
this.firebaseService,
this.nostrService,
this.syncEngine,
});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Settings'),
),
body: ListView(
children: [
if (firebaseService != null)
SwitchListTile(
title: const Text('Firebase Enabled'),
subtitle: Text(
firebaseService!.isEnabled
? 'Firebase services are active'
: 'Firebase services are disabled',
),
value: firebaseService!.isEnabled,
onChanged: null, // Read-only for now
),
if (nostrService != null && syncEngine != null) ...[
const Divider(),
ListTile(
leading: const Icon(Icons.cloud),
title: const Text('Relay Management'),
subtitle: const Text('Manage Nostr relays'),
trailing: const Icon(Icons.chevron_right),
onTap: () {
Navigator.of(context).push(
MaterialPageRoute(
builder: (_) => RelayManagementScreen(
controller: RelayManagementController(
nostrService: nostrService!,
syncEngine: syncEngine!,
),
),
),
);
},
),
],
const Divider(),
const ListTile(
leading: Icon(Icons.info_outline),
title: Text('App Version'),
subtitle: Text('1.0.0'),
),
const Divider(),
const ListTile(
leading: Icon(Icons.help_outline),
title: Text('About'),
subtitle: Text('Flutter Modular App Boilerplate'),
),
],
),
);
}
}

Powered by TurnKey Linux.