mirror of
https://github.com/mitchell/selfpass.git
synced 2025-12-14 21:27:22 +00:00
Add 'client/' from commit '92f38b5810'
git-subtree-dir: client git-subtree-mainline:024017338egit-subtree-split:92f38b5810
This commit is contained in:
commit
66ec035ee0
90 changed files with 3817 additions and 0 deletions
35
client/lib/widgets/tappable_text_list.dart
Normal file
35
client/lib/widgets/tappable_text_list.dart
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
class TappableTextList extends StatelessWidget {
|
||||
final Map<String, GestureTapCallback> tappableText;
|
||||
|
||||
TappableTextList({Key key, this.tappableText}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListView(
|
||||
children: _buildListChildren(context),
|
||||
);
|
||||
}
|
||||
|
||||
List<Widget> _buildListChildren(BuildContext context) {
|
||||
List<Widget> widgets = [];
|
||||
|
||||
tappableText.forEach((String text, GestureTapCallback handleOnTap) {
|
||||
widgets.add(GestureDetector(
|
||||
onTap: handleOnTap,
|
||||
child: Container(
|
||||
padding: const EdgeInsets.symmetric(vertical: 15.0),
|
||||
decoration: const BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(color: CupertinoColors.lightBackgroundGray),
|
||||
),
|
||||
),
|
||||
child: Text(text, textAlign: TextAlign.center),
|
||||
),
|
||||
));
|
||||
});
|
||||
|
||||
return widgets;
|
||||
}
|
||||
}
|
||||
57
client/lib/widgets/text_field.dart
Normal file
57
client/lib/widgets/text_field.dart
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
import 'package:flutter/cupertino.dart';
|
||||
|
||||
typedef OnSubmittedBuilder = ValueChanged<String> Function(
|
||||
BuildContext context,
|
||||
);
|
||||
|
||||
class TextField extends StatelessWidget {
|
||||
final OnSubmittedBuilder onSubmittedBuilder;
|
||||
final TextEditingController controller;
|
||||
final OverlayVisibilityMode clearButtonMode;
|
||||
final Widget prefix;
|
||||
final Widget suffix;
|
||||
final bool obscure;
|
||||
final bool autofocus;
|
||||
final bool autocorrect;
|
||||
final int minLines;
|
||||
final int maxLines;
|
||||
|
||||
const TextField({
|
||||
this.onSubmittedBuilder,
|
||||
this.controller,
|
||||
this.obscure = false,
|
||||
this.autofocus = false,
|
||||
this.minLines,
|
||||
this.maxLines,
|
||||
this.autocorrect = false,
|
||||
this.prefix,
|
||||
this.suffix,
|
||||
this.clearButtonMode = OverlayVisibilityMode.editing,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
padding: const EdgeInsets.symmetric(vertical: 5.0),
|
||||
child: CupertinoTextField(
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(color: CupertinoColors.black),
|
||||
borderRadius: const BorderRadius.all(Radius.circular(5.0)),
|
||||
),
|
||||
clearButtonMode: clearButtonMode,
|
||||
textAlign: TextAlign.start,
|
||||
onSubmitted: this.onSubmittedBuilder != null
|
||||
? onSubmittedBuilder(context)
|
||||
: null,
|
||||
controller: controller,
|
||||
obscureText: obscure,
|
||||
autofocus: autofocus,
|
||||
autocorrect: autocorrect,
|
||||
minLines: minLines,
|
||||
maxLines: maxLines,
|
||||
prefix: prefix,
|
||||
suffix: suffix,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue