Skip to content

feat(frontend): allow continue anyway in unavailable exe path alert dialog#1375

Merged
UNIkeEN merged 1 commit intomainfrom
feat/exe-path-alert-btn-continue
Feb 14, 2026
Merged

feat(frontend): allow continue anyway in unavailable exe path alert dialog#1375
UNIkeEN merged 1 commit intomainfrom
feat/exe-path-alert-btn-continue

Conversation

@UNIkeEN
Copy link
Owner

@UNIkeEN UNIkeEN commented Feb 14, 2026

Checklist

  • Changes have been tested locally and work as expected.
  • All tests in workflows pass successfully.
  • Documentation has been updated if necessary.
  • Code formatting and commit messages align with the project's conventions.
  • Comments have been added for any complex logic or functionality if possible.

This PR is a ..

  • 🆕 New feature
  • 🐞 Bug fix
  • 🛠 Refactoring
  • ⚡️ Performance improvement
  • 🌐 Internationalization
  • 📄 Documentation improvement
  • 🎨 Code style optimization
  • ❓ Other (Please specify below)

Related Issues

  • Describe the source of related requirements, such as links to relevant issue discussions.
  • e.g. close #xxxx, fix #xxxx

Description

  • Please insert your description here and provide info about the "what" this PR is solving.

Additional Context

  • Add any other relevant information or screenshots here.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds a "Continue Anyway" option to the unavailable executable path alert dialog, allowing users to proceed despite running SJMCL from a temporary or invalid directory. Previously, users could only exit the application when this warning appeared.

Changes:

  • Added "btnContinue" translation key to English and Simplified Chinese locale files
  • Modified the alert dialog to include a "Continue" button alongside the existing "Exit" button
  • Restructured the dialog footer to use an HStack for button grouping

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
src/locales/zh-Hans.json Added Simplified Chinese translation "仍要运行" for the continue button
src/locales/en.json Added English translation "Run Anyway" for the continue button
src/components/modals/unavailable-exe-path-alert-dialog.tsx Added continue button with ghost variant that calls onClose handler, reorganized footer layout with HStack

"title": "Unsafe Execution Path",
"content": "SJMCL is currently running from a temporary or invalid directory. Your settings and game data may be lost. Please move SJMCL to another location and run it again."
"content": "SJMCL is currently running from a temporary or invalid directory. Your settings and game data may be lost. Please move SJMCL to another location and run it again.",
"btnContinue": "Run Anyway"
Copy link

Copilot AI Feb 14, 2026

Choose a reason for hiding this comment

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

The new translation key "btnContinue" is missing from the Traditional Chinese locale file (zh-Hant.json). All locale files should be updated consistently to ensure the feature works correctly for all supported languages. Add the translation for "Run Anyway" in Traditional Chinese.

Copilot uses AI. Check for mistakes.
{t("General.exit")}
</Button>
<HStack ml="auto" spacing={3}>
<Button variant="ghost" onClick={onClose}>
Copy link

Copilot AI Feb 14, 2026

Choose a reason for hiding this comment

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

The "Continue" button should be assigned the cancelRef to mark it as the least destructive action in the AlertDialog. In Chakra UI AlertDialog, the leastDestructiveRef should point to the button that performs the safer, non-destructive action (continuing) rather than the destructive action (exiting). Add ref={cancelRef} to the Button with variant="ghost" at line 52.

Suggested change
<Button variant="ghost" onClick={onClose}>
<Button ref={cancelRef} variant="ghost" onClick={onClose}>

Copilot uses AI. Check for mistakes.
"title": "Unsafe Execution Path",
"content": "SJMCL is currently running from a temporary or invalid directory. Your settings and game data may be lost. Please move SJMCL to another location and run it again."
"content": "SJMCL is currently running from a temporary or invalid directory. Your settings and game data may be lost. Please move SJMCL to another location and run it again.",
"btnContinue": "Run Anyway"
Copy link

Copilot AI Feb 14, 2026

Choose a reason for hiding this comment

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

The new translation key "btnContinue" is missing from the French locale file (fr.json). All locale files should be updated consistently to ensure the feature works correctly for all supported languages. Add the translation for "Run Anyway" in French.

Copilot uses AI. Check for mistakes.
"title": "Unsafe Execution Path",
"content": "SJMCL is currently running from a temporary or invalid directory. Your settings and game data may be lost. Please move SJMCL to another location and run it again."
"content": "SJMCL is currently running from a temporary or invalid directory. Your settings and game data may be lost. Please move SJMCL to another location and run it again.",
"btnContinue": "Run Anyway"
Copy link

Copilot AI Feb 14, 2026

Choose a reason for hiding this comment

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

The new translation key "btnContinue" is missing from the Japanese locale file (ja.json). All locale files should be updated consistently to ensure the feature works correctly for all supported languages. Add the translation for "Run Anyway" in Japanese.

Suggested change
"btnContinue": "Run Anyway"
"btnContinue": "とにかく実行"

Copilot uses AI. Check for mistakes.
@UNIkeEN UNIkeEN merged commit b65a18b into main Feb 14, 2026
8 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