settings_page.dart 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter_riverpod/flutter_riverpod.dart';
  3. import '../../../../services/analysis_providers.dart';
  4. import '../../../shared/presentation/widgets/lab_section_scaffold.dart';
  5. class SettingsPage extends ConsumerWidget {
  6. const SettingsPage({super.key});
  7. @override
  8. Widget build(BuildContext context, WidgetRef ref) {
  9. final theme = Theme.of(context);
  10. final apiBaseUrl = ref.watch(apiBaseUrlProvider);
  11. return LabSectionScaffold(
  12. eyebrow: 'Settings',
  13. title: 'Control runtime preferences and lab policies.',
  14. description:
  15. 'This page will expose mobile-lab settings such as local-first mode, remote endpoint selection, and probe-chain defaults.',
  16. children: [
  17. Card(
  18. child: Padding(
  19. padding: const EdgeInsets.all(20),
  20. child: Column(
  21. crossAxisAlignment: CrossAxisAlignment.start,
  22. children: [
  23. Text('Runtime Policy', style: theme.textTheme.titleLarge),
  24. const SizedBox(height: 8),
  25. Text(
  26. 'Configuration will stay thin at first: API base URL, local probe preference, and diagnostic logging.',
  27. style: theme.textTheme.bodyMedium,
  28. ),
  29. const SizedBox(height: 16),
  30. Text('Active API Endpoint', style: theme.textTheme.titleMedium),
  31. const SizedBox(height: 8),
  32. SelectableText(
  33. apiBaseUrl,
  34. style: theme.textTheme.bodyMedium,
  35. ),
  36. ],
  37. ),
  38. ),
  39. ),
  40. ],
  41. );
  42. }
  43. }