diff --git a/src/containers/SideBar/components/Settings.tsx b/src/containers/SideBar/components/Settings.tsx
index 8ae42d175..a347bb55e 100644
--- a/src/containers/SideBar/components/Settings.tsx
+++ b/src/containers/SideBar/components/Settings.tsx
@@ -21,7 +21,7 @@ import { invoke } from '@tauri-apps/api/tauri';
import { useGetApplicatonsVersions } from '../../../hooks/useGetApplicatonsVersions';
const Settings: React.FC = () => {
- const { refreshVersions, applicationsVersions } =
+ const { refreshVersions, applicationsVersions, mainAppVersion } =
useGetApplicatonsVersions();
const [open, setOpen] = useState(false);
const [formState, setFormState] = useState({ field1: '', field2: '' });
@@ -190,6 +190,7 @@ const Settings: React.FC = () => {
+ mainApp: {mainAppVersion}
{Object.entries(applicationsVersions).map(
([key, value]) => (
diff --git a/src/hooks/useGetApplicatonsVersions.ts b/src/hooks/useGetApplicatonsVersions.ts
index 48c6b1051..f57fa32c7 100644
--- a/src/hooks/useGetApplicatonsVersions.ts
+++ b/src/hooks/useGetApplicatonsVersions.ts
@@ -2,6 +2,7 @@ import { useCallback, useEffect } from 'react';
import { useAppStatusStore } from '../store/useAppStatusStore';
import { invoke } from '@tauri-apps/api';
import { ApplicationsVersions } from '../types/app-status';
+import { getVersion } from '@tauri-apps/api/app';
export const getApplicationsVersions = async () => {
invoke('get_applications_versions')
@@ -20,6 +21,19 @@ export const useGetApplicatonsVersions = () => {
(state) => state.applications_versions
);
+ const mainAppVersion = useAppStatusStore((state) => state.main_app_version);
+ const setMainAppVersion = useAppStatusStore(
+ (state) => state.setMainAppVersion
+ );
+
+ useEffect(() => {
+ if (!mainAppVersion) {
+ getVersion().then((version) => {
+ setMainAppVersion(version);
+ });
+ }
+ }, [mainAppVersion]);
+
useEffect(() => {
if (!applicationsVersions) {
getApplicationsVersions();
@@ -40,5 +54,5 @@ export const useGetApplicatonsVersions = () => {
getApplicationsVersions();
}, []);
- return { applicationsVersions, refreshVersions };
+ return { applicationsVersions, mainAppVersion, refreshVersions };
};
diff --git a/src/store/useAppStatusStore.ts b/src/store/useAppStatusStore.ts
index 49e98ef58..443123f67 100644
--- a/src/store/useAppStatusStore.ts
+++ b/src/store/useAppStatusStore.ts
@@ -10,6 +10,7 @@ interface Actions {
) => void;
setMode: (mode: modeType) => void;
setConfigMode: (mode: modeType) => void;
+ setMainAppVersion: (mainAppVersion: string) => void;
}
type AppStatusStoreState = AppStatus & Actions;
@@ -19,6 +20,7 @@ const initialState: AppStatus = {
wallet_balance: undefined,
mode: 'Eco',
auto_mining: false,
+ main_app_version: undefined,
};
export const useAppStatusStore = create()(
persist(
@@ -27,6 +29,7 @@ export const useAppStatusStore = create()(
setAppStatus: (appStatus) => set({ ...appStatus }),
setApplicationsVersions: (applications_versions) =>
set({ applications_versions }),
+ setMainAppVersion: (main_app_version) => set({ main_app_version }),
setMode: (mode) => set({ mode }),
setConfigMode: async (mode: modeType) => {
try {
diff --git a/src/types/app-status.ts b/src/types/app-status.ts
index 47a036aee..f5dfcdc12 100644
--- a/src/types/app-status.ts
+++ b/src/types/app-status.ts
@@ -5,6 +5,7 @@ export interface AppStatus {
base_node?: BaseNodeStatus;
wallet_balance?: WalletBalance;
applications_versions?: ApplicationsVersions;
+ main_app_version?: string;
mode: modeType;
auto_mining: boolean;
}