reason

update

......@@ -7,6 +7,7 @@ import 'package:one_poem/poem/widgets/poem_user_audio.dart';
import 'package:one_poem/poem/widgets/poem_user_comments.dart';
import 'package:one_poem/res/gaps.dart';
import 'package:one_poem/routers/fluro_navigator.dart';
import 'package:one_poem/util/toast_utils.dart';
import 'package:one_poem/widgets/bars/home_action_bar.dart';
import 'package:one_poem/widgets/bars/home_menu_bar.dart';
import 'package:one_poem/widgets/my_app_bar.dart';
......@@ -148,7 +149,9 @@ class _PoemDetailPageState extends State<PoemDetailPage> {
Icons.camera_alt_outlined,
size: 36.px,
),
onPressed: () {},
onPressed: () {
Toast.show("不要着急吖,正在开发ing....");
},
)
],
),
......
import 'package:flutter/material.dart';
import 'package:one_poem/res/resources.dart';
import 'package:one_poem/util/toast_utils.dart';
import 'package:one_poem/widgets/my_app_bar.dart';
class PoemPublish extends StatefulWidget {
const PoemPublish({Key? key, required this.data}) : super(key: key);
final String data;
@override
_PoemPublishState createState() => _PoemPublishState();
}
class _PoemPublishState extends State<PoemPublish> {
@override
void initState() {
super.initState();
}
@override
void dispose() {
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: MyAppBar(
homeMenuHeader: Container(
alignment: Alignment.center,
width: double.infinity,
child: const Text(
"发布临境",
style: TextStyle(
color: Colors.white,
),
),
),
),
body: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Padding(
padding: const EdgeInsets.all(
10.0,
),
child: ConstrainedBox(
constraints: const BoxConstraints(
maxHeight: 200,
maxWidth: double.infinity,
),
child: TextField(
maxLines: 10,
decoration: InputDecoration(
contentPadding: const EdgeInsets.all(10.0),
hintText: '读此一言,仿佛身临其境',
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(5),
borderSide: BorderSide.none),
filled: true,
fillColor: Colors.grey.shade100,
),
),
),
),
Container(
padding: const EdgeInsets.all(10.0),
alignment: Alignment.centerLeft,
width: double.infinity,
height: 36.0,
child: Wrap(
children: const [
Icon(
Icons.room_outlined,
size: 15,
),
Text(
"我在此地",
style: TextStyle(color: Colors.black45),
),
],
),
),
Container(
padding: const EdgeInsets.all(10.0),
alignment: Alignment.centerLeft,
width: double.infinity,
height: 36.0,
child: Wrap(
children: const [
Icon(
Icons.room_outlined,
size: 15,
),
Text(
"所用口音",
style: TextStyle(color: Colors.black45),
),
Gaps.hGap10,
Text(
"普通话",
style: TextStyle(color: Colors.black45),
),
],
),
),
Gaps.vGap24,
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
height: 36.0,
alignment: Alignment.center,
width: double.infinity,
child: const Text(
"发布临境,让更多人身临其境",
style: TextStyle(fontSize: 12.0),
),
),
Container(
height: 48.0,
alignment: Alignment.center,
width: double.infinity,
child: TextButton(
style: ButtonStyle(
side: MaterialStateProperty.all(
const BorderSide(color: Colors.black54, width: 1),
),
),
onPressed: () {
Toast.show("先不发布了吧。。。。");
},
child: const Text(
"发布",
style: TextStyle(color: Colors.black54, fontSize: 15.0),
),
),
),
],
),
),
],
),
);
}
}
......@@ -4,12 +4,16 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:one_poem/poem/widgets/poem_content.dart';
import 'package:one_poem/recorder/widgets/poem_voice_widget.dart';
import 'package:one_poem/routers/fluro_navigator.dart';
import 'package:one_poem/util/toast_utils.dart';
import 'package:one_poem/widgets/bars/home_action_bar.dart';
import 'package:one_poem/widgets/bars/home_menu_bar.dart';
import 'package:one_poem/widgets/my_app_bar.dart';
import 'package:one_poem/extension/int_extension.dart';
import '../poem_router.dart';
class PoemRecordAudioPage extends StatefulWidget {
@override
State<StatefulWidget> createState() => _PoemRecordAudioPageState();
......@@ -114,7 +118,9 @@ class _PoemRecordAudioPageState extends State<PoemRecordAudioPage> {
Icons.camera_alt_outlined,
size: 28.px,
),
onPressed: () {},
onPressed: () {
Toast.show("不要着急吖,正在开发ing....");
},
),
),
SizedBox(
......@@ -129,6 +135,30 @@ class _PoemRecordAudioPageState extends State<PoemRecordAudioPage> {
),
],
),
Container(
padding: const EdgeInsets.all(10.0),
alignment: Alignment.centerRight,
height: 54.0,
width: double.infinity,
child: TextButton(
style: ButtonStyle(
side: MaterialStateProperty.all(
const BorderSide(
color: Colors.black54, width: 1),
),
),
onPressed: () {
NavigatorUtils.push(
context,
'${PoemRouter.poemPublish}?data=100',
);
},
child: const Text(
"下一步",
style: TextStyle(color: Colors.white),
),
),
),
],
),
),
......
......@@ -3,6 +3,7 @@ import 'package:one_poem/poem/page/poem_record_audio.dart';
import 'package:one_poem/routers/i_router.dart';
import 'page/poem_detail.dart';
import 'page/poem_page.dart';
import 'page/poem_publish.dart';
import 'page/poem_video_player.dart';
class PoemRouter implements IRouterProvider {
......@@ -10,31 +11,59 @@ class PoemRouter implements IRouterProvider {
static String poemDetailPage = '/detail';
static String poemRecordAudioPage = '/poem/record/audio';
static String poemVidePlayer = '/poem/video/player';
static String poemPublish = '/poem/publish';
@override
void initRouter(FluroRouter router) {
router.define(poemPage,
handler: Handler(handlerFunc: (_, __) => const PoemPage()));
router.define(poemDetailPage,
handler: Handler(handlerFunc: (_, Map<String, List<String>> params) {
String? id = params['id']?.first;
return PoemDetailPage(
poemId: int.parse(id!),
);
}));
router.define(poemRecordAudioPage,
handler: Handler(handlerFunc: (_, Map<String, List<String>> params) {
String? id = params['id']?.first;
return PoemRecordAudioPage(
poemId: int.parse(id!),
);
}));
router.define(poemVidePlayer,
handler: Handler(handlerFunc: (_, Map<String, List<String>> params) {
String? url = params['url']?.first;
return PoemVideoPlayer(
url: url!,
);
}));
router.define(
poemPage,
handler: Handler(
handlerFunc: (_, __) => const PoemPage(),
),
);
router.define(
poemDetailPage,
handler: Handler(
handlerFunc: (_, Map<String, List<String>> params) {
String? id = params['id']?.first;
return PoemDetailPage(
poemId: int.parse(id!),
);
},
),
);
router.define(
poemRecordAudioPage,
handler: Handler(
handlerFunc: (_, Map<String, List<String>> params) {
String? id = params['id']?.first;
return PoemRecordAudioPage(
poemId: int.parse(id!),
);
},
),
);
router.define(
poemVidePlayer,
handler: Handler(
handlerFunc: (_, Map<String, List<String>> params) {
String? url = params['url']?.first;
return PoemVideoPlayer(
url: url!,
);
},
),
);
router.define(
poemPublish,
handler: Handler(
handlerFunc: (_, Map<String, List<String>> params) {
String? data = params['data']?.first;
return PoemPublish(
data: data!,
);
},
),
);
}
}
......