diff --git a/components/campaigns/campaign.vue b/components/campaigns/campaign.vue
index 0d0d7bc..d690443 100644
--- a/components/campaigns/campaign.vue
+++ b/components/campaigns/campaign.vue
@@ -29,15 +29,18 @@
:href="campaign.url || campaign.affiliate?.url"
target="_blank"
class="campaign"
+ :style="{ background: backdrop && `url(${bannerSrc})` }"
data-umami-event="campaign-click"
:data-umami-event-campaign-id="`${campaign.entity.slug}-${campaign.id}`"
>
-
+
+
![]()
+
@@ -52,6 +55,10 @@ const props = defineProps({
type: Object,
default: null,
},
+ backdrop: {
+ type: Boolean,
+ default: false,
+ },
});
// console.log(props.campaign);
@@ -76,7 +83,8 @@ const bannerSrc = (() => {
height: 100%;
display: flex;
justify-content: center;
- /* align-items: center; */
+ border-radius: .25rem;
+ overflow: hidden;
}
.frame {
@@ -84,11 +92,27 @@ const bannerSrc = (() => {
overflow: hidden;
}
+.campaign-overlay {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ box-sizing: border-box;
+ padding: 4px; /* margin for drop shadow */
+ justify-content: center;
+ align-items: center;
+ backdrop-filter: blur(1rem) saturate(70%) brightness(125%);
+}
+
+.dark .campaign-overlay {
+ backdrop-filter: blur(1rem) saturate(70%) brightness(75%);
+}
+
.campaign-banner {
height: auto;
max-height: 100%;
max-width: 100%;
object-fit: contain;
+ filter: drop-shadow(0 0 2px var(--shadow-weak-10));
}
.restricted {
diff --git a/components/scenes/scenes.vue b/components/scenes/scenes.vue
index 37d5974..643a0e9 100644
--- a/components/scenes/scenes.vue
+++ b/components/scenes/scenes.vue
@@ -167,7 +167,10 @@
v-if="item === 'campaign' && sceneCampaign"
:key="`campaign-${item.id}`"
>
-
+