@@ -386,13 +406,36 @@ const goBack = () => router.back()
.track-directions-btn {
background: var(--active-color);
- color: white;
+ color: #101820;
border: none;
- padding: 8px 16px;
- border-radius: 8px;
+ padding: 10px 18px;
+ border-radius: 12px;
font-weight: 700;
cursor: pointer;
- margin-top: 4px;
+ margin-top: 12px;
+ display: flex;
+ align-items: center;
+ gap: 8px;
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+}
+
+.track-directions-btn:hover {
+ transform: translateY(-2px);
+ box-shadow: 0 4px 12px rgba(254, 231, 21, 0.3);
+ filter: brightness(1.1);
+}
+
+.website-link {
+ color: var(--active-color);
+ text-decoration: none;
+ font-weight: 600;
+ font-size: 1.1rem;
+ transition: opacity 0.2s;
+}
+
+.website-link:hover {
+ opacity: 0.8;
+ text-decoration: underline;
}
/* Offers Section */
diff --git a/frontend/src/views/CouponsView.vue b/frontend/src/views/CouponsView.vue
index bc2ef5f..2795d68 100644
--- a/frontend/src/views/CouponsView.vue
+++ b/frontend/src/views/CouponsView.vue
@@ -5,6 +5,8 @@ import { useCouponStore } from '@/stores/coupon'
import type { Coupon } from '@/types'
import FavoriteButton from '@/components/FavoriteButton.vue'
import { getImageUrl as utilGetImageUrl } from '@/utils/imageUrl'
+import AuthGuard from '@/components/common/AuthGuard.vue'
+import { analyticsService } from '@/services/analyticsService'
const { t } = useI18n()
const couponStore = useCouponStore()
@@ -42,7 +44,6 @@ function getImageUrl(path: string | null | undefined) {
}
-import { analyticsService } from '@/services/analyticsService'
function openCoupon(coupon: Coupon) {
selectedCoupon.value = coupon
@@ -125,36 +126,42 @@ function getCategoryIcon(category?: string | null) {
{{ t('coupons.noResults') }}