Jisho-Study-Tool/lib/view/screens/settings.dart

73 lines
2.2 KiB
Dart

import 'package:confirm_dialog/confirm_dialog.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:jisho_study_tool/bloc/database/database_bloc.dart';
import 'package:jisho_study_tool/models/history/search.dart';
import 'package:jisho_study_tool/objectbox.g.dart';
import 'package:settings_ui/settings_ui.dart';
class SettingsView extends StatelessWidget {
Widget build(BuildContext context) {
return SettingsList(
sections: [
SettingsSection(
title: 'Cache',
tiles: [
SettingsTile.switchTile(
title: 'Cache grade 1-7 kanji (N/A)',
switchValue: false,
onToggle: (v) {},
),
SettingsTile.switchTile(
title: 'Cache grade standard kanji (N/A)',
switchValue: false,
onToggle: (v) {},
),
SettingsTile.switchTile(
title: 'Cache all favourites (N/A)',
switchValue: false,
onToggle: (v) {},
),
SettingsTile.switchTile(
title: 'Cache all searches (N/A)',
switchValue: false,
onToggle: (v) {},
),
],
),
SettingsSection(
title: 'Data',
tiles: [
SettingsTile(
leading: Icon(Icons.file_download),
title: 'Export Data (N/A)',
),
SettingsTile(
leading: Icon(Icons.delete),
title: 'Clear History (N/A)',
onPressed: _clearHistory,
titleTextStyle: TextStyle(color: Colors.red),
),
SettingsTile(
leading: Icon(Icons.delete),
title: 'Clear Favourites (N/A)',
onPressed: (c) {},
titleTextStyle: TextStyle(color: Colors.red),
)
],
)
],
);
}
}
void _clearHistory(context) async {
if (await confirm(context)) {
Store db =
(BlocProvider.of<DatabaseBloc>(context).state as DatabaseConnected)
.database;
// db.box<Search>().query().build().find()
db.box<Search>().removeAll();
}
}