summaryrefslogtreecommitdiff
path: root/view/timers_list.templ
blob: 3deb7e35f5134275b751b3f23954404ca9895299 (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
46
47
48
49
50
package view

import (
    "stevenlr.com/timer/model"
    "fmt"
)

templ timer(t model.Timer) {
    <p class="timer-row">
        <a href={ templ.URL(fmt.Sprint("/timer/", t.Id)) }>{ t.Name }</a>
        -
        <a
            href="javascript:void(0);"
            hx-delete={ fmt.Sprint("/timer/", t.Id) }
            hx-target="closest .timer-row"
        >Delete</a>
    </p>
}

templ TimerCreateForm(timerName string, err string) {
    <form
        hx-put="/timer"
        hx-target="closest .timers-list"
        hx-target-error="this"
    >
        <p>
            <input type="text" name="timerName" value={ timerName } placeholder="Name" />
            <input type="number" name="days" placeholder="Days" style="width: 5em;" />
            <input type="number" name="hours" placeholder="Hours" style="width: 5em;" />
            <button type="submit">Create</button>
        </p>
        if err != "" {
            <p class="error">{ err }</p>
        }
    </form>
}

templ TimersList(timers []model.Timer, isSignedIn bool) {
    <div class="timers-list">
        if isSignedIn {
			<h1>Timers</h1>
			for _, t := range timers {
				@timer(t)
			}
            <h4>Create timer</h4>
            @TimerCreateForm("", "")
        }
    </div>
}