Spieler erstellen in CreateGroupView #43

Merged
flixcoo merged 9 commits from feature/42-spieler-erstellen-in-create-group-view-implementieren into development 2025-11-20 21:18:21 +00:00
Showing only changes of commit bce4cdcb2d - Show all commits

View File

@@ -37,6 +37,10 @@ class _CreateGroupViewState extends State<CreateGroupView> {
void initState() {
super.initState();
db = Provider.of<AppDatabase>(context, listen: false);
loadPlayerList();
}
void loadPlayerList() {
_allPlayersFuture = db.playerDao.getAllPlayers();
_allPlayersFuture.then((loadedPlayers) {
setState(() {
@@ -99,6 +103,41 @@ class _CreateGroupViewState extends State<CreateGroupView> {
minHeight: 45,
),
hintText: 'Search for players',
trailingButtonShown: true,
trailingButtonEnabled:
_searchBarController.text.isNotEmpty,
onTrailingButtonPressed: () async {
String playerName = _searchBarController.text;
sneeex marked this conversation as resolved Outdated

Mit trim() alle Leerzeichen vorne und hinten wegmachen (ich glaube es ist trim)

Mit `trim()` alle Leerzeichen vorne und hinten wegmachen (ich glaube es ist trim)
if (playerName.isEmpty) return;
sneeex marked this conversation as resolved Outdated

Der Button ist doch nur aktiv, wenn _searchBarController.text.isNotEmpty, warum fragst du das dann nochmal ab?

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

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) {
setState(() {
if (value.isEmpty) {