forked from firka/firka
update settings screen
add back arrow for iOS users (I love cupertino) add header to customization screen
This commit is contained in:
@@ -64,6 +64,7 @@ class SettingsStore {
|
||||
items["settings"] = SettingsGroup(
|
||||
0,
|
||||
LinkedHashMap.of({
|
||||
"back": SettingsBackHeader(0, l10n.s_a, always),
|
||||
"settings_header": SettingsHeader(0, l10n.s_settings, always),
|
||||
"settings_padding": SettingsPadding(0, 20, always),
|
||||
"application": SettingsSubGroup(
|
||||
@@ -72,10 +73,9 @@ class SettingsStore {
|
||||
Majesticon.settingsCogSolid,
|
||||
l10n.s_a,
|
||||
LinkedHashMap.of({
|
||||
// TODO: Make a back arrow widget
|
||||
"back": SettingsBackHeader(0, l10n.s_settings, always),
|
||||
"settings_header": SettingsHeader(0, l10n.s_ag, always),
|
||||
"settings_padding": SettingsPadding(0, 23, always),
|
||||
|
||||
"bell_delay": SettingsDouble(
|
||||
bellRing,
|
||||
FirkaIconType.majesticons,
|
||||
@@ -154,6 +154,9 @@ class SettingsStore {
|
||||
Majesticon.flower2Solid,
|
||||
l10n.s_c,
|
||||
LinkedHashMap.of({
|
||||
"back": SettingsBackHeader(0, l10n.s_settings, always),
|
||||
"settings_header":
|
||||
SettingsHeader(0, l10n.s_customization, always),
|
||||
"icon_header":
|
||||
SettingsHeaderSmall(0, l10n.s_c_icon_header, always),
|
||||
"icon_preview": SettingsAppIconPreview(0, always),
|
||||
@@ -234,23 +237,32 @@ class SettingsStore {
|
||||
isAndroid),
|
||||
}),
|
||||
always),
|
||||
"notifications": SettingsSubGroup(0, FirkaIconType.majesticons,
|
||||
Majesticon.bellSolid, "Értesítések", LinkedHashMap.of({}), never),
|
||||
"notifications": SettingsSubGroup(
|
||||
0,
|
||||
FirkaIconType.majesticons,
|
||||
Majesticon.bellSolid,
|
||||
"Értesítések",
|
||||
LinkedHashMap.of({
|
||||
"back": SettingsBackHeader(0, l10n.s_settings, always),
|
||||
}),
|
||||
never),
|
||||
"extras": SettingsSubGroup(
|
||||
0,
|
||||
FirkaIconType.majesticons,
|
||||
Majesticon.lightningBoltSolid,
|
||||
"Extrák",
|
||||
LinkedHashMap.of({}),
|
||||
LinkedHashMap.of({
|
||||
"back": SettingsBackHeader(0, l10n.s_settings, always),
|
||||
}),
|
||||
never),
|
||||
"settings_other_padding": SettingsPadding(0, 20, never),
|
||||
"settings_other_header": SettingsHeaderSmall(0, "Egyéb", never),
|
||||
|
||||
"developer": SettingsSubGroup(
|
||||
0,
|
||||
FirkaIconType.majesticonsLocal,
|
||||
"wrenchSolid",
|
||||
'Developer',
|
||||
"developer": SettingsSubGroup(
|
||||
0,
|
||||
FirkaIconType.majesticonsLocal,
|
||||
"wrenchSolid",
|
||||
'Developer',
|
||||
LinkedHashMap.of({
|
||||
"stats_for_nerds": SettingsBoolean(
|
||||
statsForNerds,
|
||||
@@ -510,6 +522,28 @@ class SettingsPadding implements SettingsItem {
|
||||
Future<void> save(IsarCollection<AppSettingsModel> model) async {}
|
||||
}
|
||||
|
||||
class SettingsBackHeader implements SettingsItem {
|
||||
@override
|
||||
Id key;
|
||||
@override
|
||||
FirkaIconType? iconType;
|
||||
@override
|
||||
Object? iconData;
|
||||
@override
|
||||
bool Function() visibilityProvider;
|
||||
@override
|
||||
Future<void> Function() postUpdate = () async {};
|
||||
String title;
|
||||
|
||||
SettingsBackHeader(this.key, this.title, this.visibilityProvider);
|
||||
|
||||
@override
|
||||
Future<void> load(IsarCollection<AppSettingsModel> model) async {}
|
||||
|
||||
@override
|
||||
Future<void> save(IsarCollection<AppSettingsModel> model) async {}
|
||||
}
|
||||
|
||||
class SettingsHeader implements SettingsItem {
|
||||
@override
|
||||
Id key;
|
||||
|
||||
Submodule firka/lib/l10n updated: 4557640339...b98899c063
@@ -9,6 +9,7 @@ import 'package:firka/ui/model/style.dart';
|
||||
import 'package:firka/ui/widget/firka_icon.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:majesticons_flutter/majesticons_flutter.dart';
|
||||
|
||||
import '../../../../helpers/firka_bundle.dart';
|
||||
import '../../../../helpers/settings/setting.dart';
|
||||
@@ -74,6 +75,38 @@ class _SettingsScreenState extends State<SettingsScreen> {
|
||||
|
||||
continue;
|
||||
}
|
||||
if (item is SettingsBackHeader) {
|
||||
widgets.add(Column(
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
Transform.translate(
|
||||
offset: const Offset(-4, 0),
|
||||
child: GestureDetector(
|
||||
child: FirkaIconWidget(
|
||||
FirkaIconType.majesticons, Majesticon.chevronLeftLine,
|
||||
color: appStyle.colors.textSecondary),
|
||||
onTap: () {
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
),
|
||||
),
|
||||
Transform.translate(
|
||||
offset: const Offset(-4, 1),
|
||||
child: Text(
|
||||
item.title,
|
||||
style: appStyle.fonts.B_16R
|
||||
.apply(color: appStyle.colors.textPrimary),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
SizedBox(height: 13),
|
||||
],
|
||||
));
|
||||
|
||||
continue;
|
||||
}
|
||||
if (item is SettingsHeader) {
|
||||
widgets.add(Text(
|
||||
item.title,
|
||||
|
||||
Reference in New Issue
Block a user