diff --git a/src/Client/src/main/java/greenify/client/controller/CalculatorController.java b/src/Client/src/main/java/greenify/client/controller/CalculatorController.java
index 9961f48..39c92fb 100644
--- a/src/Client/src/main/java/greenify/client/controller/CalculatorController.java
+++ b/src/Client/src/main/java/greenify/client/controller/CalculatorController.java
@@ -398,10 +398,11 @@ public class CalculatorController {
Float footprint = userService.saveFootprint(userService.currentUser.getName());
Window owner = saveButton.getScene().getWindow();
Stage current = (Stage) owner;
- current.close();
controller.updateLeaderboard();
+ controller.updateAchievements();
UserController.AlertHelper.showAlert(Alert.AlertType.CONFIRMATION,
owner, "Footprint saved!", "Your footprint is saved!");
+ current.close();
}
/**
diff --git a/src/Client/src/main/java/greenify/client/controller/DashBoardController.java b/src/Client/src/main/java/greenify/client/controller/DashBoardController.java
index fe09235..b82e788 100644
--- a/src/Client/src/main/java/greenify/client/controller/DashBoardController.java
+++ b/src/Client/src/main/java/greenify/client/controller/DashBoardController.java
@@ -165,7 +165,17 @@ public class DashBoardController {
@FXML
private Label snacks;
@FXML
- private ImageView achiev1image;
+ private ImageView achieve1;
+ @FXML
+ private ImageView achieve2;
+ @FXML
+ private ImageView achieve3;
+ @FXML
+ private ImageView achieve4;
+ @FXML
+ private ImageView achieve5;
+ @FXML
+ private ImageView achieve6;
@FXML
private Label hintText;
@FXML
@@ -232,7 +242,6 @@ public class DashBoardController {
friendsTable.setItems(data);
updateLeaderboard();
updateAchievements();
-
calculateFootPrintButton.setSkin(new ClickButtonSkin(calculateFootPrintButton));
addFriendButton.setSkin(new ClickButtonSkin(addFriendButton));
addExtraActivityButton.setSkin(new ClickButtonSkin(addExtraActivityButton));
@@ -563,9 +572,36 @@ public class DashBoardController {
*/
public void updateAchievements() {
Map achievements = userService.getAchievements(userService.currentUser.getName());
- achiev1image.setVisible((Boolean)achievements.get("Starting off"));
- //achiev2image.setVisible(achievements.get("name second achievement"));
- //Add all achievements here, add updateAchievements to the achievements pane
+ if((Boolean)achievements.get("Starting off")) {
+ achieve1.setOpacity(1);
+ } else {
+ achieve1.setOpacity(0.3);
+ }
+ if((Boolean)achievements.get("Social butterfly")) {
+ achieve2.setOpacity(1);
+ } else {
+ achieve2.setOpacity(0.3);
+ }
+ if((Boolean)achievements.get("Green saver")) {
+ achieve3.setOpacity(1);
+ } else {
+ achieve3.setOpacity(0.3);
+ }
+ if((Boolean)achievements.get("Animal friend")) {
+ achieve4.setOpacity(1);
+ } else {
+ achieve4.setOpacity(0.3);
+ }
+ if((Boolean)achievements.get("Tom Dumoulin")) {
+ achieve5.setOpacity(1);
+ } else {
+ achieve5.setOpacity(0.3);
+ }
+ if((Boolean)achievements.get("Let it shine")) {
+ achieve6.setOpacity(1);
+ } else {
+ achieve6.setOpacity(0.3);
+ }
}
//class for the animations on the navigation buttons
diff --git a/src/Client/src/main/java/greenify/client/controller/ExtraActivityController.java b/src/Client/src/main/java/greenify/client/controller/ExtraActivityController.java
index e14e30f..c918a97 100644
--- a/src/Client/src/main/java/greenify/client/controller/ExtraActivityController.java
+++ b/src/Client/src/main/java/greenify/client/controller/ExtraActivityController.java
@@ -167,6 +167,7 @@ public class ExtraActivityController {
Window owner = saveButton.getScene().getWindow();
Float footprint = userService.saveFootprint(userService.currentUser.getName());
controller.updateLeaderboard();
+ controller.updateAchievements();
Stage current = (Stage) owner;
current.close();
UserController.AlertHelper.showAlert(Alert.AlertType.CONFIRMATION, owner, "Activities are added!",
@@ -194,6 +195,8 @@ public class ExtraActivityController {
"bike",
temperatureLabel.getText().replace(" Degrees", ""));
}
+ controller.updateAchievements();
+ controller.updateLeaderboard();
}
public class TranslateButtonSkin extends ButtonSkin {
diff --git a/src/Client/src/main/java/greenify/client/controller/FriendController.java b/src/Client/src/main/java/greenify/client/controller/FriendController.java
index aa2d455..4cbdc42 100644
--- a/src/Client/src/main/java/greenify/client/controller/FriendController.java
+++ b/src/Client/src/main/java/greenify/client/controller/FriendController.java
@@ -16,6 +16,9 @@ public class FriendController {
@Autowired
UserService userService;
+ @Autowired
+ DashBoardController dashBoardController;
+
@FXML
private Button addButton;
@FXML
@@ -54,6 +57,7 @@ public class FriendController {
//close the register window after the user has entered all the credentials
String friendName = userNameText.getText();
Stage current = (Stage) owner;
+ dashBoardController.updateAchievements();
current.close();
UserController.AlertHelper.showAlert(Alert.AlertType.CONFIRMATION, owner, "Friend added!",
userNameText.getText() + " is now your friend!");
diff --git a/src/Client/src/main/resources/fxml/dashboard.fxml b/src/Client/src/main/resources/fxml/dashboard.fxml
index 08737f9..a686159 100644
--- a/src/Client/src/main/resources/fxml/dashboard.fxml
+++ b/src/Client/src/main/resources/fxml/dashboard.fxml
@@ -8,7 +8,10 @@
+
+
+
@@ -470,14 +473,59 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -518,4 +566,4 @@
-
\ No newline at end of file
+
diff --git a/src/Client/src/main/resources/icons/Clover.png b/src/Client/src/main/resources/icons/Clover.png
new file mode 100644
index 0000000..e41e156
Binary files /dev/null and b/src/Client/src/main/resources/icons/Clover.png differ
diff --git a/src/Client/src/main/resources/icons/Friendship.png b/src/Client/src/main/resources/icons/Friendship.png
new file mode 100644
index 0000000..47b8e98
Binary files /dev/null and b/src/Client/src/main/resources/icons/Friendship.png differ
diff --git a/src/Client/src/main/resources/icons/alternate_foods.png b/src/Client/src/main/resources/icons/alternate_foods.png
new file mode 100644
index 0000000..e6291f0
Binary files /dev/null and b/src/Client/src/main/resources/icons/alternate_foods.png differ
diff --git a/src/Client/src/main/resources/icons/co2dev.png b/src/Client/src/main/resources/icons/co2dev.png
new file mode 100644
index 0000000..8cfce28
Binary files /dev/null and b/src/Client/src/main/resources/icons/co2dev.png differ
diff --git a/src/Client/src/main/resources/icons/solar_panels.jpeg b/src/Client/src/main/resources/icons/solar_panels.jpeg
new file mode 100644
index 0000000..f597414
Binary files /dev/null and b/src/Client/src/main/resources/icons/solar_panels.jpeg differ
diff --git a/src/Server/src/main/java/greenify/server/service/UserService.java b/src/Server/src/main/java/greenify/server/service/UserService.java
index a1ccb05..c2a68f9 100644
--- a/src/Server/src/main/java/greenify/server/service/UserService.java
+++ b/src/Server/src/main/java/greenify/server/service/UserService.java
@@ -276,6 +276,7 @@ public class UserService {
*/
public Map getAchievements(String name) {
User user = userRepository.findByName(name);
+ achievementService.updateAchievements(user);
return user.getAchievements();
}