WIP: Add settings page #46
1 changed files with 95 additions and 31 deletions
mobile settings mockup
commit
6ed01cf61b
|
|
@ -1,6 +1,8 @@
|
||||||
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:m3e_card_list/m3e_card_list.dart";
|
||||||
import "package:navigation_rail_m3e/navigation_rail_m3e.dart";
|
import "package:navigation_rail_m3e/navigation_rail_m3e.dart";
|
||||||
|
import "package:nexus/widgets/divider_text.dart";
|
||||||
import "package:super_sliver_list/super_sliver_list.dart";
|
import "package:super_sliver_list/super_sliver_list.dart";
|
||||||
|
|
||||||
class SettingsPage extends ConsumerWidget {
|
class SettingsPage extends ConsumerWidget {
|
||||||
|
|
@ -29,43 +31,105 @@ class SettingsPage extends ConsumerWidget {
|
||||||
),
|
),
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: .symmetric(vertical: 12),
|
padding: .symmetric(vertical: 12),
|
||||||
child: Row(
|
child: categoriesArePages
|
||||||
children: [
|
? CustomScrollView(
|
||||||
Padding(
|
slivers: [
|
||||||
padding: .symmetric(vertical: 8),
|
SliverToBoxAdapter(
|
||||||
child: NavigationRailM3E(
|
child: Padding(
|
||||||
type: .alwaysExpand,
|
padding: .symmetric(horizontal: 16),
|
||||||
sections: [
|
child: DividerText("Account Settings"),
|
||||||
.new(
|
),
|
||||||
destinations: [
|
),
|
||||||
.new(icon: Icon(Icons.abc), label: "Account"),
|
SliverM3ECardList(
|
||||||
.new(icon: Icon(Icons.abc), label: "Account"),
|
padding: .symmetric(horizontal: 4, vertical: 8),
|
||||||
.new(icon: Icon(Icons.abc), label: "Account"),
|
margin: .all(12),
|
||||||
.new(icon: Icon(Icons.abc), label: "Account"),
|
color: Theme.of(context).colorScheme.primaryContainer,
|
||||||
.new(icon: Icon(Icons.abc), label: "Account"),
|
itemCount: 3,
|
||||||
.new(icon: Icon(Icons.abc), label: "Account"),
|
itemBuilder: (context, index) => ListTile(
|
||||||
.new(icon: Icon(Icons.abc), label: "Account"),
|
leading: Icon(Icons.abc),
|
||||||
],
|
title: Text("Account"),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SliverToBoxAdapter(
|
||||||
|
child: Padding(
|
||||||
|
padding: .symmetric(horizontal: 16),
|
||||||
|
child: DividerText("Some Other Settings"),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SliverM3ECardList(
|
||||||
|
padding: .symmetric(horizontal: 4, vertical: 8),
|
||||||
|
margin: .symmetric(horizontal: 12),
|
||||||
|
color: Theme.of(context).colorScheme.primaryContainer,
|
||||||
|
itemCount: 4,
|
||||||
|
itemBuilder: (context, index) => ListTile(
|
||||||
|
leading: Icon(Icons.abc),
|
||||||
|
title: Text("Account"),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
selectedIndex: 0,
|
)
|
||||||
onDestinationSelected: (value) {},
|
: Row(
|
||||||
),
|
|
||||||
),
|
|
||||||
VerticalDivider(),
|
|
||||||
Expanded(
|
|
||||||
child: SuperListView(
|
|
||||||
children: [
|
children: [
|
||||||
SwitchListTile(
|
Padding(
|
||||||
title: Text("Settings Title"),
|
padding: .symmetric(vertical: 8),
|
||||||
value: false,
|
child: NavigationRailM3E(
|
||||||
onChanged: (value) {},
|
type: .alwaysExpand,
|
||||||
|
sections: [
|
||||||
|
.new(
|
||||||
|
header: DividerText("Account Settings"),
|
||||||
|
destinations: [
|
||||||
|
.new(icon: Icon(Icons.abc), label: "Account"),
|
||||||
|
.new(icon: Icon(Icons.abc), label: "Account"),
|
||||||
|
.new(icon: Icon(Icons.abc), label: "Account"),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
.new(
|
||||||
|
header: DividerText("Some Other Settings"),
|
||||||
|
destinations: [
|
||||||
|
.new(icon: Icon(Icons.abc), label: "Account"),
|
||||||
|
.new(icon: Icon(Icons.abc), label: "Account"),
|
||||||
|
.new(icon: Icon(Icons.abc), label: "Account"),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
selectedIndex: 0,
|
||||||
|
onDestinationSelected: (value) {},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
VerticalDivider(),
|
||||||
|
Expanded(
|
||||||
|
child: SuperListView(
|
||||||
|
children: [
|
||||||
|
SwitchListTile(
|
||||||
|
title: Text("Settings Title"),
|
||||||
|
value: false,
|
||||||
|
onChanged: (value) {},
|
||||||
|
),
|
||||||
|
SwitchListTile(
|
||||||
|
title: Text("Settings Title"),
|
||||||
|
value: false,
|
||||||
|
onChanged: (value) {},
|
||||||
|
),
|
||||||
|
SwitchListTile(
|
||||||
|
title: Text("Settings Title"),
|
||||||
|
value: false,
|
||||||
|
onChanged: (value) {},
|
||||||
|
),
|
||||||
|
SwitchListTile(
|
||||||
|
title: Text("Settings Title"),
|
||||||
|
value: false,
|
||||||
|
onChanged: (value) {},
|
||||||
|
),
|
||||||
|
SwitchListTile(
|
||||||
|
title: Text("Settings Title"),
|
||||||
|
value: false,
|
||||||
|
onChanged: (value) {},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue