diff --git a/app/components/Package/ClaimPackageModal.vue b/app/components/Package/ClaimPackageModal.vue index 1f76380c9..7d061331b 100644 --- a/app/components/Package/ClaimPackageModal.vue +++ b/app/components/Package/ClaimPackageModal.vue @@ -3,6 +3,8 @@ import { checkPackageName } from '~/utils/package-name' const props = defineProps<{ packageName: string + packageScope?: string | null + canPublishToScope: boolean }>() const { @@ -221,9 +223,19 @@ const previewPackageJson = computed(() => { -
+ {{ $t('claim.modal.missing_permission', { scope: packageScope }) }} +
+{{ $t('claim.modal.taken') }}
{{ $t('claim.modal.publish_hint') }}
diff --git a/app/pages/search.vue b/app/pages/search.vue index e0cf0c9ed..dcb285382 100644 --- a/app/pages/search.vue +++ b/app/pages/search.vue @@ -332,14 +332,13 @@ const canPublishToScope = computed(() => { return orgMembership.value[scope] === true }) -// Show claim prompt when valid name, available, connected, and has permission +// Show claim prompt when valid name, available, either not connected or connected and has permission const showClaimPrompt = computed(() => { return ( - isConnected.value && isValidPackageName.value && packageAvailability.value?.available === true && packageAvailability.value.name === query.value.trim() && - canPublishToScope.value && + (!isConnected.value || (isConnected.value && canPublishToScope.value)) && status.value !== 'pending' ) }) @@ -569,7 +568,7 @@ defineOgImageComponent('Default', {@@ -687,7 +686,7 @@ defineOgImageComponent('Default', {