Skip to content

Fix for direct addition of custom exercise from Diary page.#672

Merged
CodeWithCJ merged 4 commits intomainfrom
dev
Feb 15, 2026
Merged

Fix for direct addition of custom exercise from Diary page.#672
CodeWithCJ merged 4 commits intomainfrom
dev

Conversation

@CodeWithCJ
Copy link
Owner

#560

Fix for direct addition of custom exercise from Diary page. Adjusted UUID to it doesn't error out due to dummy text id for the exercise

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @CodeWithCJ, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request addresses a critical bug preventing the direct addition of custom exercises from the Diary page due to an incorrect ID assignment. By modifying the exercise creation process to utilize the actual ID returned from the backend, the system now ensures that newly added custom exercises are properly identified and integrated, enhancing the user experience and data integrity.

Highlights

  • Custom Exercise ID Handling: The AddExerciseDialog component has been updated to correctly use the actual ID of a newly created custom exercise. Previously, a placeholder 'temp-id' was used, which could lead to issues when adding exercises directly from the Diary page.
  • Improved Exercise Creation Flow: The createExercise function now returns the newly created exercise object, which is then passed directly to the onExerciseAdded callback, ensuring accurate data propagation.
Changelog
  • SparkyFitnessFrontend/src/pages/Exercises/AddExerciseDialog.tsx
    • Modified the createExercise call to capture its return value.
    • Updated the onExerciseAdded callback to receive the actual createdExercise object instead of a hardcoded temporary ID.
Activity
  • No specific activity has been recorded for this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

The changes in this pull request correctly address the issue where a temporary ID was being used when adding a custom exercise from the Diary page. By capturing the actual exercise object returned from the server and passing it to the onExerciseAdded callback, the application now uses the correct database-generated ID, preventing potential errors in subsequent operations. The code is cleaner and more robust after removing the placeholder logic. I have noted one minor improvement regarding state management in the review comments to ensure the form is fully cleared after a successful addition.

'custom'
);

onExerciseAdded(createdExercise, 'custom');
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

While updating this function to use the returned exercise, I noticed that the manualCaloriesPerHour state is not reset along with the other form fields at the end of the handleAddCustomExercise function (lines 150-163). Consider adding setManualCaloriesPerHour(undefined); to the reset logic to ensure the form is fully cleared for the next time the dialog is opened.

@CodeWithCJ CodeWithCJ merged commit 02ceded into main Feb 15, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant