Skip to content

Commit

Permalink
Fix email chooser list rendering
Browse files Browse the repository at this point in the history
  • Loading branch information
sukso96100 committed Sep 3, 2023
1 parent 49ea022 commit 938be88
Showing 1 changed file with 133 additions and 115 deletions.
248 changes: 133 additions & 115 deletions lib/checkInByEmailScreen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -108,123 +108,141 @@ class _CheckInByEmailScreenState extends State<CheckInByEmailScreen> {
],
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ConstrainedBox(
constraints: BoxConstraints(maxWidth: 600),
child: Expanded(
child: ListView.builder(
shrinkWrap: true,
itemCount:
searchResults == null ? 0 : searchResults.length,
itemBuilder: (context, index) {
var resultItem = searchResults[index];
return ListTile(
title: Text(
'${resultItem["name"]} (${resultItem['email']})',
style: TextStyle(fontSize: 20),
),
onTap: () => {
showDialog<String>(
context: context,
builder: (BuildContext context) => AlertDialog(
title: Text(resultItem['name']),
content: Column(
children: [
Visibility(
visible: showModalProgress,
child: LinearProgressIndicator(
value: null)),
Text(resultItem['email']),
Text(resultItem['affilation']),
Text(resultItem['role']),
Container(
padding: const EdgeInsets.all(16.0),
child: TextField(
style: TextStyle(fontSize: 30),
readOnly: showModalProgress,
keyboardType:
TextInputType.number,
decoration: InputDecoration(
border: OutlineInputBorder(),
labelText: '인증코드 입력',
),
onChanged: (value) => {
setState(() {
verifyCodeInput = value;
})
},
Expanded(
child: ListView.builder(
shrinkWrap: true,
itemCount: searchResults == null ? 0 : searchResults.length,
itemBuilder: (context, index) {
var resultItem = searchResults[index];
return Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: [
ConstrainedBox(
constraints: BoxConstraints(maxWidth: 600),
child: ListTile(
title: Text(
'${resultItem["name"]} (${resultItem['email']})',
style: TextStyle(fontSize: 20),
),
onTap: () => {
showDialog<String>(
context: context,
builder: (BuildContext context) =>
AlertDialog(
title: Text(resultItem['name']),
content: Column(
children: [
Visibility(
visible: showModalProgress,
child:
LinearProgressIndicator(
value: null)),
Text(resultItem['email'],
style: TextStyle(
fontSize: 20)),
Text(resultItem['affilation'],
style: TextStyle(
fontSize: 20)),
Text(resultItem['role'],
style: TextStyle(
fontSize: 20)),
Container(
padding: const EdgeInsets.all(
16.0),
child: TextField(
style:
TextStyle(fontSize: 30),
readOnly: showModalProgress,
keyboardType:
TextInputType.number,
decoration: InputDecoration(
border:
OutlineInputBorder(),
labelText: '인증코드 입력',
),
onChanged: (value) => {
setState(() {
verifyCodeInput = value;
})
},
),
),
],
),
),
],
),
actions: <Widget>[
TextButton(
onPressed: () {
setState(() {
verifyCodeInput = "";
});
Navigator.pop(context, 'Cancel');
},
child: const Text('취소 (X)'),
),
TextButton(
onPressed: () async {
showDialog<String>(
barrierDismissible: false,
context: context,
builder:
(BuildContext context) =>
const AlertDialog(
content: Row(
mainAxisAlignment:
MainAxisAlignment
.center,
children: [
CircularProgressIndicator(
value: null,
)
],
)));
var result = await kioskClient
.checkInBySearch(
resultItem['id'],
verifyCodeInput);
setState(() {
verifyCodeInput = "";
});
Navigator.pop(context, 'OK');
Navigator.pop(context, 'OK');
var snackBar = SnackBar(
content: Text(result.$2),
);
ScaffoldMessenger.of(context)
.showSnackBar(snackBar);
if (result.$1) {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => PrintPage(
nametagData: NametagData(
resultItem['name'],
resultItem[
'affilation'],
resultItem['role'],
resultItem[
'qrUrl']))),
);
} else {
Navigator.pop(context, 'ERROR');
}
},
child: const Text('확인 (O)'),
),
],
))
},
);
},
)))
actions: <Widget>[
TextButton(
onPressed: () {
setState(() {
verifyCodeInput = "";
});
Navigator.pop(
context, 'Cancel');
},
child: const Text('취소 (X)'),
),
TextButton(
onPressed: () async {
showDialog<String>(
barrierDismissible: false,
context: context,
builder: (BuildContext
context) =>
const AlertDialog(
content: Row(
mainAxisAlignment:
MainAxisAlignment
.center,
children: [
CircularProgressIndicator(
value: null,
)
],
)));
var result = await kioskClient
.checkInBySearch(
resultItem['id'],
verifyCodeInput);
setState(() {
verifyCodeInput = "";
});
Navigator.pop(context, 'OK');
Navigator.pop(context, 'OK');
var snackBar = SnackBar(
content: Text(result.$2),
);
ScaffoldMessenger.of(context)
.showSnackBar(snackBar);
if (result.$1) {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => PrintPage(
nametagData: NametagData(
resultItem[
'name'],
resultItem[
'affilation'],
resultItem[
'role'],
resultItem[
'qrUrl']))),
);
} else {
Navigator.pop(
context, 'ERROR');
}
},
child: const Text('확인 (O)'),
),
],
))
},
))
]);
},
))
],
)
],
Expand Down

0 comments on commit 938be88

Please sign in to comment.