aboutsummaryrefslogtreecommitdiff
path: root/src-vue/src/plugins/store.ts
diff options
context:
space:
mode:
authorRémy Raes <contact@remyraes.com>2022-11-09 23:42:54 +0100
committerGitHub <noreply@github.com>2022-11-09 23:42:54 +0100
commit32fd7e37d0a2e72a88bac3462fbfac3a5d4b6015 (patch)
tree02452ede248e12233499caaff4c728d5e2f2ab81 /src-vue/src/plugins/store.ts
parent90b2153a6d2620f55c22c09e9a624f81e50cca44 (diff)
downloadFlightCore-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/store.ts')
-rw-r--r--src-vue/src/plugins/store.ts7
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");
}
}
});