diff --git a/src/features/project-assets/AssetLibraryPage.vue b/src/features/project-assets/AssetLibraryPage.vue index 650407a..ce98b9c 100644 --- a/src/features/project-assets/AssetLibraryPage.vue +++ b/src/features/project-assets/AssetLibraryPage.vue @@ -412,7 +412,7 @@ async function removeAsset() { :src="selectedAsset.publicUrl" :alt="selectedAsset.name" preview - object-fit="contain" + object-fit="cover" class="asset-management-preview" />
@@ -497,10 +497,20 @@ async function removeAsset() { background: linear-gradient(to top, rgb(0 0 0 / 0.84) 0, rgb(0 0 0 / 0.35) 42%, transparent 70%); } .asset-library-actions { - @apply flex self-end items-center gap-1 mb-[10px]; + @apply absolute top-[10px] left-[10px] flex items-center gap-1 opacity-0 pointer-events-none; + transform: translateY(-4px); + transition: + opacity 0.18s ease, + transform 0.18s ease; +} +.asset-library-card:hover .asset-library-actions, +.asset-library-card:focus-visible .asset-library-actions, +.asset-library-card:focus-within .asset-library-actions { + @apply opacity-100 pointer-events-auto; + transform: translateY(0); } .asset-overlay-button { - @apply text-white bg-black/35 backdrop-blur-sm; + @apply text-white bg-black/45 backdrop-blur-sm; } .asset-overlay-button:hover { @apply text-white bg-black/60; @@ -526,6 +536,12 @@ async function removeAsset() { .asset-management-fields { @apply min-w-0; } +.asset-management-fields :deep(.n-form-item) { + @apply mb-4; +} +.asset-management-fields :deep(.n-form-item-label) { + @apply pb-2; +} .asset-detail-grid { @apply grid grid-cols-[88px_minmax(0,_1fr)] gap-x-4 gap-y-2 mt-1 p-3 bg-(--app-subtle) text-xs; }