aboutsummaryrefslogtreecommitdiff
path: root/src/app
AgeCommit message (Collapse)Author
2022-02-07added support for more obscure mod structure0neGal
If a developer for some reason decides to put their mod inside mods/ instead of putting it inside a folder in mods/, it used to fail the install, now that's fixed. However since there's no folder to directly copy the name from we take it from the manifest.json provided by Thunderstore. It of course also has the proper status in the browser UI (update/reinstall etc)
2022-02-07fixed drag control0neGal
I think? I don't know how it was originally, currently now you can drag on the top most of the window and in the left most, unfortunately not inside the various pages. It would probably be possible to do that, but I've not made it do as such, and if it needs to be changed it won't be me doing it.
2022-02-05various changes, aesthetic and functionality0neGal
This should fix the window drag not working, however I cannot test that. As my WM doesn't support it, a Windows contributor will have to test it. I also added an info button that opens the mod's page in your web browser, this button is of course localized, along with that I localized the placeholder in the search input. There's also a few general aesthetic changes, like adding a tiny border around #modsdiv and #browser.
2022-02-05moved author position, and fixed text overflowing0neGal
2022-02-05implemented limit to loading packages0neGal
I have no clue if 50 packages is too small or too, big, we'll adjust this the more mods that arrive. I also made the browser auto scroll to the top when closed, it looks far better.
2022-02-05fixed edge case with folder names0neGal
If the folder name was different from the mod name it wouldn't properly update the "Install" text to "Re-Install" albeit it'd work when you reload the front.
2022-02-05fix edge case for when Archives/mods doesn't existGitExample
2022-02-05button now updates when mod is removedGitExample
I also fixed the archive not being extracted properly for some reason, the setTimeout() seems to solve it, no clue if it needs to be adjusted in the future or replaced with something that works 100% of the time, I'm not even quite sure why it happens in the first place.
2022-02-05fix some mods appearing as uninstalled in browserGitExample
The normalizer function didn't quite account for everything, which, it still doesn't, however given that I hope most developer don't use obnoxious characters in their mod names this should be fine.
2022-02-05fixed #bgHolder not covering entire backgroundGitExample
-1px should be enough, however to make sure I made it -5px instead.
2022-02-03detection for new updates of modsGitExample
2022-02-03added search functionalityGitExample
This should be future proof, however I'm not sure how well it'll handle thousands of mods to search through. It should do it somewhat well, but idk. We'll see, I'll perhaps implement a simpler search function in the future instead of using Fuse if it becomes a problem.
2022-02-03added English localizationsGitExample
I forgot about these before...
2022-02-03version numbersGitExample
These should've been here from the start, and I don't know why I didn't add them in the start, I'm very dumb.
2022-02-03detection of installed mods, disabling buttonsGitExample
When a new mod has been installed through the browser UI it's button is changed from "Install" to "Re-Install" instantly. We also now disable modding related buttons when updating NS, or when installing mods. This should prevent issues.
2022-02-03ability to download from browserGitExample
This should work for all mods, assuming that all mods come packages the same, aka, in a Zip, with mods/<mod> in it. Which from what I know they do.
2022-01-23minor aesthetic changes0neGal
2022-01-23added "Find Mods" button0neGal
2022-01-23added loading, close button, element fadein etc0neGal
To show the loading simply do Browser.loading(), when a BrowserEl() is made it auto removes it. The loading and BrowserEl's will fade into view instead of popping in instantly. And then now there's a tiny close button, as it may not be obvious you can click the dark overlay or click Escape.
2022-01-21actually loads thunderstore now0neGal
2022-01-20added fallback icon, and ways to close the browser0neGal
You can either click "Escape" or simply click on the darkened background and it'll then close it. Ideally the fallback icon should never be shown, and it is more for testing. I also added a search bar that does nothing currently.
2022-01-20initial commit on thunderstore support0neGal
Only frontend stuff, nothing that queries Thunderstore.
2022-01-19Merge pull request #46 from 0neGal/documentation0neGal
Adding documentation/comments
2022-01-19documented the rest of the files0neGal
2022-01-18Merge branch 'main' of https://github.com/0neGal/viper0neGal
2022-01-18added proper crediting0neGal
2022-01-17documented: index.js, cli.js, lang.js app/lang.js0neGal
2022-01-17added minimize button0neGal
2022-01-15fix scroll overflow0neGal
2022-01-12switched to marked over markdown0neGal
2022-01-12feat: New UI (#26)Rémy Raes
* [chore] removing setsize mechanism * [feat] adding new html skeleton * [feat] adding games icon buttons * [feat] all icon buttons have same size * [fix] games container width varies between 95 and 120px * [feat] displaying bg image * [feat] each game has its own background image * [feat] adding content skeleton * [feat] window has no frame anymore * [feat] buttons show related content only * [feat] displaying viper release notes * [feat] game icons are vertically centered * [feat] background is a bit grayed out * [feat] adding some items to games menus * [feat] displaying games logos * [feat] adding content menu active item indicator * [fix] centering active item indicator * [feat] not displaying viper credits by default * [feat] viper categories can be browsed through via menu * [feat] adjusting hovering style of menu items * [feat] adding play button styles * [feat] adding missing vp sections * [feat] adding link styles * [fix] scaling down northstar logo * [feat] adding ns sections * [feat] fetching northstar release notes * [fix] release notes containers are scrollable * [feat] removing space between menu and some sections * [feat] loading vp+ns versions into interface * [chore] pushing version to 0.10.0 * [feat] play buttons launch games * [refactor] renaming vp releases fetching method * [feat] displaying an option to update northstar * [feat] message is displayed if ns is up-to-date * [feat] displaying ns download progress * [refactor] removing ns-updating and ns-updated events * [feat] adding UI translations * [fix] correctly displaying vp release notes * [refactor] removing useless code * [feat] adding Imply to credits for viper logo * [feat] loading titanfall version from gameversion.txt file * [feat] centering viper main section * [feat] adding custom scrollbars to release notes sections * [feat] disabling images drag * [feat] all external links are opened in default browser * [feat] formatting release notes with markdown converter * [feat] translating UI items * fixed backgrounds not being same size This would cause weird transitions. * new.css is now main.css, fixed colors and fonts * page indicator is now prettier We no longer use a character to render a circle, and it's no longer a circle, instead it's a line, we also now have a nice transition on it, both for fading in and out. * removed simplebar in favor of ::-webkit-scrollbar Almost everything we did with simplerbar could be done with native WebKit scollbar CSS, hence why we switched to it. * fixed uneven nav button margin * fixed formatting Single quotes to double quotes, spaces to tabs, etc etc... I also removed simplerbar properly... * removed unneeded consts Elements set with ID's can by default be referred to with their ID, aka: const element = document.getElementById("element"); Is useless as "element" will automatically refer to that element if theres no variable that overwrites it. * use release name over tag_name "Release vX.X.X" frankly looks better than "vX.X.X" * playBtn's now look nicer Slight transition on hover and click. * added pointer cursors to nav buttons and playBtn's Along with transitions to the nav buttons, because they look very good. * [fix] viper main section appears correctly on viper logo clicked * different opacity for inactive pages * removed "Roboto Mono", added normal "Roboto" * removed old HTML * fixed formatting in launcher.js * redesigned contentContainer's, and a lot more I also swapped around the Vanilla logo and Northstar logo to have the same size and the "Titanfall 2" text is in the same place on both images, allowing seamless transition when changing pages. I also completely redesigned displayContent(), it's now page() and doesn't revolve around a switch case. I'll likely do a similar thing with showVpSection() and showNsSection(), uniting them into one function that doesn't use switch cases. * added close button * fix game icons not being found * removed excess icons from assets folder * [feat] adding a br to french releases key * [feat] centering menu items * [feat] implementing requests cache for NS release notes * [feat] implementing cache for VP release notes * changed ttf2 to tf2 Along with that, I also renamed the northstar2.jpeg bg to just northstar.jpg, as all other background are .jpg * [fix] adjusting containers * [fix] adding some space between menu and content Since we have lots of space to use now, let's use it! This extra-space does not apply to release notes sections, which already takes all available screen space. * [feat] adding code style * [fix] window is draggable thanks to a drag bar on its top * [fix] drag bar height * [fix] all window is draggable * [fix] not disabling game buttons on ns update * [fix] disabled buttons cannot be clicked * [fix] displaying ns update downloading state on UI * [fix] typos * general improvements to the UI Launch buttons now have a nice gradient, a shadow and a better hover animation. The Titanfall logos are now also centered no matter the window size, so if in the future we decide to allow resizing the window that won't be a problem, or if you force the window to do it through some trickery, it'll also still show correctly. I also changed the default font weight to 500, some pieces of text looked very thin. * unified information and credits section * mods section should more or less look good now Still not complete done, I still wanna implement a drag and drop install, along with selecting whether you're installing a zip or folder. And also a warning when toggling or removing required mods... But generally this is the design I will go with. * added warnings for toggling/removing core mods * [feat] adding missing translations * [fix] typo in gui.mods.disabledtag french translation * re-added download progress * added section transitions * switched to npm module for markdown parsing * correcting some formatting, nothing special * active page button is now more obvious Co-authored-by: 0neGal <mail@0negal.com>
2022-01-10.disabled instead of .[remove/set]Attribute()0neGal
Doing <elem>.disabled = true is the same as <elem>.setAttribute("disabled", ""), same with <elem>.disabled = false, being the same as <elem>.removeAttribute("disabled")
2022-01-10[fix] updating correct buttonsRemy Raes
2022-01-10[feat] translating 'install' optionRemy Raes
2022-01-10[feat] 'Play NS button' text is restored after successfull installRemy Raes
2022-01-10[feat] launch button install Northstar if it's not installedRemy Raes
2022-01-10[feat] Northstar launch button holds 'Install' text when ns is not installedRemy Raes
2022-01-08Merge branch 'main' into mod-support0neGal
2022-01-07fix: Game path check (#29)Rémy Raes
* [feat] adding methods signature to alert when selected game path is falsy * [feat] a game path is valid if it contains 'Titanfall2.exe' file * [feat] adding translations for wrong gamepath key * [feat] if a wrong path has been selected, ask for it again * formatting and removing useless function Given we only use checkGamePath() once there's no need to even have a function for it. Co-authored-by: 0neGal <mail@0negal.com>
2022-01-05Merge branch 'main' of 0neGal/viper into mod-support0neGal
2022-01-04fix: No game path (#24)Rémy Raes
* [refactor] moving main.setPath listener outside start method * [refactor] setpath tells if game path is set or not * newpath event tells if game path dialog is successful or not * [feat] main window will not show if path is not set * [feat] viper displays a dialog and exits if no game path was prompted * [fix] viper prompts for game path if viper.json:gamepath is not set * [feat] translating gui.gamepath.must key * code cleanup fixing single quotes and alike * fix gui.gamepath.must message Co-authored-by: 0neGal <mail@0negal.com>
2022-01-03fixed missingpath localization0neGal
2022-01-03mod buttons are now disabled if NS isn't installed0neGal
2022-01-03installing mods from folders got a lil easier0neGal
If a mod decided to put their actual mod files inside a folder inside a folder it'll search sub folders to try and find them and usually it's able to install it. Meaning, if instead of the mod being structured as such: mod/ mod.json other files ... It is structured as such: folder/ mod/ mod.json other files ... This will be very useful for zip files... As some people tend to archive a folder and not make an archive with the files in it. Leading to the above structure...
2022-01-03mod view now has a constant size0neGal
Along with the ability to scroll it!
2022-01-03improved visuals of disabled tag0neGal
2022-01-03fully working GUI functionality0neGal
Smoothly updates and works flawlessly, the only thing that really needs improvements is the design and on top of that installing mods from a Zip file over folder.
2022-01-02toggling, removing and installing mods works0neGal
Mostly, the installing part needs a bit more look at, to support archives and different layouts for the mod. Such as searching through an archive to find the right folder because some mods don't use a proper layout. I also somewhat mitigated the whole issue of JSON files not being formatted properly by the mod developer (please just fix your formatting, I beg you.) by simply assigning the absolute basics, however we can't know the versions of the mods. I am not going to go out of my way to write code which can parse a file that wasn't made to be parsed because whoever wrote it doesn't know what a JSON file is made of. Simply not happening. I also added a few locatiolization related things, along with more info for --mods, so besides the normal counter for "Installed mods" you also have "Enabled mods" and "Disabled mods", very useful. The GUI also has a new added "Disabled" tag to mods that are disabled, however this is a temporary, it looks bad and I don't want it in release, I just needed a way to distinquish when testing. Because you can now also enable and disable mods, mods.list() gives back an Object that goes more or less something like: {all: ..., enabled: ..., disabled: ... }, take your guesses as to what everything means, you might even get it in the first try.
2022-01-02Merge branch 'main' of 0neGal/viper into mod-support0neGal
2022-01-01chore: Auto updating (#16)Rémy Raes
* [chore] adding electron-updater dependency * [feat] adding auto-updating mechanism * [chore] setting package version to v0.8.0 * [fix] restoring original repo URL * [docs] adding some documentation about publishing new releases * [chore] adding publish:windows command * [docs] updating publish instructions with new publish command * [chore] adding publish:linux command * [docs] updating publish instructions * --updatevp, and option to disable auto updates If you want you can set "autoupdates" to false in your config, no GUI tools to do this yet. For the CLI auto updates is off by default and you'll have to use --updatevp. I also removed the snap package, tho whether this stays as a change is still to be discussed. And with the new option I updated the help menu, the man page and everything along else that needs it. * removed "soon" parts of README for auto-updates * [feat] adding French translation for cli.help.updatevp key * confirmation for restarting the app Now instead of automatically updating and restarting the app, which may be slightly confusing to some users, (the app opens then closes and then opens), it now asks whether you want to restart and open the new version. If you say no, instead next time you launch it, it'll be on the new version. If you want to completely disable updates you can disable it in the viper.json file... * [feat] adding French translation for gui.update.available key * added configuration instruction in README Co-authored-by: 0neGal <mail@0negal.com>