diff options
author | Rémy Raes <contact@remyraes.com> | 2022-11-09 23:42:54 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-09 23:42:54 +0100 |
commit | 32fd7e37d0a2e72a88bac3462fbfac3a5d4b6015 (patch) | |
tree | 02452ede248e12233499caaff4c728d5e2f2ab81 /src-vue/src/plugins | |
parent | 90b2153a6d2620f55c22c09e9a624f81e50cca44 (diff) | |
download | FlightCore-32fd7e37d0a2e72a88bac3462fbfac3a5d4b6015.tar.gz FlightCore-32fd7e37d0a2e72a88bac3462fbfac3a5d4b6015.zip |
feat: Patch notes (#18)
* 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
Diffstat (limited to 'src-vue/src/plugins')
-rw-r--r-- | src-vue/src/plugins/store.ts | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src-vue/src/plugins/store.ts b/src-vue/src/plugins/store.ts index c731b98d..31b1efec 100644 --- a/src-vue/src/plugins/store.ts +++ b/src-vue/src/plugins/store.ts @@ -11,6 +11,7 @@ import { appDir } from '@tauri-apps/api/path'; import { open } from '@tauri-apps/api/dialog'; import { Store } from 'tauri-plugin-store-api'; import {router} from "../main"; +import ReleaseInfo from "../utils/ReleaseInfo"; const persistentStore = new Store('flight-core-settings.json'); @@ -25,6 +26,7 @@ export interface FlightCoreStore { installed_northstar_version: string, northstar_state: NorthstarState, northstar_release_canal: ReleaseCanal, + releaseNotes: ReleaseInfo[], northstar_is_running: boolean, origin_is_running: boolean @@ -44,6 +46,7 @@ export const store = createStore<FlightCoreStore>({ installed_northstar_version: "", northstar_state: NorthstarState.GAME_NOT_FOUND, northstar_release_canal: ReleaseCanal.RELEASE, + releaseNotes: [], northstar_is_running: false, origin_is_running: false @@ -181,6 +184,10 @@ export const store = createStore<FlightCoreStore>({ store.commit('updateGamePath'); break; } + }, + async fetchReleaseNotes(state: FlightCoreStore) { + if (state.releaseNotes.length !== 0) return; + state.releaseNotes = await invoke("get_northstar_release_notes"); } } }); |