Go to file
Inês Simões 1517e0512e
[UI/UX] [Feature] Save Management Tool (Rename/Delete Saves) (#5978)
* Implement Name Run Feat
Modified load session ui component, adding a submenu when selecting a 3
slot. This menu has 4 options:
Load Game -> Behaves as before, allowing the player to continue
progress from the last saved state in the slot.

Rename Run -> Overlays a rename form, allowing the player to type a
name for the run, checking for string validity, with the option to
cancel or confirm (Rename).

Delete Run -> Prompts user confirmation to delete save data, removing
the current save slot from the users save data.

Cancel -> Hides menu overlay.

Modified game data to implement a function to accept and store
runNameText to the users data.

Modified run info ui component, to display the chosen name when
viewing run information.

Example: When loading the game, the user can choose the Load Game
menu option, then select a save slot, prompting the menu, then choose
"Rename Run" and type the name "Monotype Water Run" then confirm,
thus being able to better organize their save files.

Signed-off-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Co-authored-by: Inês Simões <ines.p.simoes@tecnico.ulisboa.pt>

* Implement Rename Input Design and Tests for Name Run Feat
Created a test to verify Name Run Feature behaviour in the
backend (rename_run.test.ts), checking possible errors and
 expected behaviours.

Created a UiHandler RenameRunFormUiHandler
(rename-run-ui-handler.ts), creating a frontend input
overlay for the Name Run Feature.

Signed-off-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Co-authored-by: Inês Simões <ines.p.simoes@tecnico.ulisboa.pt>

* Fixed formating and best practices issues:
Rewrote renameSession to be more inline with other
API call funtions, removed debugging comments and
whitespaces.

Signed-off-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Co-authored-by: Inês Simões <ines.p.simoes@tecnico.ulisboa.pt>

* Minor Sanitization for aesthetics
Deleting the input when closing the overlay for
aesthetics purpose

Signed-off-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Co-authored-by: Inês Simões <ines.p.simoes@tecnico.ulisboa.pt>

* Fixed minor rebase alterations.

Signed-off-by: Matheus Alves matheus.r.noya.alves@tecnico.ulisboa.pt
Co-authored-by: Inês Simões ines.p.simoes@tecnico.ulisboa.pt

* Implemented Default Name Logic
Altered logic in save-slot-select-ui-handler.ts to
support default naming of runs based on the run
game mode with decideFallback function.

In game-data.ts, to prevent inconsistent naming,
added check for unfilled input, ignoring empty
rename requests.

Signed-off-by: Matheus Alves matheus.r.noya.alves@tecnico.ulisboa.pt
Co-authored-by: Inês Simões ines.p.simoes@tecnico.ulisboa.pt

* Replace fallback name logic: use first active challenge instead
of game mode

Previously used game mode as the fallback name, updated to use the
first active challenge instead (e.g. Monogen or Mono Type), which
better reflects the run's theme.
Signed-off-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Co-authored-by: Inês Simões <ines.p.simoes@tecnico.ulisboa.pt>

* Rebasing and conflict resolution

Signed-off-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Co-authored-by: Inês Simões <ines.p.simoes@tecnico.ulisboa.pt>

* Lint fix

Signed-off-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Co-authored-by: Inês Simões <ines.p.simoes@tecnico.ulisboa.pt>

* Minor compile fix

* Dependency resolved

* Format name respected

* Add all active challenges to default challenge session name if possible

If more than 3 challenges are active, only the first 3 are added
to the name (to prevent the text going off-screen)
and then "..." is appended to the end to indicate
there were more challenges active than the ones listed

* Allow deleting malformed sessions

---------

Signed-off-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Signed-off-by: Matheus Alves matheus.r.noya.alves@tecnico.ulisboa.pt
Co-authored-by: Matheus Alves <matheus.r.noya.alves@tecnico.ulisboa.pt>
Co-authored-by: Wlowscha <54003515+Wlowscha@users.noreply.github.com>
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: Sirz Benjie <142067137+SirzBenjie@users.noreply.github.com>
2025-08-13 20:08:12 -05:00
.github [GitHub] Update .github/CODEOWNERS file (#6240) 2025-08-09 03:18:40 +00:00
docs [Docs] Fix typos in localization.md (#6076) 2025-07-09 22:15:16 +00:00
public [Audio] Add new Desert and Fairy Cave biome music (#6257) 2025-08-11 18:09:52 -04:00
scripts [Test] Add support for custom boilerplates to create-test.js (#6158) 2025-07-28 18:51:43 +00:00
src [UI/UX] [Feature] Save Management Tool (Rename/Delete Saves) (#5978) 2025-08-13 20:08:12 -05:00
test [UI/UX] [Feature] Save Management Tool (Rename/Delete Saves) (#5978) 2025-08-13 20:08:12 -05:00
.dependency-cruiser.cjs [Dev] Migrate from npm to pnpm (#6018) 2025-06-23 17:05:59 -07:00
.editorconfig [Misc] add .editorconfig (#5246) 2025-02-03 18:55:44 +01:00
.env Beta Merge 27/07 (#3141) 2024-07-28 00:47:00 +01:00
.env.beta [Misc] Disable some leftover debug code (#4546) 2024-10-02 13:13:16 -04:00
.env.development [Test] Reworked crit override to allow for forced crits (#5738) 2025-06-16 05:36:09 -07:00
.env.production Beta Merge 27/07 (#3141) 2024-07-28 00:47:00 +01:00
.env.test Beta Merge 27/07 (#3141) 2024-07-28 00:47:00 +01:00
.gitattributes [Misc] Add * -crlf to .gitattributes (#5539) 2025-03-18 21:52:49 -04:00
.gitignore [Docs] Added changes to markdown files + comment fixes (#5682) 2025-05-02 00:24:37 +00:00
.gitmodules [Refactor] External locales (#4529) 2024-10-01 23:41:09 +01:00
.ls-lint.yml [Test] Added custom equality matchers (#6157) 2025-07-27 20:16:04 +00:00
.nvmrc [Dev][GitHub] Update to node 22 (#5586) 2025-04-14 12:37:26 -05:00
biome.jsonc [Test] Port over + augment remaining test matchers from pkty (#6159) 2025-08-02 15:35:06 -07:00
CONTRIBUTING.md [Misc] Standardize-file-names (#6137) 2025-07-24 16:38:31 -04:00
CREDITS.md [Art][Sprite] Improve Plains Background, add Biome Props (#6118) 2025-07-19 02:04:15 -04:00
favicon.ico Replace favicon with no BG version 2024-03-25 12:45:45 -04:00
global.d.ts [Test] Port over + augment remaining test matchers from pkty (#6159) 2025-08-02 15:35:06 -07:00
index.css [UI/UX] Autofill login text color changed to gray (#5523) 2025-03-25 18:06:28 -07:00
index.html [Misc] Remove debug.js reference from index.html 2025-06-07 17:37:09 -07:00
lefthook.yml [Misc] Standardize-file-names (#6137) 2025-07-24 16:38:31 -04:00
LICENSE Update license to AGPL 3 2024-03-25 19:22:58 -04:00
package.json [Dev] pnpm biome will now only display errors by default (#6187) 2025-07-31 20:06:38 -06:00
pnpm-lock.yaml [Dev] Update Vite from 6.3.5 to 7.0.6 (#6163) 2025-07-29 15:59:41 +00:00
pnpm-workspace.yaml [Dev] Remove warnings from pnpm interactions (#6061) 2025-07-04 04:08:53 +00:00
README.md [Misc] Add CONTRIBUTING.md and rewrite README.md (#5621) 2025-06-20 23:59:28 -07:00
tsconfig.json [Dev] Moved type helpers to separate directory; (#6123) 2025-07-30 18:17:17 -07:00
tsdoc.json [Docs] Add @module modifier tag to tsdoc.json 2025-07-27 18:03:34 -07:00
typedoc.json [Dev] Move typedoc settings to typedoc.json and add tsdoc.json 2025-07-15 23:28:02 -07:00
vite.config.ts [Misc][Refactor][GitHub] Ditch eslint for biome, and add a formatter (#5495) 2025-03-09 14:13:25 -07:00
vitest.config.ts [Test] Added custom equality matchers (#6157) 2025-07-27 20:16:04 +00:00

PokéRogue

PokéRogue is a browser based Pokémon fangame heavily inspired by the roguelite genre. Battle endlessly while gathering stacking items, exploring many different biomes, fighting trainers, bosses, and more!

Contributing

See CONTRIBUTING.md, this includes instructions on how to set up the game locally.

📝 Credits

If this project contains assets you have produced and you do not see your name, please reach out, either here on GitHub or via Discord.

Thank you to all the wonderful people that have contributed to the PokéRogue project! You can find the credits here.