mirror of
https://github.com/rjNemo/rentease.git
synced 2026-06-11 05:06:52 +00:00
83 lines
1.8 KiB
Text
83 lines
1.8 KiB
Text
package view
|
|
|
|
import "github.com/rjNemo/rentease/config"
|
|
|
|
func makeItems() []string {
|
|
host := config.NewHost()
|
|
items := make([]string, 0, 2)
|
|
for _, i := range host.Items {
|
|
if i.Name == "T2" || i.Name == "T3" {
|
|
items = append(items, i.Name)
|
|
}
|
|
}
|
|
return items
|
|
}
|
|
|
|
var items = makeItems()
|
|
|
|
func invalidTimeRange(errs []error) bool {
|
|
for _, e := range errs {
|
|
if e.Error() == "invalid_time_range" {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|
|
|
|
templ RequestBookingForm(errors []error) {
|
|
<form id="booking-request-form" hx-post="/request-booking">
|
|
<fieldset class="grid">
|
|
<label for="item">
|
|
Logement
|
|
<select name="item" id="item" required>
|
|
for _,i := range items {
|
|
<option value={ i }>{ i }</option>
|
|
}
|
|
</select>
|
|
</label>
|
|
<label for="from">
|
|
Du
|
|
<input type="date" id="from" name="from" required/>
|
|
</label>
|
|
<label for="to">
|
|
Au
|
|
if (invalidTimeRange(errors)) {
|
|
<input type="date" id="to" name="to" required aria-invalid="true"/>
|
|
<small>La date de depart doit etre apres celle d'arrivee</small>
|
|
} else {
|
|
<input type="date" id="to" name="to" required/>
|
|
}
|
|
</label>
|
|
</fieldset>
|
|
<fieldset class="grid">
|
|
<label for="name">
|
|
Nom *
|
|
<input type="text" id="name" name="name" required/>
|
|
</label>
|
|
<label for="phone">
|
|
Telephone
|
|
<input type="tel" id="phone" name="phone"/>
|
|
</label>
|
|
<label for="email">
|
|
Email
|
|
<input type="email" id="email" name="email"/>
|
|
</label>
|
|
</fieldset>
|
|
<label for="message">
|
|
Message
|
|
<textarea name="message" id="message"></textarea>
|
|
</label>
|
|
<button type="submit">Book</button>
|
|
</form>
|
|
}
|
|
|
|
templ Index() {
|
|
@PublicLayout() {
|
|
<section>
|
|
<h1>Reserver votre sejour des maintenant</h1>
|
|
<article>
|
|
@RequestBookingForm(nil)
|
|
</article>
|
|
</section>
|
|
}
|
|
}
|