aboutsummaryrefslogtreecommitdiff
path: root/src/app/js
AgeCommit message (Collapse)Author
2024-08-13chore: use existing mod installation logic for r2mm protocolJan200101
2024-08-13chore: rework protocol mod installs to use renderer package listJan200101
This is achieved by sending an IPC event to the renderer and waiting for a reply once Since this is async we return from the function after sending the event and recursively invoke it once the reply arrives The package data is returned a a JSON String because Electron is unable to copy the Object over IPC
2024-07-21open non-default installation guide externallyJan200101
2024-07-20show guide button for mods with non-default installation methodsJan200101
2024-06-18Merge pull request #229 from 0neGal/linux-launch-v20neGal
feat: Linux launch support v2
2024-06-15added launcher.relative_section()0neGal
This will be particularly useful for #239
2024-06-15added popups.hide_last() and popups.open_list0neGal
This will be particularly useful for #239
2024-06-09Merge branch 'main' into linux-launch-v2linux-launch-v20neGal
2024-06-09fixed webview theming not being appliedmodularized-frontend0neGal
2024-06-09fixed version numbers not updating after update0neGal
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
2024-06-09fixed things in the settings popup not loading0neGal
2024-06-08rename js/set_dom_strings.js to localize.js0neGal
2024-06-08fixed race condition in js/set_dom_strings.js0neGal
2024-06-08convert js/browser.js to a CommonJS module0neGal
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.
2024-06-08convert js/tooltip.js to a CommonJS module0neGal
It's not actually used anywhere outside of itself, but oh well.
2024-06-08convert js/launcher.js to a CommonJS module0neGal
2024-06-08move browser.js' normalize() into mods.js0neGal
2024-06-08convert js/toast.js to a CommonJS module0neGal
Renamed from `toast.js` to `toasts.js` as well
2024-06-08convert js/mods.js to a CommonJS module0neGal
2024-06-08replace js/misc.js file with js/version.js module0neGal
2024-06-08initial commit to better modularize frontend0neGal
Far from done, but this pretty much splits everything inside `src/app/main.js` into separate files.
2024-04-29actual Linux launch support0neGal
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)"
2024-04-29fixed app/js/settings.js to for custom <select>'s0neGal
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.
2024-02-04added icons to more buttons0neGal
2024-02-03fixed some places using spaces for indentation0neGal
Ew! Bad! No! Bad! Bad!
2024-02-03added back error for fetching release notes0neGal
This time it's inside the GUI and not just random output.
2024-02-03requests.js ignores cache time when no internet0neGal
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.
2024-01-24added search in settings popup0neGal
2024-01-24added release date to release notes0neGal
2024-01-24fixed clicking parts of preview popup closing it0neGal
2024-01-24fixed settings categories staying closed0neGal
When closing a category and then re-opening the setting popup, the categories shouldn't remain closed!
2024-01-24fixed preview and filter popup not closing0neGal
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.
2024-01-24entirely refactor src/modules/requests.js0neGal
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
2024-01-20fixed settings cog sometimes not moving0neGal
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.
2024-01-20added src/app/js/events.js0neGal
2024-01-20added src/app/js/popups.js0neGal
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.
2023-11-08fixed using incorrect localization strings0neGal
2023-09-16added buttons for fixing some problems and alike0neGal
I will likely add more buttons in the future, but for now this is most of the ones a user could need to repair problems.
2023-09-16made some lang keys far more logical0neGal
Most of these are from back when Viper was originally started, I also removed a few keys as they were no longer in use, but were forgotten about, most of these are from pre-v1.0.0 aka, the old smaller UI
2023-09-16lang files can now use objects!0neGal
The `lang()` function doesn't change whatsoever, as the lang files are flattened and are therefore identical to the before this commit. I also cleaned up the files, and all the lang files should now all look far more similar in order.
2023-08-26fixed mod browser thinking it's done loading pkgs0neGal
The mod browser before this pre-maturely thought it had loaded all the available packages, when in fact, it'd barely started. Now this is fixed, and you can scroll for quite some time before actually reaching the real end of the package list.
2023-08-21properly detect installed packages in mod browser0neGal
This doesn't break the old way of detecting things, for various reasons, but notably it'd cause more harm than good. As we still need to be able to detect packages that haven't been converted into the new location.
2023-07-31window buttons are no longer hidden behind popups0neGal
2023-07-24added default Northstar icon for core mods0neGal
2023-07-24remove debug console.log()0neGal
2023-07-24fixed updateable packages not being removeable0neGal
2023-07-22mostly support installing packages through GUI0neGal
Install toasts, installing overall, dependencies and so forth, all seem to be fully functional, however more bug testing is probably required to concluce whether that is actually the case or not... This also doesn't break `src/modules/mods.js`, i.e dragging mods in to manually install them still functions the same as always.
2023-07-22unify all mods of a package into one0neGal
This means instead of showing the invididual mods inside a package, we simply show 1 mod/package, we then use the name, description, version and so forth from the `manifest.json` inside the package folder. Further we now also support a local `icon.png` file, instead of relying on remotely stored icons and trying to match names against each other.
2023-07-21rename mods.list() properties to use snake case0neGal
I may or may not have missed some properties or something somewhere, perhaps we'll see if something ends up broken in the future...
2023-05-07added hover tooltips0neGal
They're pretty simple to use, and automatically make themselves fit on screen, on top of automatically disappearing and appearing of course. I've used them a few places now, and not sure where else they can be used, there are of course localization strings that need, well, localization, and I'll create a PR for this on a later date.