fix: material dark mode text

This commit is contained in:
Rongjian Zhang 2020-02-01 17:18:21 +08:00
parent 559d6756e8
commit a4284d00fb
4 changed files with 62 additions and 25 deletions

View File

@ -224,6 +224,7 @@ class ThemeModel with ChangeNotifier {
Future<bool> showConfirm(BuildContext context, Widget content) { Future<bool> showConfirm(BuildContext context, Widget content) {
switch (theme) { switch (theme) {
case AppThemeType.cupertino: case AppThemeType.cupertino:
default:
return showCupertinoDialog( return showCupertinoDialog(
context: context, context: context,
builder: (context) { builder: (context) {
@ -247,29 +248,29 @@ class ThemeModel with ChangeNotifier {
); );
}, },
); );
default: // default:
return showDialog( // return showDialog(
context: context, // context: context,
builder: (BuildContext context) { // builder: (BuildContext context) {
return AlertDialog( // return AlertDialog(
content: content, // content: content,
actions: <Widget>[ // actions: <Widget>[
FlatButton( // FlatButton(
child: const Text('CANCEL'), // child: const Text('CANCEL'),
onPressed: () { // onPressed: () {
Navigator.pop(context, false); // Navigator.pop(context, false);
}, // },
), // ),
FlatButton( // FlatButton(
child: const Text('OK'), // child: const Text('OK'),
onPressed: () { // onPressed: () {
Navigator.pop(context, true); // Navigator.pop(context, true);
}, // },
) // )
], // ],
); // );
}, // },
); // );
} }
} }

View File

@ -22,6 +22,7 @@ class _IssueFormScreenState extends State<IssueFormScreen> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final theme = Provider.of<ThemeModel>(context);
return CommonScaffold( return CommonScaffold(
title: Text('Submit an issue'), title: Text('Submit an issue'),
body: Column( body: Column(
@ -29,6 +30,7 @@ class _IssueFormScreenState extends State<IssueFormScreen> {
Padding( Padding(
padding: CommonStyle.padding, padding: CommonStyle.padding,
child: CupertinoTextField( child: CupertinoTextField(
style: TextStyle(color: theme.palette.text),
placeholder: 'Title', placeholder: 'Title',
onChanged: (v) { onChanged: (v) {
setState(() { setState(() {
@ -40,6 +42,7 @@ class _IssueFormScreenState extends State<IssueFormScreen> {
Padding( Padding(
padding: CommonStyle.padding, padding: CommonStyle.padding,
child: CupertinoTextField( child: CupertinoTextField(
style: TextStyle(color: theme.palette.text),
placeholder: 'Body', placeholder: 'Body',
onChanged: (v) { onChanged: (v) {
setState(() { setState(() {

View File

@ -6,6 +6,7 @@ import 'package:git_touch/scaffolds/single.dart';
import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/utils/utils.dart';
import 'package:git_touch/widgets/action_button.dart'; import 'package:git_touch/widgets/action_button.dart';
import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/app_bar_title.dart';
import 'package:git_touch/widgets/text_field.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../widgets/link.dart'; import '../widgets/link.dart';
import '../widgets/loading.dart'; import '../widgets/loading.dart';
@ -95,12 +96,12 @@ class _LoginScreenState extends State<LoginScreen> {
return Column( return Column(
children: <Widget>[ children: <Widget>[
if (showDomain) if (showDomain)
CupertinoTextField( MyTextField(
controller: _domainController, controller: _domainController,
placeholder: 'Domain', placeholder: 'Domain',
), ),
SizedBox(height: 8), SizedBox(height: 8),
CupertinoTextField( MyTextField(
placeholder: 'Access token', placeholder: 'Access token',
controller: _tokenController, controller: _tokenController,
), ),

View File

@ -0,0 +1,32 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:git_touch/models/theme.dart';
import 'package:provider/provider.dart';
class MyTextField extends StatelessWidget {
final TextEditingController controller;
final String placeholder;
MyTextField({@required this.controller, this.placeholder});
@override
Widget build(BuildContext context) {
final theme = Provider.of<ThemeModel>(context);
switch (theme.theme) {
case AppThemeType.cupertino:
default:
return CupertinoTextField(
controller: controller,
placeholder: placeholder,
style: TextStyle(color: theme.palette.text),
);
// default:
// return TextField(
// controller: controller,
// decoration: InputDecoration(
// filled: true,
// labelText: placeholder,
// ),
// );
}
}
}