fix: (latest) or (offline) status text was not displayed sometimes after the page load

This commit is contained in:
Vitaly Turovsky 2024-10-31 00:28:54 +03:00
commit 5791626cc5
3 changed files with 26 additions and 13 deletions

View file

@ -19,8 +19,10 @@ interface Props {
mapsProvider?: string
versionStatus?: string
versionTitle?: string
onVersionClick?: () => void
onVersionStatusClick?: () => void
bottomRightLinks?: string
versionText?: string
onVersionTextClick?: () => void
}
const httpsRegex = /^https?:\/\//
@ -33,9 +35,11 @@ export default ({
githubAction,
linksButton,
openFileAction,
versionText,
onVersionTextClick,
versionStatus,
versionTitle,
onVersionClick,
onVersionStatusClick,
bottomRightLinks
}: Props) => {
if (!bottomRightLinks?.trim()) bottomRightLinks = undefined
@ -109,13 +113,16 @@ export default ({
</div>
<div className={styles['bottom-info']}>
<span
title={`${versionTitle} (click to reload)`}
onClick={onVersionClick}
className={styles['product-info']}
>
Prismarine Web Client {versionStatus}
</span>
<div style={{ display: 'flex', flexDirection: 'column', gap: 2 }}>
<span style={{ fontSize: 10, color: 'gray' }} onClick={onVersionTextClick}>{versionText}</span>
<span
title={`${versionTitle} (click to reload)`}
onClick={onVersionStatusClick}
className={styles['product-info']}
>
Prismarine Web Client {versionStatus}
</span>
</div>
<span className={styles['product-description']}>
<div className={styles['product-link']}>
{linksParsed?.map(([name, link], i, arr) => {

View file

@ -65,8 +65,11 @@ export default () => {
setVersionStatus(`(${isLatest ? 'latest' : 'new version available'}${mainMenuState.serviceWorkerLoaded ? ' - Available Offline' : ''})`)
}
subscribe(mainMenuState, upStatus)
upStatus()
setVersionTitle(`Loaded: ${process.env.BUILD_VERSION}. Remote: ${contents}`)
}, () => { })
}, () => {
setVersionStatus('(offline)')
})
}
}, [])
@ -113,10 +116,13 @@ export default () => {
mapsProvider={mapsProviderUrl}
versionStatus={versionStatus}
versionTitle={versionTitle}
onVersionClick={async () => {
onVersionStatusClick={async () => {
setVersionStatus('(reloading)')
await refreshApp()
}}
onVersionTextClick={async () => {
openGithub('/releases')
}}
/>
</div>}
</Transition>

View file

@ -185,8 +185,8 @@ export const reloadChunks = async () => {
await worldView.updatePosition(bot.entity.position, true)
}
export const openGithub = () => {
window.open(process.env.GITHUB_URL, '_blank')
export const openGithub = (addUrl = '') => {
window.open(`${process.env.GITHUB_URL}${addUrl}`, '_blank')
}
export const resolveTimeout = async (promise, timeout = 10_000) => {