2026-03-02 01:50:41 +01:00
|
|
|
import { useState, useEffect } from 'react'
|
|
|
|
|
import { invoke } from '@tauri-apps/api/core'
|
|
|
|
|
import { isTauri, mockInvoke } from '../mock-tauri'
|
|
|
|
|
|
|
|
|
|
function tauriCall<T>(cmd: string): Promise<T> {
|
|
|
|
|
return isTauri() ? invoke<T>(cmd) : mockInvoke<T>(cmd)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function useBuildNumber(): string | undefined {
|
|
|
|
|
const [buildNumber, setBuildNumber] = useState<string>()
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
2026-05-02 16:39:43 +02:00
|
|
|
let mounted = true
|
|
|
|
|
|
|
|
|
|
tauriCall<string>('get_build_number')
|
|
|
|
|
.then((value) => {
|
|
|
|
|
if (mounted) setBuildNumber(value)
|
|
|
|
|
})
|
|
|
|
|
.catch(() => {
|
|
|
|
|
if (mounted) setBuildNumber('b?')
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
return () => {
|
|
|
|
|
mounted = false
|
|
|
|
|
}
|
2026-03-02 01:50:41 +01:00
|
|
|
}, [])
|
|
|
|
|
|
|
|
|
|
return buildNumber
|
|
|
|
|
}
|