Commit Graph

297 Commits

Author SHA1 Message Date
Martin Fournier
26432082e2 Add an import save comparison page
This adds a new page reachable from the import save file
options menu. It shows the difference between the current save
and the data that is being imported, for confirmation.

Includes an "automatic" variant, which has different wording for when
Electron decides it has access to a newer version of the game.

While in this screen, the autosave is disabled.

This also adds a new BypassWrapper component around the game's tree.
It allows for content to be displayed without rendering the nested
pages (import, recovery). This prevents player scripts from messing
with the screen.
2022-01-26 03:56:17 -05:00
Martin Fournier
974344545d Move import save functionality into SaveObject
Adds a lot of metadata to be able to easily compare the new save to the
current player.

- Adds lastSaved & identifier to the PlayerObject
- Includes a hash method used to generate an identifier
2022-01-26 03:42:52 -05:00
hydroflame
2f36fb107f
Merge pull request #2803 from MartinFournier/feat/github-actions
Adds GitHub workflows to fetch a changelog & to bump the app's version
2022-01-26 00:52:06 -05:00
hydroflame
7a5dfd0e72
Merge pull request #2707 from MartinFournier/feature/theme-browser
Add Theme Browser accessible from GameOptions
2022-01-26 00:46:17 -05:00
Martin Fournier
8a2cad6c4a Reset styles for html changelogs in getUpdateText
Adds an optional sxProps to the DialogBox component.
2022-01-25 10:20:36 -05:00
nickofolas
259071e3d5 Align slider endpoints in settings 2022-01-21 16:32:32 -06:00
Martin Fournier
a26b9c8dcf Add theme browser page accessible from game options
Removed the themes buttons that were in the ThemeEditorModal and only
left a "Revert to Default" button along with a link to the ThemeBrowser
page.

Split off the buttons into reusable components since they are now used
in two pages.

Display the themes in big cards with a zoomable screenshot. Applying the
theme now shows a toast with an option to undo the action.

The snackbar now allows ReactNode instead of only strings.

- Add link with details on how to create a new theme in the game.
- Add link to the theme-sharing discord channel.
- Add icons to the theme & style buttons in GameOptions
- Add "Theme Editor" button to ThemeBrowser
- Add "Style Editor" button to ThemeBrowser
- Move Styles related files into Themes folder
- Includes a modal that shows a bigger version of the screenshot.
- Change Snackbar to allow for ReactNode as the message
2022-01-20 18:41:49 -05:00
Martin Fournier
a9e2e35446 Move theme related things into its own subfolder
This will make contributions easier and less prone to conflicts.
2022-01-20 18:41:48 -05:00
Olivier Gagnon
77f525c98c rm blob caching 2022-01-20 16:11:48 -05:00
Olivier Gagnon
53727f6222 typo 2022-01-18 19:20:16 -05:00
nickofolas
eb7a0ebace Use background primary before #000000 for body 2022-01-18 16:15:36 -06:00
hydroflame
c5089ab82a Merge pull request #2664 from MartinFournier/feature/recovery
Add information to the recovery page
2022-01-17 16:05:00 -05:00
hydroflame
1d83247f8d
Merge pull request #2671 from gianfun/fix_ns_tail_behavior
Fix ns.tail() behaviour for multiple calls
2022-01-17 16:01:34 -05:00
Gian P
e38010a9a4 Revert "Logs button reopens log window"
This reverts commit 01efd372e95628d419575ade0e6536a458fd61d2.
2022-01-16 18:21:02 -03:00
Martin Fournier
65964c84b2 Add information to the recovery page
Adds error & environment information to the recovery page when
available. The info will be displayed when the error boundary catches an error only.

Otherwise, does a few minor tweaks to the UI of the page.

- Add DevPage button to throw an uncaught error to go into recovery
- Add "Delete Save" button in recovery from Game Options (refactored into its own
component)
- Use "Soft Reset" button from Game Options (refactored into its own
component)
- The "Soft Reset" & "Delete Save" buttons now have confirmations
- Add tooltip on "Disable Recovery Mode" button
- Add timestamp to the RECOVERY.json filename
- Add textarea containing markdown with the current error details, if
available
  - Error
  - Page
  - Version
  - Environment
  - Platform
  - UserAgent
  - Features
  - Source
  - Stack Trace
