|
| 1 | +<template> |
| 2 | + <div class="min-h-screen bg-background-primary"> |
| 3 | + <div class="container mx-auto px-6 py-16"> |
| 4 | + <h1 class="text-4xl font-bold mb-8 text-accent-primary"> |
| 5 | + Сторінка показує всі бейджі які є в дизайн системі сайту |
| 6 | + </h1> |
| 7 | + |
| 8 | + <div class="space-y-12"> |
| 9 | + <div v-for="variant in badgeVariants" :key="variant.name" class="space-y-6"> |
| 10 | + <h2 class="text-2xl font-semibold text-accent-primary"> |
| 11 | + {{ variant.label }} |
| 12 | + </h2> |
| 13 | + <div class="grid grid-cols-1 md:grid-cols-2 gap-6"> |
| 14 | + <div v-for="example in badgeExamples" :key="`${variant.name}-${example.label}`" class="p-6"> |
| 15 | + <div class="flex flex-col gap-4"> |
| 16 | + <div class="text-center"> |
| 17 | + <h3 class="text-lg font-medium mb-2 text-accent-primary"> |
| 18 | + {{ example.label }} |
| 19 | + </h3> |
| 20 | + <MainBadge :variant="variant.name" :label="example.text" /> |
| 21 | + </div> |
| 22 | + </div> |
| 23 | + </div> |
| 24 | + </div> |
| 25 | + </div> |
| 26 | + </div> |
| 27 | + |
| 28 | + <div class="mt-16 p-8 bg-fill-secondary rounded-xl border border-separator-primary"> |
| 29 | + <h2 class="text-2xl font-bold mb-6 text-accent-primary"> |
| 30 | + Badge Examples |
| 31 | + </h2> |
| 32 | + <div class="flex flex-wrap gap-4 items-center"> |
| 33 | + <MainBadge variant="info" label="Info Badge" /> |
| 34 | + <MainBadge variant="success" label="Success Badge" /> |
| 35 | + <MainBadge variant="error" label="Error Badge" /> |
| 36 | + <MainBadge variant="info" label="New" /> |
| 37 | + <MainBadge variant="success" label="Active" /> |
| 38 | + <MainBadge variant="error" label="Inactive" /> |
| 39 | + <MainBadge variant="info" label="Pending" /> |
| 40 | + <MainBadge variant="success" label="Completed" /> |
| 41 | + <MainBadge variant="error" label="Failed" /> |
| 42 | + </div> |
| 43 | + </div> |
| 44 | + </div> |
| 45 | + </div> |
| 46 | +</template> |
| 47 | + |
| 48 | +<script setup lang="ts"> |
| 49 | +import { onMounted } from 'vue' |
| 50 | +import { trackEvent } from '~~/app/utils/track' |
| 51 | +
|
| 52 | +onMounted(() => { |
| 53 | + trackEvent('page_view', { page: 'design_sandbox_badges' }) |
| 54 | +}) |
| 55 | +
|
| 56 | +const badgeVariants = [ |
| 57 | + { name: 'info' as const, label: 'Info' }, |
| 58 | + { name: 'success' as const, label: 'Success' }, |
| 59 | + { name: 'error' as const, label: 'Error' }, |
| 60 | +] |
| 61 | +
|
| 62 | +const badgeExamples = [ |
| 63 | + { label: 'Short Text', text: 'Badge' }, |
| 64 | + { label: 'Medium Text', text: 'Status Badge' }, |
| 65 | + { label: 'Long Text', text: 'Very Long Badge Text' }, |
| 66 | + { label: 'Number', text: '42' }, |
| 67 | +] |
| 68 | +</script> |
0 commit comments