Compare commits

...
Sign in to create a new pull request.

4 commits
main ... main

3 changed files with 62 additions and 0 deletions

View file

@ -9,10 +9,13 @@ import (
"bytes"
"fmt"
"net/http"
"strings"
)
// Response represents an HTTP response to be sent to the client, including headers, body, status code, and metadata.
type Response struct {
FlashMessage string
MsgType string
headers []header
body []byte
statusCode int
@ -144,6 +147,23 @@ func (rs *Response) Redirect(url string) *Response {
}, map[string]interface{}{
"url": "url",
})
if rs.FlashMessage != "" || rs.MsgType != "" {
if !strings.Contains(url, "?") {
url += "?"
} else {
url += "&"
}
if rs.FlashMessage != "" {
url += "flash_message=" + rs.FlashMessage
}
if rs.MsgType != "" {
if rs.FlashMessage != "" {
url += "&"
}
url += "msg_type=" + rs.MsgType
}
}
if v.Failed() {
if url[0:1] != "/" {
rs.redirectTo = "/" + url

View file

@ -0,0 +1,14 @@
package components
type FormColorOpacity struct {
ColorID string
OpacityID string
Label string
ColorHexValue string
OpacityValue string
Hint string
Error string
IsDisabled bool
IsRequired bool
HasOpacity bool
}

View file

@ -0,0 +1,28 @@
{{ define "form_color_opacity"}}
<div class="input-container">
<script src="/public/jscolor.js"></script>
<label class="form-label" for="{{.ColorID}}">{{.Label}}</label><br>
<input id="{{ .ColorID }}" data-jscolor="{alphaElement:'#{{ .OpacityID }}'}" value="{{ .ColorHexValue }}" name="{{ .ColorID }}"
{{if eq .IsDisabled true}}
disabled
{{end}}
{{if eq .IsRequired true}}
required
{{end}}
>
{{if eq .HasOpacity true}}
opacity: <input id="{{ .OpacityID }}" value="{{ .OpacityValue }}" name="{{ .OpacityID }}" size="5"
{{if eq .IsDisabled true}}
disabled
{{end}}
{{if eq .IsRequired true}}
required
{{end}}
>
{{if ne .Hint ""}}<small id="{{.ID}}Help" class="form-text text-muted">{{.Hint}}</small>{{end}}
{{if ne .Error ""}}<div class="error">{{.Error}}</div>{{end}}
{{end}}
</div>
{{end}}
<input type="text" id="name" name="name" placeholder class="form-control" required autocomplete="off" value="Plaza estrella" aria-describedby="nameHelp">