- Change GitHub new issue link to contain default body & title, if possible
- Change links to not take the full width (they were clickable by mistake)
- Fix "Disable Recovery Mode" not resetting the ErrorBoundary's state,
making going back to terminal impossible
2022-01-16 09:07:53 -05:00
Cyn
8d7b71c5aa Prevent dragging log window off screen & reset log window position if resized off screen 2022-01-15 20:52:02 -05:00
SlyCedix
c25067c062 bound log box to parent div 2022-01-15 20:52:02 -05:00
hydroflame
a454e21977
Merge branch 'dev' into feature-catch-errors-and-softreset-recovery 2022-01-15 18:00:33 -05:00
hydroflame
0db08c3477
Merge pull request #2476 from nickofolas/reopen-log-windows
Logs button reopens log window
2022-01-15 17:18:59 -05:00
nickofolas
0359229af6 Grid-align buttons in location UIs (and options) 2022-01-15 10:21:45 -06:00
Olivier Gagnon
5126d72742 rm some stuff from netdef to make it work in-game 2022-01-13 14:26:05 -05:00
Martin Fournier
6633c00f5d Clear timers when unmounting CorruptableText
The interval was cleared, but not the setTimeout to replace the character
2022-01-13 09:34:08 -05:00
hydroflame
d274e21a10
Merge pull request #2596 from MartinFournier/feature/ns-ui-styles
Add ns.ui.[getStyles, setStyles, resetStyles]
2022-01-12 19:18:54 -05:00
Martin Fournier
0a2187bdf5 Revert "Add toPreviousPage in router"
This reverts commit b0bc3236fdcd2c9f6cfb9c540010e9520c2cbe01.
2022-01-12 18:49:53 -05:00
Martin Fournier
9b638b911f Add ns.ui.[getStyles, setStyles, resetStyles]
Adds three Netscript functions to manipulate the user's styles like the
player can with theme.
2022-01-12 18:34:05 -05:00
Martin Fournier
9d0a63734d Add details to work in overview
Add a reusable component for the focus section, add a bit of details &
some styling.
2022-01-11 20:46:34 -05:00
nickofolas
a41104f51a Add tooltips to unfocused work 2022-01-11 17:46:59 -06:00
TheMas3212
562d4ee800 Add ErrorBoundary component to catch rendering error and redirect to recovery page
also add softreset button on recovery page
2022-01-12 09:43:58 +11:00
Martin Fournier
b22eb58aba Add option to exclude running scripts from save 2022-01-11 16:48:00 -05:00
Martin Fournier
b0bc3236fd Add toPreviousPage in router
- Allows the WorkInProgress cancel & unfocus to go back to the previous
page instead of a default one.
- Change layout of overview buttons
- Add a back button in the overview, only visible in pages with a
sidebar
- Clear the history on augmentation install & on prestige
2022-01-11 09:38:52 -05:00
Martin Fournier
7ee2612c17 Allow drag on character overview
Makes the character overview (and tutorial) draggable, persisting the
{x, y, opened} in the user's settings.

- Remove margin & padding from html, body and ensure main content is
full height
- Add setting to disable progress bars
- Refactor options to use new OptionSwitch
- Add exclusions to prettierignore
- Specify line ending in prettier & gitattributes
2022-01-10 07:37:01 -05:00
Olivier Gagnon
d8a5f5b03c many fixes 2022-01-09 15:24:32 -05:00
hydroflame
f6bc3b0b5e
Merge pull request #2495 from TheMas3212/fix-2163
Clear input field for CodingContractModal after submission
2022-01-09 13:01:34 -05:00
hydroflame
ee07942d3e
Merge pull request #2500 from MartinFournier/fix/server-list-alphabetical
Sort server list alphabetically
2022-01-09 12:58:54 -05:00
Martin Fournier
0ede6c4295 Add fontFamily & lineHeight settings 2022-01-09 08:40:57 -05:00
Martin Fournier
d6fa672fac Sort server list alphabetically 2022-01-09 05:43:50 -05:00
TheMas3212
5901312184
Clear input field for CodingContractModal after submission 2022-01-09 15:26:36 +11:00
nickofolas
01efd372e9 Logs button reopens log window 2022-01-08 14:31:58 -06:00
hydroflame
20ca1239df
Merge pull request #2229 from FaintSpeaker/update-theme-engine-missing-elements
Update theme engine to cover some themeless elements
2022-01-08 14:13:53 -05:00
hydroflame
8d7bc1755c
Merge pull request #2429 from MartinFournier/fix/export-bonus
Fix export bonus not being applied when using options menu
2022-01-08 12:43:28 -05:00
hydroflame
30f5559bdf
Merge pull request #2441 from Feodoric/fix-duplicate-messages
fix #2174 - icarus message will no longer stack infinitely
2022-01-08 12:42:19 -05:00
Martin Fournier
2b0a248673 Make toasts appear above tail popups 2022-01-08 10:07:35 -05:00
Russell Stringer
1cb65e3f31 fix #2174 - icarus message will no longer stack an unbounded number of alerts
AlertManager now stores a hash for each incoming alert and compares the
hash of any newly arriving alert against those still in the queue.
2022-01-07 15:19:36 -05:00
Martin Fournier
3562671772 Add SaveTimestamp to saveString, used in import 2022-01-07 09:02:35 -05:00
Martin Fournier
46fe8cc94c Change SuppressSaveToast to only work on auto-save
Before this, this setting also suppressed the toast for the manual clicks.
2022-01-05 14:56:28 -05:00
Olivier Gagnon
4860d6dc83 Merge branch 'dev' of github.com:danielyxie/bitburner into dev 2022-01-04 19:09:38 -05:00
Olivier Gagnon
c59a267437 change sf4 2022-01-04 19:09:34 -05:00
nickofolas
c445df4168 Allow notifications to be dismissed by clicking 2022-01-04 16:25:00 -06:00
Martin Fournier
dfabc0ac11 Fix import save issue with large files
The base64 regex was throwing a maximum stack size exceeded error with
large files.
The whole check was a bit redundant since we already try to parse the
file from base64 just below.
2022-01-03 11:02:29 -05:00
hydroflame
cd9fad06d0
Merge pull request #2231 from ErzengelLichtes/use-numeraljs-for-ram
Use numeral.js to format memory, allow use of GiB with an option
2022-01-02 11:43:33 -05:00