diff --git a/main_dc/yalarba/easySite/easySite/app/components/layout/PlanBadge.vue b/main_dc/yalarba/easySite/easySite/app/components/layout/PlanBadge.vue index 380f322..d6e6c23 100644 --- a/main_dc/yalarba/easySite/easySite/app/components/layout/PlanBadge.vue +++ b/main_dc/yalarba/easySite/easySite/app/components/layout/PlanBadge.vue @@ -1,7 +1,19 @@ @@ -11,6 +23,10 @@ const props = defineProps({ type: String, default: 'start', validator: (value) => ['start', 'pro', 'vip'].includes(value) + }, + isCurrentPlan: { + type: Boolean, + default: false } }) @@ -20,12 +36,89 @@ const planLabels = { vip: 'VIP' } +const planDescriptions = { + start: 'Базовый план для начала работы', + pro: 'Расширенные возможности для профессионалов', + vip: 'Премиум решение для максимального роста' +} + const planColors = { - start: 'bg-green-100 text-green-800 border-green-200', - pro: 'bg-blue-100 text-blue-800 border-blue-200', - vip: 'bg-purple-100 text-purple-800 border-purple-200' + start: 'bg-green-100 text-green-800 border-green-200 hover:bg-green-200', + pro: 'bg-blue-100 text-blue-800 border-blue-200 hover:bg-blue-200', + vip: 'bg-purple-100 text-purple-800 border-purple-200 hover:bg-purple-200' } const planLabel = computed(() => planLabels[props.plan]) -const badgeClass = computed(() => `inline-flex items-center px-3 py-1 rounded-full border ${planColors[props.plan]}`) - \ No newline at end of file +const badgeClass = computed(() => `inline-flex items-center px-3 py-1 rounded-full border cursor-pointer transition-colors duration-200 ${planColors[props.plan]}`) + +// Текст подсказки +const tooltipText = computed(() => { + if (props.isCurrentPlan) { + return `Это ваш тарифный план: ${planDescriptions[props.plan]}` + } + return planDescriptions[props.plan] +}) + +// Навигация на страницу правил +const navigateToRules = () => { + navigateTo('/rules') +} + + + \ No newline at end of file