bharat_erp/lib/modules/settings/presentation/screens/settings_screen.dart
2026-07-13 15:22:41 +05:30

62 lines
2.1 KiB
Dart

import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import '../../../../core/utils/responsive_utils.dart';
import '../../../../shared/widgets/page_header.dart';
import '../../domain/entities/app_settings.dart';
import '../widgets/settings_widgets.dart';
class SettingsScreen extends StatelessWidget {
const SettingsScreen({super.key});
@override
Widget build(BuildContext context) {
final visiblePhase1 = visiblePhase1SettingsSections;
final visiblePhase2 = visiblePhase2SettingsSections;
return Material(
color: Theme.of(context).colorScheme.surface,
child: SingleChildScrollView(
padding: const EdgeInsets.all(24),
child: Center(
child: ConstrainedBox(
constraints: BoxConstraints(maxWidth: context.contentMaxWidth),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const PageHeader(
title: 'Settings',
subtitle:
'Configure company, security, assets, and system behavior',
),
if (visiblePhase1.isNotEmpty)
SettingsSectionGrid(
sections: visiblePhase1,
onSectionTap: (section) => context.go(section.route),
),
if (visiblePhase2.isNotEmpty) ...[
const SizedBox(height: 24),
Text(
'Coming in Phase 2',
style: Theme.of(context).textTheme.labelLarge?.copyWith(
color: Theme.of(context).colorScheme.onSurfaceVariant,
fontWeight: FontWeight.w600,
),
),
const SizedBox(height: 16),
SettingsSectionGrid(
sections: visiblePhase2,
enabled: false,
badge: 'Phase 2',
onSectionTap: (_) {},
),
],
],
),
),
),
),
);
}
}