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.

86 lines
2.9 KiB

import 'package:flutter/material.dart';
import '../../../core/service_locator.dart';
import '../../relay_management/relay_management_screen.dart';
import '../../relay_management/relay_management_controller.dart';
/// Settings screen (placeholder).
class SettingsScreen extends StatelessWidget {
const SettingsScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Settings'),
),
body: ListView(
children: [
Builder(
builder: (context) {
final firebaseService = ServiceLocator.instance.firebaseService;
if (firebaseService != null) {
return 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
);
}
return const SizedBox.shrink();
},
),
Builder(
builder: (context) {
final nostrService = ServiceLocator.instance.nostrService;
final syncEngine = ServiceLocator.instance.syncEngine;
if (nostrService != null && syncEngine != null) {
return Column(
children: [
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,
),
),
),
);
},
),
],
);
}
return const SizedBox.shrink();
},
),
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.