Skip to content

Commit 1881a95

Browse files
author
Ibrahim BinAlshikh
committed
ui: redesign cookie consent as floating card with icon and animation
1 parent 5a57fbf commit 1881a95

1 file changed

Lines changed: 50 additions & 18 deletions

File tree

website/src/components/CookieConsent.vue

Lines changed: 50 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -31,22 +31,54 @@ function decline() {
3131
</script>
3232

3333
<template>
34-
<v-snackbar
35-
v-model="showBanner"
36-
:timeout="-1"
37-
location="bottom"
38-
multi-line
39-
color="surface"
40-
class="cookie-consent"
41-
>
42-
<div class="d-flex align-center flex-wrap ga-3">
43-
<div class="text-body-2 flex-grow-1">
44-
We use cookies to analyze site traffic and improve your experience. No personal data is shared with third parties.
45-
</div>
46-
<div class="d-flex ga-2">
47-
<v-btn variant="outlined" size="small" @click="decline">Decline</v-btn>
48-
<v-btn variant="flat" color="primary" size="small" @click="accept">Accept</v-btn>
49-
</div>
50-
</div>
51-
</v-snackbar>
34+
<v-slide-y-reverse-transition>
35+
<v-card
36+
v-if="showBanner"
37+
class="cookie-banner"
38+
elevation="8"
39+
rounded="lg"
40+
>
41+
<v-card-text class="pa-5">
42+
<div class="d-flex align-start ga-3">
43+
<v-icon icon="mdi-cookie" size="28" color="primary" class="mt-1" />
44+
<div class="flex-grow-1">
45+
<div class="text-subtitle-1 font-weight-bold mb-1">Cookie Preferences</div>
46+
<div class="text-body-2 text-medium-emphasis">
47+
We use analytics cookies to understand how visitors interact with our site.
48+
No personal data is sold or shared with third parties. You can change your preference at any time.
49+
</div>
50+
</div>
51+
</div>
52+
</v-card-text>
53+
<v-divider />
54+
<v-card-actions class="pa-4 pt-3">
55+
<v-spacer />
56+
<v-btn variant="text" size="small" @click="decline">
57+
Decline
58+
</v-btn>
59+
<v-btn variant="flat" color="primary" size="small" @click="accept">
60+
Accept Analytics
61+
</v-btn>
62+
</v-card-actions>
63+
</v-card>
64+
</v-slide-y-reverse-transition>
5265
</template>
66+
67+
<style scoped>
68+
.cookie-banner {
69+
position: fixed;
70+
bottom: 24px;
71+
left: 24px;
72+
z-index: 9999;
73+
max-width: 420px;
74+
width: calc(100% - 48px);
75+
}
76+
77+
@media (max-width: 600px) {
78+
.cookie-banner {
79+
left: 12px;
80+
bottom: 12px;
81+
max-width: calc(100% - 24px);
82+
}
83+
}
84+
</style>

0 commit comments

Comments
 (0)