added settings options and padding

This commit is contained in:
ryleedavis 2022-10-06 17:43:00 -06:00
parent 7120c9ec4e
commit 09641167fb

View file

@ -1,8 +1,19 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
import 'package:stackwallet/pages_desktop_specific/home/settings_menu_item.dart';
import 'package:stackwallet/utilities/assets.dart';
import 'package:stackwallet/utilities/text_styles.dart';
import 'package:stackwallet/utilities/theme/stack_colors.dart';
class SettingsMenu extends ConsumerStatefulWidget { class SettingsMenu extends ConsumerStatefulWidget {
const SettingsMenu({Key? key}) : super(key: key); const SettingsMenu({
Key? key,
required this.onSelectionChanged,
}) : super(key: key);
final void Function(int)?
onSelectionChanged; //is a function that takes in an int and returns void/.;
static const String routeName = "/settingsMenu"; static const String routeName = "/settingsMenu";
@ -11,20 +22,170 @@ class SettingsMenu extends ConsumerStatefulWidget {
} }
class _SettingsMenuState extends ConsumerState<SettingsMenu> { class _SettingsMenuState extends ConsumerState<SettingsMenu> {
int selectedMenuItem = 0;
void updateSelectedMenuItem(int index) {
setState(() {
selectedMenuItem = index;
});
widget.onSelectionChanged?.call(index);
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
// // TODO: implement build // // TODO: implement build
// throw UnimplementedError(); // throw UnimplementedError();
debugPrint("BUILD: $runtimeType"); debugPrint("BUILD: $runtimeType");
return Column( return Material(
children: [ color: Theme.of(context).extension<StackColors>()!.background,
Container( child: SizedBox(
width: 32, width: 300,
height: 32, child: Padding(
decoration: BoxDecoration(color: Colors.teal), padding: const EdgeInsets.fromLTRB(24.0, 10.0, 0, 0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(
height: 20,
// width: 300,
),
Text(
"Settings",
style: STextStyles.desktopH3(context).copyWith(
fontSize: 24,
),
),
Row(
children: [
Padding(
padding: const EdgeInsets.fromLTRB(
3.0,
30.0,
55.0,
0,
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SettingsMenuItem(
icon: SvgPicture.asset(
Assets.svg.polygon,
width: 11,
height: 11,
),
label: "Backup and restore",
value: 0,
group: selectedMenuItem,
onChanged: updateSelectedMenuItem,
),
const SizedBox(
height: 2,
),
SettingsMenuItem(
icon: SvgPicture.asset(
Assets.svg.polygon,
width: 11,
height: 11,
),
label: "Security",
value: 0,
group: selectedMenuItem,
onChanged: updateSelectedMenuItem,
),
const SizedBox(
height: 2,
),
SettingsMenuItem(
icon: SvgPicture.asset(
Assets.svg.polygon,
width: 11,
height: 11,
),
label: "Currency",
value: 0,
group: selectedMenuItem,
onChanged: updateSelectedMenuItem,
),
const SizedBox(
height: 2,
),
SettingsMenuItem(
icon: SvgPicture.asset(
Assets.svg.polygon,
width: 11,
height: 11,
),
label: "Language",
value: 0,
group: selectedMenuItem,
onChanged: updateSelectedMenuItem,
),
const SizedBox(
height: 2,
),
SettingsMenuItem(
icon: SvgPicture.asset(
Assets.svg.polygon,
width: 11,
height: 11,
),
label: "Nodes",
value: 0,
group: selectedMenuItem,
onChanged: updateSelectedMenuItem,
),
const SizedBox(
height: 2,
),
SettingsMenuItem(
icon: SvgPicture.asset(
Assets.svg.polygon,
width: 11,
height: 11,
),
label: "Syncing preferences",
value: 0,
group: selectedMenuItem,
onChanged: updateSelectedMenuItem,
),
const SizedBox(
height: 2,
),
SettingsMenuItem(
icon: SvgPicture.asset(
Assets.svg.polygon,
width: 11,
height: 11,
),
label: "Appearance",
value: 0,
group: selectedMenuItem,
onChanged: updateSelectedMenuItem,
),
const SizedBox(
height: 2,
),
SettingsMenuItem(
icon: SvgPicture.asset(
Assets.svg.polygon,
width: 11,
height: 11,
),
label: "Advanced",
value: 0,
group: selectedMenuItem,
onChanged: updateSelectedMenuItem,
),
],
),
),
],
),
],
),
), ),
], ),
); );
} }
} }