finished custom fonts menu
This commit is contained in:
@@ -27,6 +27,7 @@ import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_feather_icons/flutter_feather_icons.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:i18n_extension/i18n_widget.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:filcnaplo_mobile_ui/common/screens.i18n.dart';
|
||||
@@ -46,6 +47,15 @@ class SettingsHelper {
|
||||
"de": "🇩🇪 Deutsch"
|
||||
};
|
||||
|
||||
static const List<String> fontList = [
|
||||
"Montserrat",
|
||||
"Merienda",
|
||||
"M PLUS Code Latin",
|
||||
"Figtree",
|
||||
"Fira Code",
|
||||
"Vollkorn",
|
||||
];
|
||||
|
||||
static const Map<Pages, String> pageTitle = {
|
||||
Pages.home: "home",
|
||||
Pages.grades: "grades",
|
||||
@@ -111,6 +121,42 @@ class SettingsHelper {
|
||||
// }
|
||||
// }
|
||||
|
||||
static void fontFamily(BuildContext context) {
|
||||
SettingsProvider settings =
|
||||
Provider.of<SettingsProvider>(context, listen: false);
|
||||
|
||||
showBottomSheetMenu(
|
||||
context,
|
||||
items: List.generate(fontList.length, (index) {
|
||||
String font = fontList[index];
|
||||
return BottomSheetMenuItem(
|
||||
onPressed: () {
|
||||
settings.update(fontFamily: font == 'Montserrat' ? '' : font);
|
||||
Provider.of<ThemeModeObserver>(context, listen: false)
|
||||
.changeTheme(settings.theme, updateNavbarColor: false);
|
||||
|
||||
Navigator.of(context).maybePop();
|
||||
},
|
||||
title: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
font,
|
||||
style: GoogleFonts.getFont(font),
|
||||
),
|
||||
if (font == settings.fontFamily ||
|
||||
font.replaceAll('Montserrat', '') == settings.fontFamily)
|
||||
Icon(
|
||||
Icons.check_circle,
|
||||
color: Theme.of(context).colorScheme.secondary,
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
static void iconPack(BuildContext context) {
|
||||
final settings = Provider.of<SettingsProvider>(context, listen: false);
|
||||
showBottomSheetMenu(
|
||||
|
||||
Reference in New Issue
Block a user