aboutsummaryrefslogtreecommitdiff
path: root/src-vue/src/plugins/store.ts
AgeCommit message (Collapse)Author
2023-01-04refactor: Remove unnecessary caller function pattern (#128)GeckoEidechse
* refactor: Remove unnecessary caller function Instead call `disable_all_but_core` directly * refactor: Remove unnecessary caller function Instead call `get_installed_mods_and_properties` directly * refactor: Remove unused exposed backend function * refactor: Remove unnecessary caller function Instead call `set_mod_enabled_status` directly * refactor: Remove unnecessary caller function Instead call `verify_game_files` directly * refactor: Remove unnecessary caller function Instead call `get_log_list` directly
2023-01-04feat: Thunderstore mods pagination (#122)Rémy Raes
* feat: add basic pagination * refactor: put paginator inside filters container * fix: limit filter container width * refactor: filters container is now responsive * fix: add missing type to pagination listener parameter * fix: don't display entire mods list while filtering mods * refactor: filteredMods is now a computed value * refactor: store mods per page value on UI store * feat: user can change modsPerPage count in settings * fix: limit mods count (min=5, max=100) * feat: add control on pages value When leaving settings vue, we check if the pages value is a number and is included in the interval [5-100]. If that's not the case, we reset it to 20. * feat: retrieve and save pages value in persistent store * fix: don't load an empty value from persistent store on boot * fix: cast modsPerPage to string to check if it's empty * refactor: remove search debounce * Update src-vue/src/plugins/store.ts * style: add trailing comma * fix: mention impact on TS mods only * refactor: remove limitations on modsPerPage * style: explicitly cast mods_per_page to number * feat: disable pagination with modsPerPage === 0 * feat: add pagination under thunderstore mod cards * fix: adjust bottom pagination padding * feat: clicking bottom pagination scrolls to page top * fix: use same containers for both paginations * feat: do not display pagination if mods fit on one page * style: trailing spaces * style: trailing spaces * feat: add a button to reset modsPerPage * feat: add explanation text about disabling pagination
2023-01-04feat: Show newest version number (#124)GeckoEidechse
* refactor: Move getting new FC version to own func * refactor: Deserialize into object * refactor: Return whole object instead of 2 strings More readable * refactor: Rename variable * refactor: Use fields of object directly instead of assigning to variables first * feat: Expose backend func to get newest FC version and then call it to get newest version number if current is outdated. This way we can display to the user how far behind their currently installed version is.
2022-12-22feat: Maximize button + clean menubar layout (#119)Rémy Raes
* feat: add a button to toggle window maximize status * fix: attach services container to bottom Container was fixed, but with no positioning indication, which fucked its location while going fullscreen. * refactor: encase menu in navigation container * fix: remove CSS ID duplication * refactor: put window controls inside menu bar * feat: add style to additional submenu * fix: don't color focused menu items * fix: restore menu bar debug indicator
2022-12-21fix: Mod view with no game install (#114)Rémy Raes
* refactor: set installedMods as a ModsView computed property * feat: display a message on ModsView instead of cards if no mods were found * refactor: remove error notification on game path discovery failure * Revert "refactor: remove error notification on game path discovery failure" This reverts commit db4af9ff78dc17bda77ce94283e35f9f1e961086. * fix: don't invoke get_installed_mods_caller with no game path set
2022-12-02build: disable context menu in release buildsRemy Raes
2022-12-02fix: do not display deprecated mods in thunderstore viewRemy Raes
2022-11-30feat: Release channel selector (#86)Rémy Raes
* refactor: Move release channel button to settings * chore: Revert single newline removal * feat: add basic selector * feat: add basic selector style (to match button style) * fix: remove box-shadow on selector * feat: selector displays release canal from UI store * refactor: export toggleReleaseCandidate to store, for it to be used by release canal selector * feat: selector effectively changes release canal * fix: selector members typing issue * refactor: adjust selector labels * refactor: remove channel switching button Since the channel selector on the play view allows users to switch channels, this button is now useless. * feat: add a switch to toggle releases switching * feat: switch only appears if corresponding flag is enabled * feat: adjust button corners regarding releases switching state * feat: switch value is saved in persistent store * refactor: update release candidate label * fix: set release canal to RELEASE when switch is toggled off
2022-11-30refactor: Remove the "Origin running" check from frontend (#94)GeckoEidechse
* refactor: Remove Origin running check in frontend We already perform the check in the backend. Frontend does not check for OS and as such on Linux will just always tell you that Origin is not running. * feat: Show notification toast, not alert pop-up * refactor: Perform OS check before Origin check
2022-11-27feat: Option to launch NS bypassing update check (#59)GeckoEidechse
* feat: Option to launch NS bypassing update check Hidden behind dev view * refactor: Use existing function to launch NS Instead of duplicating code * feat: Adjust button to allow bypassing all checks
2022-11-25feat: Thunderstore mods listing (#54)Rémy Raes
* feat: add ThunderstoreMod type * feat: add view component to develop mods layout * feat: mount view component in router * feat: display thunderstore section in menu * refactor: create thunderstore package * feat: add ThunderstoreModVersion type * feat: add icon field to mod version type * feat: add basic card layout for mods * refactor: card button text is computed In the future, we want the button text to change regarding status of the current mod (installed, deprecated or not installed at all). * feat: display mod owners * feat: display download and like counts * feat: fetch mods from Thunderstore API * fix: type issue * fix: prevent texts from overflowing * fix: all cards have same height * feat: add some space between cards * feat: add basic search bar to filter mods * fix: convert search string to lowercase to avoid font case issues * feat: remove some mods from listing * feat: a button opens mod page on Thunderstore website * feat: display some text if no mod matched searched words * fix: description size * fix: display mod's total downloads count * docs: add documentation to methods * refactor: store thunderstore mods in store * docs: remove TODO notes * style: add trailing line to ThunderstoreModVersion.d.ts * feat: cards container is responsive Mods cards will always appear centered on the screen, and cards container width adjusts to window width. * fix: debounce mods filtering Since filtering mods with search string is costly, we don't do it for each character entered into search bar, but rather wait (300ms) for the user to stop typing. * feat: add full_name field to ThunderstoreModVersion type * feat: mods can be installed by clicking the card button * feat: card displays a loader while mod is being installed * refactor: move installed mods list to frontend store Installed mods are now stored in the frontend store, so they can be used in all views. * feat: card button text varies regarding current mod's status Button can now tell if current mod is being installed, or if it is already installed on local file system. * refactor: export mod status computation in a dedicated method * feat: color buttons regarding associated mod's state * fix: set search debounce timeout to 200ms * refactor: local mods load is done by frontend store * fix: load locally-installed mods before fetching thunderstore mods * fix: display mods while typing in search bar * fix: type issue * fix: CI doesn't know NodeJS namespace * fix: adjust NorthstarMod member types (string instead of String) * feat: tell if a mod is outdated by checking its Thunderstore dependency string prefix * fix: update mods list after installing one from Thunderstore This way, after installing a mod, button text will display "Installed" instead of "Install". * refactor: export Thunderstore mod card to dedicated component file * refactor: rename computed variables * fix: use computed latestVersion member * feat: display "updating" on button when updating an already-installed mod * feat: add some background blur on thunderstore mods view * Update src-vue/src/views/ThunderstoreModsView.vue * Update src-vue/src/plugins/store.ts * fix: zoom background container a bit to hide white border on Windows
2022-11-23feat: Store game path in persistent store (#61)GeckoEidechse
* feat: Store gameinstall in persistent store This includes both path and type (Steam/Origin/EA/UNKNOWN) * feat: Add method to clear persistent store * fix: Only check for NS version if installed Otherwise we incorrectly set the button to `Install`. * fix: Remove leftover `console.log()`
2022-11-21fix: Catch error for missing handle (#60)GeckoEidechse
Setting install path manually when one exists already will error out on trying to delete the non-existing "no install found" notification using its non-existing handle.
2022-11-13feat: Show stripped title bar on debug build (#48)GeckoEidechse
* feat: Show stripped title bar on debug build Helps with differentiating which window is which when both developing FlightCore and is using release version at the same time. * fix: Only show striped menubar for debug builds
2022-11-11refactor: Return Result<> for getting NS version (#46)GeckoEidechse
as opposed to using an empty string to indicate an error.
2022-11-09feat: Patch notes (#18)Rémy Raes
* feat: add Rust method to fetch Northstar release notes * feat: fetch release notes on changelog view mount * feat: only transmit some info to frontend GitHub API gives much information about releases, we only need some: name, publication date and content of such release; so other information is not transmitted to UI. * feat: add ReleaseInfo Typescript interface matching Rust struct * feat: display release notes on a timeline * refactor: remove old releases external link * build: add marked dependency * build: add marked types dev dependency * feat: format release notes' markdown * fix: member typo in ReleaseInfo interface * fix: type releases array * fix: open github links in external browser * fix: adjust marked import * refactor: store release notes in store Release notes are now stored in the app store, so we don't have to fetch them multiple times. * fix: notes fetching method is now async * feat: display a loading bar while release notes are being fetched * feat: display dates in white * feat: release notes' dates are human-readable * fix: make menu bar appear on top of release notes view when scrolled * feat: add custom scrollbar * refactor: format releases creation to please reviewer * Update src-tauri/src/github/mod.rs * Update src-tauri/src/github/release_notes.rs * Update src-vue/src/utils/ReleaseInfo.d.ts * fix: augment scrollbar opacity * fix: only display releases' release date (no more time of the day) * fix: adjust Github request user agent * style: add missing end line in src-vue/src/style.css * fix: link formatting only targets GitHub PR links (whose name begins with a #) * fix: timeline element children cannot be bigger than container card
2022-10-20refactor: Various formatting and fixes (#23)GeckoEidechse
* refactor: Add error return type * style: Auto-format Only minor changes, did not take over all changes from auto-format. * refactor: Rename function to get FC version number To make it more clear which version number we're getting (FlightCore vs Northstar)
2022-10-20Merge branch 'GeckoEidechse:main' into refactor/router-viewRémy Raes
2022-10-20refactor: remove unused current_tab variable from storeRemy Raes
2022-10-20fix: restore updateCurrentTab method with routerRemy Raes
2022-10-19feat: Manually find game if needed (#7)Rémy Raes
* refactor: move updateGamePath method in store mutations * feat: play button allows game path update If game path was not found automatically and the user clicks the play button, FlightCore will ask him to point out his Titanfall2 installation folder. * refactor: change button text * feat: display a notification on successful game folder selection * feat: close permanent notification on successful game folder selection * fix: allow game launch with UNKNOWN install type on Windows * feat: set install type to UNKNOWN on manual folder pick * refactor: update omni-button text when game folder wasn't found
2022-10-18feat: Add persistent store (#16)GeckoEidechse
* refactor: Rename object field So that is specifically references Northstar * chore: Add plugin-store as npm dependency * feat: Persistent storing selected NS release canal * docs: Add explanation about persistent store
2022-10-08feat: Show own version number in settings view (#11)GeckoEidechse
* feat: Show own version number in settings view Adds a new field to state that stores FlightCore version number. Version number is pulled from backend on application launch. * style: Reorder so that FC version is shown first * chore: Remove leftover TODO comment
2022-10-06feat: Enable dev mode directly if in debug modeGeckoEidechse
Allows skipping clicking version number 5 times when working on FlightCore. Release builds are not in debug mode, so dev mode is still disabled by default for end-users.
2022-10-05refactor: Use Element+ notif. instead of `alert()`GeckoEidechse
Less jarring then receiving an `alert()` as the first thing when opening FlightCore
2022-10-04fix: Install selected release canalGeckoEidechse
Use selected release canal for install/update instead of hardcoding to main release.
2022-10-04feat: Show notification if FlightCore is outdatedGeckoEidechse
2022-10-04refactor: Remove unused copied codeGeckoEidechse
2022-10-04Merge branch 'feat/new-ui' of github.com:Alystrasz/FlightCore into feat/new-uiAlystrasz
2022-10-04feat: migrate update check code to storeAlystrasz
2022-10-04refactor: rename store typeAlystrasz
2022-10-03chore: Fix import formattingGeckoEidechse
2022-10-03feat: implement updateGamePath methodAlystrasz
2022-10-03fix: address _initializeApp result typing issueRemy Raes
2022-10-03refactor: implement launchGame method with switch/caseRemy Raes
2022-10-03fix: Do not show install button if TF|2 not foundGeckoEidechse
Instead show a button saying that Titanfall2 was not found
2022-10-03fix: Null out game pathGeckoEidechse
to avoid installing to an unkown path.
2022-10-02fix: store is now typedRemy Raes
2022-10-02refactor: type issuesRemy Raes
2022-10-02refactor: Use enum for install typeGeckoEidechse
Same way like in backend code
2022-10-02feat: Add initial NS launch functionalityGeckoEidechse
Adds logic to launch Northstar from FligthCore
2022-10-02feat: Add update functionalityGeckoEidechse
Simply does the same thing as install as it just overwrites old files anyway
2022-09-29feat: add basic canal selectorAlystrasz
2022-09-27fix: do not try to run game after installing NorthstarAlystrasz
2022-09-27feat: we can now install Northstar if it wasn't detectedAlystrasz
2022-09-26fix: do not display "see patch notes" link with unknown Northstar versionAlystrasz
2022-09-26feat: game cannot be launched if Origin is not runningAlystrasz
2022-09-26developer mode can be turned off from developer viewAlystrasz
2022-09-26refactor: rename northstar version methodAlystrasz
2022-09-26docs: add documentation to store methodsAlystrasz