Age | Commit message (Collapse) | Author |
|
This will be particularly useful for #239
|
|
Far from complete, but this does the bulk of the work, the rest is just
fixing places where the selection moves in weird ways after doing some
things, and overall improving the look and feel of it.
|
|
|
|
|
|
Technically this is also broken on the main branch, however it's a lot
easier to just fix here, instead of having to fix it there, then also
fix it here, due to the modularization
|
|
|
|
|
|
|
|
And `js/popups.js`, but it was already technically a CommonJS module, it
was just leftover in `index.html` due to `js/browser.js` not being a
CommonJS module.
|
|
It's not actually used anywhere outside of itself, but oh well.
|
|
|
|
|
|
Renamed from `toast.js` to `toasts.js` as well
|
|
|
|
|
|
Far from done, but this pretty much splits everything inside
`src/app/main.js` into separate files.
|
|
The "Steam (Auto)" launch method should ideally work in all scenarios,
ideally! Obviously, I can't and haven't tested in every environment, but
I've attempted to make sure it functions.
Launching Vanilla and Northstar works just fine, custom launch arguments
also work just fine, it works with normal Steam, Flatpak Steam, and as a
fallback with the Steam Browser Protocol (`steam://`)
There's also the option to set your own/custom launch command for both
the Vanilla and Northstar launch options. How well they work will of
course depend on what the user set them to.
"Steam (Auto)" attempts to pick the right Steam launch method depending
on what's available, if the Steam executable can be found, it'll use
"Steam (Executable)", if it cant and Flatpak is found on top of an
install of Steam through Flatpak, then "Steam (Flatpak)" is used, if all
of that fails, then we attempt to use "Steam (Protocol)"
Some toasts will be shown if you attempt to run the game with either
"Steam (Executable)" or "Steam (Flatpak)" and they cant find the
game/Steam. This isn't an issue with "Steam (Auto)"
|
|
|
|
Previously, settings using `<select>`'s for their value only worked on
the `forcedlang` setting, now it just works overall, this wasn't an
issue before, as we had no need for it.
More importantly `forcedlang` is special in that it dynamically loads
the list of languages available, so it was and still is handled
separately, to support that behavior.
|
|
|
|
|
|
Ew! Bad! No! Bad! Bad!
|
|
|
|
This time it's inside the GUI and not just random output.
|
|
This means if you dont have any internet, but there's a cached requests,
it'll use that, even if it was cached a very long time ago. This just
attempts to eliminate errors.
This can still be turned off for things where you dont want this to
happen, notably the masterserver status.
|
|
|
|
Due to this button (specifically the "button"/link below the "Launch"
button) serving multiple functions, it incorrectly gets disabled when
the game is running. Now its enabled!
How did I miss this? I assume it crept up after implementing the force
quit button, and not during, but maybe not, was I stupid? Mayhaps.
|
|
This isn't present in the current release and is a bug that crept up
with the upcoming release, however of course, it's been fixed now.
|
|
Scrollbar is globally different, the release notes and mods page now
look more alike, having adjusted some padding, added some backgrounds
and a few other things.
|
|
When checking for an update whilst the latest release is already cached,
it'll resolve near instantaneously, not even letting the user know what
action they just performed, now however, a check for updates will
visually take at least 500ms.
|
|
|
|
|
|
|
|
|
|
When closing a category and then re-opening the setting popup, the
categories shouldn't remain closed!
|
|
|
|
If you're not clicking inside the `#browser` popup, then the preview and
filter popups would stay open, until you do so, or something else causes
them to close.
This fixes that.
|
|
Its now been split into 2, requests.js and releases.js, the latter
simply gets relevant info from GitHub release pages. The prior however
gives simple functions for doing `GET` requests, and caching the result,
and then transparently it'll use that cache when you request it next
time. On top of this, some requests made by the renderer will now also
use this, and this in turn ends up making loading the mod browser much
faster. As instead of having to request the list of packages from
Thunderstore, we can simply load the result of an old request.
The current lifetime of the cache is 5 minutes, however this can also
easily be adjusted.
This also moves the cached requests away from
<cache_folder>/viper-requests.json, and over to
<cache_folder>/Viper/cached-requests.json
|
|
|
|
If the settings popup was opened or closed through other means than
clicking the settings button itself, "Save" button or "Discord"
button, then the cog wouldn't update/rotate accordingly.
|
|
|
|
This makes opening and closing popups a little bit easier, on top of it,
it also fixes a bug where you could open the settings popup on top of
the browser popup or other popups, and it'd hide the background blur,
but still show both popups.
|
|
|
|
Ideally this has no side effects, however, I've not actually tested if
the launching does properly use the launch arguments, due to not having
a Windows device on hand. This will be tested later...
We still attempt to load launch arguments from `ns_startup_args.txt` if
none is set in the settings. However, this may be removed in the future.
|
|
This takes a bit of code from #220 to implement percentage progress on
the download, then with the new pseudo element on the Launch button, we
can have a slight progress bar inside the button, along with
percentages, and it all works handy dandy.
This may not be finished, but it's definitely far there.
|
|
|
|
|
|
If the gamepath is lost or similar then it'll disable many buttons,
notably the install/launch buttons and other similar buttons, however
for obvious reasons we shouldn't be stopping the user from changing
their gamepath in this scenario. This is still useful when installing a
mod or updating NS, so it's just this scenario.
|
|
Very useful stuff!
|
|
This only occurred if there was one continous piece of text, that is, no
spaces in between the characters, this only happened in the detailed
error messages, but it's quite important to see the whole message!
|