From 89d1ee4c80ed5754808391e2c44272feda63beb1 Mon Sep 17 00:00:00 2001 From: "Joey@macstudio" <4296411@qq.com> Date: Wed, 15 Jul 2026 15:56:37 +0800 Subject: [PATCH] Highlight changed version segments --- web/stores/change.ts | 8 +++++++ web/stories/states.stories.svelte | 21 ++++++++++++----- web/ui/sidebars/changes.svelte | 18 +++++++++++--- web/ui/version.svelte | 39 +++++++++++++++++++++++++++++++ 4 files changed, 77 insertions(+), 9 deletions(-) create mode 100644 web/ui/version.svelte diff --git a/web/stores/change.ts b/web/stores/change.ts index 9fb8704..9ea0875 100644 --- a/web/stores/change.ts +++ b/web/stores/change.ts @@ -81,6 +81,14 @@ export function formatVersion(version: DependencyVersion): string { } } +export function formatVersionParts( + version: DependencyVersion +): null | RegExpMatchArray { + return formatVersion(version).match( + /^([vV]?)(\d+)(?:\.(\d+))?(?:\.(\d+))?((?:-[\dA-Za-z.-]+)?(?:\+[\dA-Za-z.-]+)?)$/ + ) +} + export function hasChangelog(changelog: LoadingValue): boolean { if (changelog.isLoading) { return true diff --git a/web/stories/states.stories.svelte b/web/stories/states.stories.svelte index 3dc0755..04a46dc 100644 --- a/web/stories/states.stories.svelte +++ b/web/stories/states.stories.svelte @@ -1,7 +1,7 @@ + +{#if parts} + {parts[1]}{parts[2]}{#if parts[3] !== undefined}.{parts[3]}{/if}{#if parts[4] !== undefined}.{parts[4]}{parts[5]}{:else}{parts[5]}{/if} +{:else} + {value} +{/if} + +