Skip to content

Conversation

@jamiya-begam-k-17
Copy link

@jamiya-begam-k-17 jamiya-begam-k-17 commented Jan 1, 2026

✅ PR Checklist

Tip

Please check the boxes below to confirm you followed the contribution guidelines:

  • My PR title follows the format: [Type]: clear description of change
  • I used the correct type: Feature, Fix, Refactor, Docs, Test, Chore
  • I reviewed my code and removed unnecessary debug logs or comments.
  • I tested my changes and verified they work as expected.
  • I ran the project to confirm it compiles and runs correctly.
  • I read the Code of Conduct and the Contribution Guidelines.

📝 What does this PR do?

  • Added a contributors list section to acknowledge and display project contributors.
  • It has a star badge, currently it uses built-in badge matching the theme near the dino, and when user clicks it - it opens a 'credits' page.
  • The page contains title as 'credits', subtitle saying "Thank you to all our contributors", and the list of contributors with their name, avatar, no of commits in grid view and a 'back' button finally.
  • I couldn't add credits button as we don't have enough space.
  • In the grid box it only fetches the default value of 30 and shows two contributors per row.
  • Ensured layout and spacing remain consistent with the current menu design.

🔗 Related Issue

Link to the issue this PR addresses (if any)

📸 Screenshots / Demos (if applicable)

image image

💬 Extra Notes (Optional)

  • I planned to add paginations 10 contributers per page with sorting and filtering options.
  • And when clicking the contributors it opens their profile in gitHub
  • As it is my first time writing JavaFX & FXGL and THIS clean code I couldn't do it in time.
  • Thanks for letting me do this issue.
  • I may add these features in upcoming versions if I have time.
  • And I am not sure this code is clean or not but I tried my best and I open for suggestions and feedback.
  • So please drop your feedback and correct my code if I am wrong.

❤️ Thanks again for your contribution to Dinosaur Exploder!
Your efforts help make this project awesome for everyone. 🦖✨

@vercel
Copy link

vercel bot commented Jan 1, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Review Updated (UTC)
dinosaur-exploder Ignored Ignored Preview Jan 8, 2026 0:59am

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

💄Spotless - Format

[💄Spotless - Format] reported by reviewdog 🐶


[💄Spotless - Format] reported by reviewdog 🐶


[💄Spotless - Format] reported by reviewdog 🐶

private Label createUsernameLabel(String username) {


[💄Spotless - Format] reported by reviewdog 🐶

"-fx-font-family: 'Public Pixel';"
+ "-fx-font-size: 14px;"
+ "-fx-text-fill: #00FF00;"
+ "-fx-font-weight: bold;"
+ "-fx-effect: dropshadow(gaussian, black, 4, 1.0, 0, 0);");


[💄Spotless - Format] reported by reviewdog 🐶


[💄Spotless - Format] reported by reviewdog 🐶

private Label createContributionsLabel(int contributions) {
String text = contributions + " " + languageManager.getTranslation("commits");
Label label = new Label(text);
label.setStyle(
"-fx-font-family: 'Public Pixel';"
+ "-fx-font-size: 12px;"
+ "-fx-text-fill: #FFFF00;"
+ "-fx-font-weight: bold;"
+ "-fx-effect: dropshadow(gaussian, black, 3, 1.0, 0, 0);");
return label;
}
private void setupHoverEffect(VBox box) {
box.setOnMouseEntered(
e -> {
box.setStyle(
"-fx-background-color: rgba(0, 80, 0, 0.98);"
+ "-fx-background-radius: 10;"
+ "-fx-border-color: rgba(0, 255, 0, 1);"
+ "-fx-border-width: 3;"
+ "-fx-border-radius: 10;"
+ "-fx-effect: dropshadow(gaussian, rgba(0, 255, 0, 0.9), 15, 0.8, 0, 0);");
box.setCursor(javafx.scene.Cursor.HAND);
});
box.setOnMouseExited(
e -> box.setStyle(
"-fx-background-color: rgba(0, 0, 0, 0.8);"
+ "-fx-background-radius: 10;"
+ "-fx-border-color: rgba(0, 220, 0, 0.5);"
+ "-fx-border-width: 1;"
+ "-fx-border-radius: 10;"));
}
private void loadAvatarAsync(String avatarUrl, ImageView avatarView) {
CompletableFuture.supplyAsync(
() -> {
try {
return new Image(avatarUrl, AVATAR_SIZE, AVATAR_SIZE, true, true, true);
} catch (Exception e) {
return createPlaceholderAvatar();
}
})
.thenAccept(image -> Platform.runLater(() -> avatarView.setImage(image)));
}
private Image createPlaceholderAvatar() {
try {
InputStream stream = getClass().getResourceAsStream(GameConstants.GAME_LOGO_DINOSAUR);
if (stream != null) {
return new Image(stream, AVATAR_SIZE, AVATAR_SIZE, true, true);
}
} catch (Exception e) {
System.err.println("Error loading placeholder: " + e.getMessage());
}
return null;


[💄Spotless - Format] reported by reviewdog 🐶


[💄Spotless - Format] reported by reviewdog 🐶


[💄Spotless - Format] reported by reviewdog 🐶


[💄Spotless - Format] reported by reviewdog 🐶

import javafx.scene.text.Text;
import javafx.scene.effect.DropShadow;


[💄Spotless - Format] reported by reviewdog 🐶


[💄Spotless - Format] reported by reviewdog 🐶


[💄Spotless - Format] reported by reviewdog 🐶

backgroundView, titlePane, dinoImage, creditsBadge, muteIcon, languageBox, volumeSlider, volumeText);


[💄Spotless - Format] reported by reviewdog 🐶

