Skip to content

Commit 1bb4492

Browse files
committed
Get client profile picture from data/images folder
1 parent f74aa1c commit 1bb4492

1 file changed

Lines changed: 10 additions & 6 deletions

File tree

src/main/java/seedu/address/ui/ClientInfoPage.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -174,18 +174,22 @@ private void initializeProfile() {
174174
.sorted(Comparator.comparing(tag -> tag.tagName))
175175
.forEach(tag -> tags.getChildren().add(new Label(tag.tagName)));
176176
try {
177-
this.imgProfile.setImage(retrieveImage());
177+
Image clientProfileImage = retrieveImage(client.getName().fullName);
178+
if (clientProfileImage.getException() == null) {
179+
// no exception means client profile image existed
180+
this.imgProfile.setImage(clientProfileImage);
181+
}
178182
} catch (NullPointerException | IllegalArgumentException e) {
183+
assert false : "Should not reach here";
179184
logger.info("Invalid image url, using default image\nException: " + e);
180185
}
181186

182187
}
183188

184-
private Image retrieveImage() {
185-
// Set image based on client's name first character. Skipping if invalid url found.
186-
// Just to make the app a bit nicer with real human image
187-
return new Image("/images/profile-"
188-
+ ((client.getName().fullName.toLowerCase().charAt(0) - 'a') / 6 + 1) + ".jpg");
189+
private Image retrieveImage(String fullname) {
190+
// find image based on client's fullname, in lower case, dashed. Example: Alex Yeoh -> profile-alex-yeoh.jpg
191+
String sluggedName = String.join("-", fullname.split("\\s+")).toLowerCase();
192+
return new Image("file:data/images/profile-" + sluggedName + ".jpg");
189193
}
190194

191195
@SuppressWarnings("unchecked")

0 commit comments

Comments
 (0)