Age | Commit message (Collapse) | Author |
|
While it's unlikely we'll ever get down to 1 player, it's best to be on
the safe side :p
|
|
|
|
This doesn't fully implement everything as the master server is down
whilst making this commit, so I can't fully implement it.
|
|
Previously packages were filtered based on whether
Browser.filters.get().filtered included any of the categories, now
however it only checks if one of 4 filters is selected, Skins, Mods,
Client-side and Server-side, anything beyond that like "Language: EN" is
ignored and unless it doesn't have any of the other filters selected
it'll go unfiltered.
Previously when selecting every filter you'd still only get 100'ish
packages at best, now you get the full 150 that there currently is on
Thunderstore, except for r2modman and Northstar itself.
|
|
If the only results when searching are elements that are filtered then
it just infinitely shows loading instead showing "No results..."
|
|
|
|
Clicking the filters button would close then reopen it, instead of
closing, then opening when clicking again.
|
|
This is easier to manage, and a lot less annoying to navigate, having to
scroll through many lines of code is annoying, categorizing makes it
easier, I also overall improved the layout of many of the CSS files.
|
|
This was just so I didn't have to go to the Mods tab, click "Find Mods",
and click "View" on one of the mods.
|
|
Instead of instantly flashing when it's done loading and so on, it now
fades in, instead, without any problems.
|
|
"Info" -> "View", along with a button in the previewer to open the mod
page in the browser if you so choose.
|
|
It now looks a lot better overall. Still missing a few things, like
showing when it's loading, but besides that it's pretty much done.
|
|
Instead of opening your normal web browser you can now just open the
page inside Viper, many changes aren't finished yet, notably the
webview.css file.
At some point I'll split the main.css into more files so the folder
makes sense even though there's currently only one file in there.
|
|
Instead of setting the innerHTML every single time an element get added
it now just appends them like you should be doing, but I was lazy when I
wrote the original code I guess.
Not only does this improve performance, but it also fixes the CSS fade
animation not making every mod element/entry flicker, and instead now it
only does it on the new ones, like intended.
|
|
In the past when more than 50 packages was loaded it'd simply display a
"Maximum packages loaded" message, and it wasn't actually 50, as it just
took the first 50 packages loaded, whether or not they were filtered
out, so now that's fixed and a "Load more..." button has been added.
With that comes some changes to the lang strings for
"gui.browser.endoflist" and a new one "gui.browser.loadmore".
I also fixed the filtered packages issue also occurring in searches.
This will overall allow a user to more easily find the maximum amount of
packages without loading literally over a hundred packages at once, not
good for performance...
|
|
Made the UI slightly bigger, and the mod elements aren't on their own
line, this allows you to see more at once while it being bigger and more
telligble, before it was kind of empty.
|
|
If you already have all the dependencies or some dependencies of a
package those will be skipped, if there is no dependencies missing it'll
just install, and otherwise it'll show the missing and ask whether you
want to install them.
Meaning if a package has two dependencies and you've one of them only
the one you don't have will show up.
|
|
This should allow you to install packages that have dependencies,
however maybe not with the best UI/UX experience, as currently there's
only an English localization, and we also install dependencies even if
the dependency is already installed.
|
|
Instead of updating the branch it was easier to simply add this, I don't
plan to add the issue/PR support, as it's complicated with no real
benefit, as NS seems to already link the PR's themselves.
|
|
Simplifies the parsing of Markdown, whilst also solving problems that
the previous parser for Markdown caused.
|
|
Essentially just validates the config file and then prompts you about
it, it allows you to reset it directly or just to exit and let yourself
fix it. And because the error message appears directly in the renderer
we have access to navigator.language, and can therefore still localize
the string. However! We can't actually care if the user has disabled
auto detection of their language, since... y'know, the config file where
that's stored isn't able to be read properly.
And so I added an argument to lang(), which allows you to force it to
use a specific language if that language is available, if not it
defaults back to English.
|
|
sped up some animations, added a few more colors to different places,
overall just a slight spice up to the UI
|
|
Veeeerrryyy tiny improvements:
- titles are now in bold
- reduced the padding between version and author text
- slight blur to images has been added, which looks nice
- the large margin between the close and filter button is now fixed
|
|
|
|
This is for the sake of UX, as a user might be confused about why it
doesn't work as they may not notice that they've to turn off auto-detect
language first.
Because of this Settings.switch() now has a state value, and if you
provide a DOM element as the element arg it now uses that to know what
to toggle, before we used to just provide a number, which made sense for
generating the onclick events, but not for this task...
This whole thing was brought up because of #115
|
|
When Viper starts up it'll check to make sure the gamepath still exists,
and throws errors if not, it also redirects you to the first page (the
one where you can set the gamepath), and gives you an informative error.
This could happen because the user unmounted the drive the gamepath is
on, or it could happen if the user moved their game location.
|
|
I've known about this bug for a bit but haven't been bothered to fix it,
essentially a language key was being logged instead of the string
attached to that key :p
|
|
This allows someone to have their system in any language, and then have
Viper in a separate language. This is also useful for testing.
|
|
Slightly better UX I guess?
|
|
For testing purposes I had the mod browser auto show on startup, that's
removed now, I also when refactoring some code forgot to change the name
of a function everywhere, leading to an error.
|
|
Fully implemented (I think? Maybe there's an edge case?), albeit it's
missing "Updateable" and "Installed" filters, but they'll be added later
|
|
If a mod has the name of an already existing element some issues may
arise... So now we have all mod elements prefixed with "mod-" and we
also only search for elements inside #browserEntries, that should avoid
all issues...
|
|
|
|
If the nsargs are edited by a third-party program or anything that isn't
Viper, the next time you launch Viper it'll reset the nsargs back to
what it was when you last opened it.
|
|
Some users got confused about the "Change Game Path" label on the
startup page, thinking it was Viper asking the user to change the path,
to clear up that confusion we now just don't show that page on startup.
|
|
I localized all strings for English, then went ahead and made array
options have a wider input and more word spacing, since they're all
space separated.
|
|
When #87 was merged an unnoticed problem slipped in where if Viper was
running in a version that did not support auto-updates we would never
auto-update Northstar. Now that's fixed, and the nsupdate option is
completely implemented.
I also took the liberty of removing the auto-update option in the
settings page if Viper can't auto-update anyway, as it's useless if
that's not possible.
|
|
It actually saves settings, loads them properly and everything...
|
|
Albeit only frontend functionality, it doesn't actually save your
settings, it simply loads them, and Settings.get(), allows you to
convert them to a format that can be used to save settings.
|
|
I added descriptions and options for excluding files.
|
|
This only has the actual UI for the settings page in place, no actual
functionality has been implemented yet. I made several changes not
directly related to the settings page, such as changes the CSS color
variables to use RGB, as to easily add an alpha channel to colors. I
also changed the way the Browser is toggled in some respects and many
other changes that makes it easy to re-use the browser code to create
the settings UI
|
|
Since apparently dragleave and dragenter don't quite work as intended we
have to resort to this obscure method which should work just fine on the
user's end.
|
|
If you closed the file selection window after clicking the "Install Mod"
button it would improperly try to install "nothing", and therefore never
re-enable the buttons, this is now fixed.
|
|
It'll notify of incorrectly formatted mods, it'll also notify on errors
and on success.
|
|
There used to be an error where if you spawned two toasts simultaneously
they'll get the same ID, this fixes that by upping the ID by one if the
ID is already taken.
|
|
No functional toasts yet, just the code for them, I'll add the actual
toasts later...
|
|
It now only does it if there's currently no results in the browser, aka
an empty search or it has yet to be loaded once before. Loading it every
time would cause lag.
|
|
Before this commit, the Thunderstore request would be sent on
application startup, now instead, it only does it when someone actually
clicks the "Find Mods" button, which should intern decrease load on
Thunderstore's end. Not that it mattered in the grand scheme of things,
it was just sort of unneeded.
|
|
|
|
Also fixes section buttons not being able to be clicked.
|