badge.setOnMouseClicked(event -> {
FXGL.getSceneService().pushSubScene(new CreditsMenu());
});


[💄Spotless - Format] reported by reviewdog 🐶

badge.setOnMouseEntered(event -> {
badge.setScaleX(1.2);
badge.setScaleY(1.2);
badge.setCursor(javafx.scene.Cursor.HAND);
});


[💄Spotless - Format] reported by reviewdog 🐶

badge.setOnMouseExited(event -> {
badge.setScaleX(1.0);
badge.setScaleY(1.0);
});


[💄Spotless - Format] reported by reviewdog 🐶

background, title, startButton, quitButton, dino, creditsBadge, mute, volumeText, volume, language);;

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👋 Hello @jamiya-begam-k-17, thank you for submitting in Dinosaur Exploder 🦖 PR! To allow your work to be integrated as seamlessly as possible, we advise you to:

  • ✅ Verify your PR is up-to-date with the repository /dinosaur-exploder main branch. If your PR is behind you can update your code by clicking the 'Update branch' button or by running git pull and git merge master locally.
  • ✅ Verify all Dinosaur Exploder Continuous Integration (CI) checks are passing.
  • ✅ Verify that you have well fill out the different checkboxes in the PR template.
  • ⚠️ Check that your code is clean: no code redundancy, variable and method names are correct, your code is understandable to everyone, and so on.
  • 💡 Reduce changes to the absolute minimum required for your bug fix or feature addition. "It is not daily increase but daily decrease, hack away the unessential. The closer to the source, the less wastage there is." — Bruce Lee

@github-actions
Copy link
Contributor

github-actions bot commented Jan 1, 2026

✅ Code Formatting Check Passed!

badge

Great job! 🎉 Your code follows the Google Java Style Guide.


🤖 The DinoBot Team 🦖

@github-actions
Copy link
Contributor

github-actions bot commented Jan 1, 2026

Build preview 🚀

badge

Thanks for your contribution to this open-source project! ❤️

A new build has been generated for this pull request:

  • 🎮 Game Artifacts: 🐧 Linux / 🍎 macOS / 🪟 Windows
  • 🧪 Workflow Run: View Logs
  • 🔖 Commit: a3a68d18256f1d6716f3773bf9e374defb970bae

Tip

This JAR lets you test the latest version of the game from this PR.

Note: Artifacts auto-expire after ~90 days.

Happy testing & enjoy the game! 🎮

The DinoBot Team 🦖

@jvondermarck
Copy link
Owner

That's so insane from what I see on your screenshot. Unfortunately I am on holidays so looking from my phone. I will review it mid january ' But I can say good work, I like it !

Please just fix the Sonarqube issues : https://sonarcloud.io/project/issues?issueStatuses=OPEN%2CCONFIRMED&pullRequest=289&types=BUG&severities=BLOCKER%2CCRITICAL%2CMAJOR%2CMINOR&inNewCodePeriod=true&sinceLeakPeriod=true&id=jvondermarck_dinosaur-exploder

@jvondermarck jvondermarck added the status: in-review PR currently in review label Jan 1, 2026
@jamiya-begam-k-17
Copy link
Author

jamiya-begam-k-17 commented Jan 4, 2026

That's so insane from what I see on your screenshot. Unfortunately I am on holidays so looking from my phone. I will review it mid january ' But I can say good work, I like it !

Please just fix the Sonarqube issues : https://sonarcloud.io/project/issues?issueStatuses=OPEN%2CCONFIRMED&pullRequest=289&types=BUG&severities=BLOCKER%2CCRITICAL%2CMAJOR%2CMINOR&inNewCodePeriod=true&sinceLeakPeriod=true&id=jvondermarck_dinosaur-exploder

Hello,
I looked into the SonarQube issues related to the scrollbar CSS.
It seems these warnings come from JavaFX-specific pseudo-classes like :vertical. They are required for JavaFX styling and work correctly at runtime, but SonarQube’s CSS rules don’t recognize them since JavaFX CSS is a bit different from standard web CSS.
I tried alternative selectors to satisfy SonarQube and I also tried programmatic node lookup but both failed for the green scroll bar that causes JavaFX to fall back to the default scrollbar styling which is white.

So would you be okay with excluding JavaFX CSS files from SonarQube analysis or ok with default white scroll bar or do you prefer another approach here? Happy to follow your recommendation.

# Conflicts:
#	src/main/resources/assets/translation/english.json
#	src/main/resources/assets/translation/french.json
#	src/main/resources/assets/translation/german.json
#	src/main/resources/assets/translation/greek.json
#	src/main/resources/assets/translation/japanese.json
#	src/main/resources/assets/translation/portuguese.json
#	src/main/resources/assets/translation/russian.json
#	src/main/resources/assets/translation/spanish.json
@sonarqubecloud
Copy link

sonarqubecloud bot commented Jan 8, 2026

Copy link
Owner

@jvondermarck jvondermarck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, I excluded the css files to be executed by Sonar !

I also updated the code to remove the grid if there is the loading or the error in the credits. So it avoids taking empty spaces so now there isn't anymore the big empty space between the subtitle and the grid if there is no loading and no error message.

Image

Now there are 5 sonar issues to fix, I guess you can easily solve them, please tell me if you need help !! @jamiya-begam-k-17 -> https://sonarcloud.io/project/issues?id=jvondermarck_dinosaur-exploder&pullRequest=289&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true

@jvondermarck jvondermarck added status: pending-request-changes Request changes from the contributor and removed status: in-review PR currently in review labels Jan 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status: pending-request-changes Request changes from the contributor

Projects

Development

Successfully merging this pull request may close these issues.

[Feature]: Update the Credits Screen with dynamic contributor avatars from GitHub

2 participants