import { useAppVersion } from './useAppVersion' /** * Subtle version indicator в header. Показывает client version + short commit. * *
Hover/title attribute exposes полную идентификацию (server tag, build time). * Используется как secondary affordance для эксплуатационной диагностики * (юзер скриншотит badge в bug report → ops знает точную сборку). * *
Если update available — badge подсвечивается dot indicator. Banner делает * primary CTA, badge — passive signal. */ export function VersionBadge() { const { clientVersion, clientCommit, clientBuiltAt, serverVersion, serverCommit, serverTag, updateAvailable, } = useAppVersion() const tooltip = [ `client: ${clientVersion} (${clientCommit})`, `server: ${serverTag || serverVersion} (${serverCommit ?? '...'})`, `built: ${clientBuiltAt}`, ].join('\n') return ( {updateAvailable && ( )} {/* Prefer server tag (v1.2.0 etc.) над package.json clientVersion (0.1.0). serverTag только при tag build'е — на branch builds показываем clientVersion. */} {serverTag && serverTag !== 'none' ? serverTag : `v${clientVersion}`} · {(serverCommit || clientCommit).substring(0, 7)} ) }