aboutsummaryrefslogtreecommitdiff
path: root/src-vue/src/utils
AgeCommit message (Collapse)Author
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-19feat: Return Thunderstore mod string of installed mods. (#56)GeckoEidechse
* refactor: Rename function to better differentiate what it does * refactor: Add TS mod string field to NS mod struct This allows us to expose to frontend which Thunderstore mod a Northstar mod may belong to. Field is optional as not all mods may contain a Thunderstore mod string for example when they were installed manually. * feat: Add TS mod string field to NS mod interace * feat: Parse TS mod string and expose to frontend * fix: Mark unused variable as such
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-25feat: Show installed mods (#28)GeckoEidechse
Simply parses `enabledmods.json`. In the future we should also opt to check individual mods and compare with the JSON file.
2022-10-21feat: Add initial skeleton for ModsView (#27)GeckoEidechse
* feat: Backend code to get list of installed mods For now simply parses `enabledmods.json`. Note that this file will not be up-to-date if the user just installed a mod but hasn't launched Northstar yet. * feat: Empty skeleton page for ModsView Will be populated later with list of installed mods * chore: Remove leftover print statement
2022-10-20fix: restore updateCurrentTab method with routerRemy Raes
2022-10-04refactor: Give NorthstarState enum mapped stringGeckoEidechse
So that when printing out the value for debug purposes it is clear which value it is.
2022-10-03fix: address options() typing issueAlystrasz
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-02chore: Reference enum in backend code in commentGeckoEidechse
2022-10-02refactor: Use enum for install typeGeckoEidechse
Same way like in backend code
2022-09-27feat: we can now install Northstar if it wasn't detectedAlystrasz
2022-09-25feat: load northstar version in app stateRemy Raes
2022-09-25feat: load up installation path in app state on launchRemy Raes
2022-09-24feat: add a "see patch notes" link to main viewRemy Raes