|
1 | 1 | <template>
|
2 | 2 | <div class="w-full md:w-64 flex-shrink-0">
|
3 | 3 | <div class="bg-white px-8 pb-8 sm:px-6 sm:pb-6 rounded-lg shadow-sm">
|
| 4 | + <!-- PRODUCT TYPE --> |
4 | 5 | <div class="mb-8">
|
5 | 6 | <h3 class="font-semibold mb-4">PRODUKT TYPE</h3>
|
6 | 7 | <div class="space-y-2">
|
7 |
| - <div class="flex items-center"> |
8 |
| - <input type="checkbox" id="clothing" class="form-checkbox h-4 w-4 text-blue-600 rounded" disabled /> |
9 |
| - <label for="clothing" class="ml-2 text-sm">Clothing</label> |
10 |
| - </div> |
11 |
| - <div class="flex items-center"> |
12 |
| - <input type="checkbox" id="tshirts" class="form-checkbox h-4 w-4 text-blue-600 rounded" disabled /> |
13 |
| - <label for="tshirts" class="ml-2 text-sm">Tshirts</label> |
14 |
| - </div> |
15 |
| - <div class="flex items-center"> |
16 |
| - <input type="checkbox" id="uncategorized" class="form-checkbox h-4 w-4 text-blue-600 rounded" disabled /> |
17 |
| - <label for="uncategorized" class="ml-2 text-sm">Uncategorized</label> |
18 |
| - </div> |
| 8 | + <Checkbox id="clothing" label="Clothing" :checked="false" /> |
| 9 | + <Checkbox id="tshirts" label="Tshirts" :checked="false" /> |
| 10 | + <Checkbox id="uncategorized" label="Uncategorized" :checked="false" /> |
19 | 11 | </div>
|
20 | 12 | </div>
|
21 | 13 |
|
| 14 | + <!-- PRICE --> |
22 | 15 | <div class="mb-8">
|
23 | 16 | <h3 class="font-semibold mb-4">PRIS</h3>
|
24 |
| - <div class="flex items-center space-x-2"> |
25 |
| - <input type="range" min="0" max="1000" class="w-full accent-blue-600" disabled /> |
26 |
| - </div> |
27 |
| - <div class="flex justify-between text-sm mt-1"> |
28 |
| - <span>kr 0</span> |
29 |
| - <span>kr 1000</span> |
30 |
| - </div> |
| 17 | + <RangeSlider |
| 18 | + id="price-range" |
| 19 | + label="Pris" |
| 20 | + :min="0" |
| 21 | + :max="1000" |
| 22 | + :value="1000" |
| 23 | + :startValue="0" |
| 24 | + :formatValue="(v) => `kr ${v}`" |
| 25 | + :disabled="true" |
| 26 | + /> |
31 | 27 | </div>
|
32 | 28 |
|
| 29 | + <!-- SIZE --> |
33 | 30 | <div class="mb-8">
|
34 | 31 | <h3 class="font-semibold mb-4">STØRRELSE</h3>
|
35 |
| - <div class="grid grid-cols-1 gap-2"> |
36 |
| - <button class="px-4 py-1 rounded border text-sm bg-gray-100 text-gray-800" disabled>Large</button> |
| 32 | + <div class="grid grid-cols-3 gap-2"> |
| 33 | + <Button :selected="true" variant="filter" :disabled="true">Large</Button> |
37 | 34 | </div>
|
38 | 35 | </div>
|
39 | 36 |
|
| 37 | + <!-- COLOR --> |
40 | 38 | <div class="mb-8">
|
41 | 39 | <h3 class="font-semibold mb-4">FARGE</h3>
|
42 |
| - <div class="grid grid-cols-1 gap-2"> |
43 |
| - <button class="w-8 h-8 rounded-full bg-blue-500" disabled></button> |
| 40 | + <div class="grid grid-cols-3 gap-2"> |
| 41 | + <button |
| 42 | + class="w-8 h-8 rounded-full flex items-center justify-center text-xs bg-blue-500" |
| 43 | + :disabled="true" |
| 44 | + title="Blue" |
| 45 | + /> |
44 | 46 | </div>
|
45 | 47 | </div>
|
46 | 48 |
|
47 |
| - <button class="mt-4 w-full py-2 rounded bg-gray-100 text-gray-500 text-sm font-medium" disabled> |
| 49 | + <Button variant="reset" class="mt-4 w-full" :disabled="true"> |
48 | 50 | Resett filter
|
49 |
| - </button> |
| 51 | + </Button> |
50 | 52 | </div>
|
51 | 53 | </div>
|
52 | 54 | </template>
|
53 | 55 |
|
54 | 56 | <script setup>
|
55 |
| -// No logic yet, purely presentational |
| 57 | +import Checkbox from '~/components/common/Checkbox.vue' |
| 58 | +import RangeSlider from '~/components/common/RangeSlider.vue' |
| 59 | +import Button from '~/components/common/CommonButton.vue' |
56 | 60 | </script>
|
0 commit comments