Spieler erstellen in CreateGroupView #43
@@ -37,6 +37,10 @@ class _CreateGroupViewState extends State<CreateGroupView> {
|
|||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
db = Provider.of<AppDatabase>(context, listen: false);
|
db = Provider.of<AppDatabase>(context, listen: false);
|
||||||
|
loadPlayerList();
|
||||||
|
}
|
||||||
|
|
||||||
|
void loadPlayerList() {
|
||||||
_allPlayersFuture = db.playerDao.getAllPlayers();
|
_allPlayersFuture = db.playerDao.getAllPlayers();
|
||||||
_allPlayersFuture.then((loadedPlayers) {
|
_allPlayersFuture.then((loadedPlayers) {
|
||||||
setState(() {
|
setState(() {
|
||||||
@@ -99,6 +103,41 @@ class _CreateGroupViewState extends State<CreateGroupView> {
|
|||||||
minHeight: 45,
|
minHeight: 45,
|
||||||
),
|
),
|
||||||
hintText: 'Search for players',
|
hintText: 'Search for players',
|
||||||
|
trailingButtonShown: true,
|
||||||
|
trailingButtonEnabled:
|
||||||
|
_searchBarController.text.isNotEmpty,
|
||||||
|
onTrailingButtonPressed: () async {
|
||||||
|
String playerName = _searchBarController.text;
|
||||||
|
sneeex marked this conversation as resolved
Outdated
|
|||||||
|
if (playerName.isEmpty) return;
|
||||||
|
sneeex marked this conversation as resolved
Outdated
flixcoo
commented
Der Button ist doch nur aktiv, wenn Der Button ist doch nur aktiv, wenn `_searchBarController.text.isNotEmpty`, warum fragst du das dann nochmal ab?
|
|||||||
|
bool success = await db.playerDao.addPlayer(
|
||||||
|
player: Player(name: playerName),
|
||||||
|
);
|
||||||
|
if (success) {
|
||||||
|
loadPlayerList();
|
||||||
|
sneeex marked this conversation as resolved
Outdated
flixcoo
commented
Snackbar Logik auslagern damit build nicht so lange ist (Vllt generell die komplette button logik in funktion auslagern) Snackbar Logik auslagern damit build nicht so lange ist (Vllt generell die komplette button logik in funktion auslagern)
|
|||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(
|
||||||
|
backgroundColor: CustomTheme.boxColor,
|
||||||
|
content: Center(
|
||||||
|
child: Text(
|
||||||
|
'Successfully added player $playerName.',
|
||||||
|
style: TextStyle(color: Colors.white),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
_searchBarController.clear();
|
||||||
|
} else {
|
||||||
|
SnackBar(
|
||||||
|
backgroundColor: CustomTheme.boxColor,
|
||||||
|
content: Center(
|
||||||
|
child: Text(
|
||||||
|
'Could not add player $playerName.',
|
||||||
|
style: TextStyle(color: Colors.white),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
onChanged: (value) {
|
onChanged: (value) {
|
||||||
setState(() {
|
setState(() {
|
||||||
if (value.isEmpty) {
|
if (value.isEmpty) {
|
||||||
|
|||||||
Reference in New Issue
Block a user
Mit
trim()alle Leerzeichen vorne und hinten wegmachen (ich glaube es ist trim)