summaryrefslogtreecommitdiff
path: root/web/templates/partials/shopping-mode-items.html
blob: fdf06744936a7ee2ad0878de75d1e60bced8c2d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
{{define "shopping-mode-items"}}
<div class="space-y-2">
    {{if .Items}}
    {{range .Items}}
    <div class="item-row flex items-center gap-3 p-4 bg-white/5 rounded-xl border border-white/10 cursor-pointer {{if .Checked}}item-checked{{end}}"
         hx-post="/shopping/mode/{{$.StoreName}}/toggle"
         hx-vals='{"id":"{{.ID}}","source":"{{.Source}}","checked":{{if .Checked}}false{{else}}true{{end}}}'
         hx-target="#shopping-items"
         hx-swap="innerHTML">

        <!-- Checkbox visual -->
        <div class="w-6 h-6 rounded-full border-2 flex items-center justify-center flex-shrink-0
                    {{if .Checked}}bg-green-500/30 border-green-500{{else}}border-white/30{{end}}">
            {{if .Checked}}
            <svg class="w-4 h-4 text-green-400" fill="currentColor" viewBox="0 0 20 20">
                <path fill-rule="evenodd" d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z" clip-rule="evenodd"></path>
            </svg>
            {{end}}
        </div>

        <!-- Item content -->
        <div class="flex-1 min-w-0">
            <span class="item-name text-white block">{{.Name}}</span>
            {{if .Quantity}}
            <span class="text-sm text-white/50">{{.Quantity}}</span>
            {{end}}
        </div>

        <!-- Source badge -->
        <span class="text-xs px-2 py-0.5 rounded flex-shrink-0
                    {{if eq .Source "trello"}}bg-blue-900/50 text-blue-300
                    {{else if eq .Source "user"}}bg-purple-900/50 text-purple-300
                    {{else}}bg-green-900/50 text-green-300{{end}}">
            {{.Source}}
        </span>
    </div>
    {{end}}
    {{else}}
    <div class="text-center py-16 text-white/50">
        <p class="text-lg mb-2">No items</p>
        <p class="text-sm">Add items using the form below</p>
    </div>
    {{end}}
</div>
{{end}}