diff --git a/flutter/lib/l10n/app_en.arb b/flutter/lib/l10n/app_en.arb index 8eb04d97c..c9524b088 100644 --- a/flutter/lib/l10n/app_en.arb +++ b/flutter/lib/l10n/app_en.arb @@ -7,6 +7,7 @@ "menuHome": "MLPerf Mobile", "menuHistory": "History", "menuSettings": "Settings", + "menuResources": "Resources", "menuAbout": "About", "menuProfile": "Profile", "menuSignIn": "Sign In", diff --git a/flutter/lib/ui/home/app_drawer.dart b/flutter/lib/ui/home/app_drawer.dart index 48497e31a..1b92305b5 100644 --- a/flutter/lib/ui/home/app_drawer.dart +++ b/flutter/lib/ui/home/app_drawer.dart @@ -10,6 +10,7 @@ import 'package:mlperfbench/ui/history/history_list_screen.dart'; import 'package:mlperfbench/ui/home/user_profile.dart'; import 'package:mlperfbench/ui/settings/about_screen.dart'; import 'package:mlperfbench/ui/settings/settings_screen.dart'; +import 'package:mlperfbench/ui/settings/resources_screen.dart'; class AppDrawer extends StatelessWidget { const AppDrawer({super.key}); @@ -104,6 +105,19 @@ class AppDrawer extends StatelessWidget { ); }, ), + ListTile( + leading: const Icon(Icons.file_present), + title: Text(l10n.menuResources), + onTap: () { + Navigator.pop(context); + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => const ResourcesScreen(), + ), + ); + }, + ), ListTile( leading: const Icon(Icons.info), title: Text(l10n.menuAbout), diff --git a/flutter/lib/ui/settings/resources_screen.dart b/flutter/lib/ui/settings/resources_screen.dart new file mode 100644 index 000000000..a2973e24f --- /dev/null +++ b/flutter/lib/ui/settings/resources_screen.dart @@ -0,0 +1,53 @@ +import 'dart:io'; + +import 'package:flutter/material.dart'; + +import 'package:provider/provider.dart'; + +import 'package:mlperfbench/app_constants.dart'; +import 'package:mlperfbench/benchmark/run_mode.dart'; +import 'package:mlperfbench/benchmark/state.dart'; +import 'package:mlperfbench/build_info.dart'; +import 'package:mlperfbench/firebase/firebase_manager.dart'; +import 'package:mlperfbench/localizations/app_localizations.dart'; +import 'package:mlperfbench/resources/config_manager.dart'; +import 'package:mlperfbench/store.dart'; +import 'package:mlperfbench/ui/app_styles.dart'; +import 'package:mlperfbench/ui/confirm_dialog.dart'; +import 'package:mlperfbench/ui/settings/task_config_section.dart'; + +class ResourcesScreen extends StatefulWidget { + const ResourcesScreen({super.key}); + + @override + State createState() => _ResourcesScreen(); +} + +class _ResourcesScreen extends State { + late AppLocalizations l10n; + late BenchmarkState state; + late Store store; + + @override + Widget build(BuildContext context) { + store = context.watch(); + state = context.watch(); + l10n = AppLocalizations.of(context)!; + + return Scaffold( + appBar: AppBar(title: Text(l10n.menuResources)), + body: SafeArea( + child: ListView( + padding: const EdgeInsets.only(top: 20), + children: [ + _mainSection(), + const Divider(), + const SizedBox(height: 20) + ], + ))); + } + + Widget _mainSection() { + return const Text('data'); + } +}