fixed groups not getting added & added feature to remove player from all players when selected
This commit is contained in:
@@ -35,6 +35,7 @@ class _CreateGroupViewState extends State<CreateGroupView> {
|
|||||||
_allPlayersFuture = db.playerDao.getAllPlayers();
|
_allPlayersFuture = db.playerDao.getAllPlayers();
|
||||||
_allPlayersFuture.then((loadedPlayers) {
|
_allPlayersFuture.then((loadedPlayers) {
|
||||||
setState(() {
|
setState(() {
|
||||||
|
loadedPlayers.sort((a, b) => a.name.compareTo(b.name));
|
||||||
allPlayers = loadedPlayers;
|
allPlayers = loadedPlayers;
|
||||||
suggestedPlayers = loadedPlayers;
|
suggestedPlayers = loadedPlayers;
|
||||||
});
|
});
|
||||||
@@ -171,7 +172,11 @@ class _CreateGroupViewState extends State<CreateGroupView> {
|
|||||||
child: const Icon(Icons.close, size: 20),
|
child: const Icon(Icons.close, size: 20),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
setState(() {
|
setState(() {
|
||||||
|
suggestedPlayers.add(selectedPlayer);
|
||||||
selectedPlayers.remove(selectedPlayer);
|
selectedPlayers.remove(selectedPlayer);
|
||||||
|
suggestedPlayers.sort(
|
||||||
|
(a, b) => a.name.compareTo(b.name),
|
||||||
|
);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
@@ -295,6 +300,15 @@ class _CreateGroupViewState extends State<CreateGroupView> {
|
|||||||
selectedPlayers.add(
|
selectedPlayers.add(
|
||||||
suggestedPlayers[index],
|
suggestedPlayers[index],
|
||||||
);
|
);
|
||||||
|
selectedPlayers.sort(
|
||||||
|
(a, b) =>
|
||||||
|
a.name.compareTo(
|
||||||
|
b.name,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
suggestedPlayers.remove(
|
||||||
|
suggestedPlayers[index],
|
||||||
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -321,39 +335,34 @@ class _CreateGroupViewState extends State<CreateGroupView> {
|
|||||||
onPressed:
|
onPressed:
|
||||||
(_groupNameController.text.isEmpty || selectedPlayers.isEmpty)
|
(_groupNameController.text.isEmpty || selectedPlayers.isEmpty)
|
||||||
? null
|
? null
|
||||||
: () {
|
: () async {
|
||||||
String id = "ID_" + _groupNameController.text;
|
String id = "ID_" + _groupNameController.text;
|
||||||
String name = _groupNameController.text;
|
String name = _groupNameController.text;
|
||||||
List<Player> members = selectedPlayers;
|
List<Player> members = selectedPlayers;
|
||||||
db.groupDao.addGroup(
|
bool success = await db.groupDao.addGroup(
|
||||||
group: Group(id: id, name: name, members: members),
|
group: Group(id: id, name: name, members: members),
|
||||||
);
|
);
|
||||||
print(name);
|
if (success) {
|
||||||
print(id);
|
|
||||||
for (int i = 0; i < members.length; i++) {
|
|
||||||
print(members[i].name);
|
|
||||||
print(members[i].id);
|
|
||||||
}
|
|
||||||
if (true) {
|
|
||||||
//eigentlich wenn create group erfolgreich
|
|
||||||
_groupNameController.clear();
|
_groupNameController.clear();
|
||||||
_searchBarController.clear();
|
_searchBarController.clear();
|
||||||
selectedPlayers.clear();
|
selectedPlayers.clear();
|
||||||
|
Navigator.pop(context);
|
||||||
|
} else {
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(
|
||||||
|
backgroundColor: CustomTheme.boxColor,
|
||||||
|
content: Center(
|
||||||
|
child: Text(
|
||||||
|
"Error while creating group, please try again",
|
||||||
|
style: TextStyle(color: Colors.white),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
setState(() {});
|
setState(() {});
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
SizedBox(height: 10),
|
|
||||||
FullWidthButton(
|
|
||||||
text: "Cancel",
|
|
||||||
infillColor: CustomTheme.boxColor,
|
|
||||||
borderColor: CustomTheme.primaryColor,
|
|
||||||
disabledInfillColor: CustomTheme.boxColor,
|
|
||||||
sizeRelativeToWidth: 0.95,
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.pop(context);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(height: 20),
|
SizedBox(height: 20),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -363,22 +372,6 @@ class _CreateGroupViewState extends State<CreateGroupView> {
|
|||||||
|
|
||||||
Future<void> addSamplePlayers(BuildContext context) async {
|
Future<void> addSamplePlayers(BuildContext context) async {
|
||||||
final db = Provider.of<AppDatabase>(context, listen: false);
|
final db = Provider.of<AppDatabase>(context, listen: false);
|
||||||
/*await db.groupDao.addGroup(
|
|
||||||
group: Group(
|
|
||||||
id: "dg1",
|
|
||||||
name: "Debug Gruppe 1",
|
|
||||||
members: [
|
|
||||||
Player(id: '1', name: 'Spieler 1'),
|
|
||||||
Player(id: '2', name: 'Spieler 2'),
|
|
||||||
Player(id: '3', name: 'Spieler 3'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
final group = await db.groupDao.getGroupById(groupId: "dg1");
|
|
||||||
print(group.name);
|
|
||||||
print(group.id);
|
|
||||||
print(group.members.length);
|
|
||||||
*/
|
|
||||||
final playerCount = await db.playerDao.getPlayerCount();
|
final playerCount = await db.playerDao.getPlayerCount();
|
||||||
if (playerCount == 0) {
|
if (playerCount == 0) {
|
||||||
for (int i = 1; i <= 10; i++) {
|
for (int i = 1; i <= 10; i++) {
|
||||||
|
|||||||
Reference in New Issue
Block a user