wip: drawer.

pull/2/head
DebuggerX 4 years ago
parent d5c104c9a0
commit 5e777e97bc

@ -0,0 +1,10 @@
import 'package:dde_gesture_manager/builder/provider_annotation.dart';
@ProviderModel()
class ContentLayout {
@ProviderModelProp()
bool? localManagerOpened;
@ProviderModelProp()
bool? marketOpened;
}

@ -0,0 +1,33 @@
import 'package:dde_gesture_manager/extensions.dart';
import 'package:dde_gesture_manager/pages/gesture_editor.dart';
import 'package:dde_gesture_manager/pages/local_manager.dart';
import 'package:dde_gesture_manager/pages/market.dart';
import 'package:flutter/material.dart';
import 'package:dde_gesture_manager/models/content_layout.provider.dart';
class Content extends StatefulWidget {
const Content({Key? key}) : super(key: key);
@override
_ContentState createState() => _ContentState();
}
class _ContentState extends State<Content> {
@override
Widget build(BuildContext context) {
return ChangeNotifierProvider(
create: (context) => ContentLayoutProvider()
..localManagerOpened = true
..marketOpened = true,
builder: (context, child) => Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
LocalManager(),
GestureEditor(),
Market(),
],
),
);
}
}

@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class GestureEditor extends StatelessWidget {
const GestureEditor({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
color: Colors.black45,
child: Column(
children: [],
),
);
}
}

@ -1,4 +1,5 @@
import 'package:dde_gesture_manager/widgets/footer.dart';
import 'package:dde_gesture_manager/pages/content.dart';
import 'package:dde_gesture_manager/pages/footer.dart';
import 'package:flutter/material.dart';
class HomePage extends StatefulWidget {
@ -16,11 +17,8 @@ class _HomePageState extends State<HomePage> {
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
mainAxisSize: MainAxisSize.max,
children: [
Text('WIP'),
],
Flexible(
child: Content(),
),
SizedBox(
height: 36,

@ -0,0 +1,46 @@
import 'package:dde_gesture_manager/models/content_layout.provider.dart';
import 'package:flutter/animation.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:dde_gesture_manager/extensions.dart';
class LocalManager extends StatelessWidget {
const LocalManager({
Key? key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
var isOpen = context.watch<ContentLayoutProvider>().localManagerOpened == true;
isOpen.sout();
return AnimatedContainer(
duration: Duration(milliseconds: 300),
curve: Curves.easeInOut,
color: context.t.backgroundColor,
width: isOpen ? 200 : 36,
child: Column(
children: [
OverflowBox(
child: SizedBox(
width: 200,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Flexible(
child: Text("本地配置"),
),
IconButton(
onPressed: () => context.read<ContentLayoutProvider>().setProps(localManagerOpened: !isOpen),
icon: Icon(
isOpen ? CupertinoIcons.chevron_left_2 : CupertinoIcons.chevron_right_2,
),
),
],
),
),
),
],
),
);
}
}

@ -0,0 +1,12 @@
import 'package:flutter/material.dart';
class Market extends StatelessWidget {
const Market({
Key? key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container();
}
}
Loading…
Cancel
Save