Something went wrong. Try again.
source dump of claude code forked from oppi.li/claude-code
Something went wrong. Try again.
982 B · 34 lines
TypeScript
at main
1234567891011121314151617181920212223242526272829303132333435import { useState } from 'react'import { major, minor, patch } from 'semver'
export function getSemverPart(version: string): string { return `${major(version, { loose: true })}.${minor(version, { loose: true })}.${patch(version, { loose: true })}`}
export function shouldShowUpdateNotification( updatedVersion: string, lastNotifiedSemver: string | null,): boolean { const updatedSemver = getSemverPart(updatedVersion) return updatedSemver !== lastNotifiedSemver}
export function useUpdateNotification( updatedVersion: string | null | undefined, initialVersion: string = MACRO.VERSION,): string | null { const [lastNotifiedSemver, setLastNotifiedSemver] = useState<string | null>( () => getSemverPart(initialVersion), )
if (!updatedVersion) { return null }
const updatedSemver = getSemverPart(updatedVersion) if (updatedSemver !== lastNotifiedSemver) { setLastNotifiedSemver(updatedSemver) return updatedSemver } return null}