[feat] Show conflicting status for installed packages with compatibility issues (#4579)

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Jin Yi
2025-07-29 17:31:57 +09:00
parent ba8e63d515
commit 956bc705d7
3 changed files with 16 additions and 9 deletions

View File

@@ -32,8 +32,9 @@ type StatusProps = {
severity: MessageSeverity
}
const { statusType } = defineProps<{
const { statusType, hasCompatibilityIssues } = defineProps<{
statusType: Status
hasCompatibilityIssues?: boolean
}>()
const statusPropsMap: Record<Status, StatusProps> = {
@@ -71,10 +72,14 @@ const statusPropsMap: Record<Status, StatusProps> = {
}
}
const statusLabel = computed(
() => statusPropsMap[statusType]?.label || 'unknown'
const statusLabel = computed(() =>
hasCompatibilityIssues
? 'conflicting'
: statusPropsMap[statusType]?.label || 'unknown'
)
const statusSeverity = computed(
() => statusPropsMap[statusType]?.severity || 'secondary'
const statusSeverity = computed(() =>
hasCompatibilityIssues
? 'error'
: statusPropsMap[statusType]?.severity || 'secondary'
)
</script>

View File

@@ -32,6 +32,7 @@
:status-type="
nodePack.status as components['schemas']['NodeVersionStatus']
"
:has-compatibility-issues="hasCompatibilityIssues"
/>
</MetadataRow>
<MetadataRow :label="t('manager.version')">
@@ -131,9 +132,9 @@ const conflictResult = computed((): ConflictDetectionResult | null => {
return null
})
const hasCompatibilityIssues = computed(
() => conflictResult.value?.has_conflict ?? false
)
const hasCompatibilityIssues = computed(() => {
return isInstalled.value && conflictResult.value?.has_conflict ? true : false
})
const infoItems = computed<InfoItem[]>(() => [
{

View File

@@ -195,7 +195,8 @@
"flagged": "Flagged",
"deleted": "Deleted",
"banned": "Banned",
"unknown": "Unknown"
"unknown": "Unknown",
"conflicting": "Conflicting"
},
"sort": {
"downloads": "Most Popular",