forked from jriou/coller
feat: add expiration time in the note web view
Fixes #35. Signed-off-by: Julien Riou <julien@riou.xyz>
This commit is contained in:
parent
2c3ca08dbf
commit
634326190c
3 changed files with 17 additions and 1 deletions
|
@ -9,6 +9,7 @@ import (
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
func ReadConfig(file string, config interface{}) error {
|
func ReadConfig(file string, config interface{}) error {
|
||||||
|
@ -102,6 +103,15 @@ func HumanDuration(i int) string {
|
||||||
return fmt.Sprintf("%d %s", i, w)
|
return fmt.Sprintf("%d %s", i, w)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TimeDiff to return the number of seconds between this time and now
|
||||||
|
func TimeDiff(ts time.Time) int {
|
||||||
|
diff := int(time.Since(ts).Seconds())
|
||||||
|
if diff < 0 {
|
||||||
|
return diff * -1
|
||||||
|
}
|
||||||
|
return diff
|
||||||
|
}
|
||||||
|
|
||||||
func ReturnError(logger *slog.Logger, message string, err error) int {
|
func ReturnError(logger *slog.Logger, message string, err error) int {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error(message, slog.Any("error", err))
|
logger.Error(message, slog.Any("error", err))
|
||||||
|
|
|
@ -106,6 +106,7 @@ func (s *Server) Start() error {
|
||||||
// Web pages
|
// Web pages
|
||||||
funcs := template.FuncMap{
|
funcs := template.FuncMap{
|
||||||
"HumanDuration": internal.HumanDuration,
|
"HumanDuration": internal.HumanDuration,
|
||||||
|
"TimeDiff": internal.TimeDiff,
|
||||||
"lower": strings.ToLower,
|
"lower": strings.ToLower,
|
||||||
"string": func(b []byte) string { return string(b) },
|
"string": func(b []byte) string { return string(b) },
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,13 +19,18 @@
|
||||||
<div class="d-flex flex-wrap py-2">
|
<div class="d-flex flex-wrap py-2">
|
||||||
<span class="fs-4 d-flex mb-3 mb-md-0 me-md-auto text-decoration-none">Note {{.Note.ID}}</span>
|
<span class="fs-4 d-flex mb-3 mb-md-0 me-md-auto text-decoration-none">Note {{.Note.ID}}</span>
|
||||||
<ul class="nav nav-pills align-items-center">
|
<ul class="nav nav-pills align-items-center">
|
||||||
<li class="nav-item">
|
<li class="nav-item px-2">
|
||||||
<a href="" id="rawURL">raw</a>
|
<a href="" id="rawURL">raw</a>
|
||||||
<script>document.getElementById("rawURL").href = window.location.href.replace(".html", "");</script>
|
<script>document.getElementById("rawURL").href = window.location.href.replace(".html", "");</script>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item px-2">
|
<li class="nav-item px-2">
|
||||||
{{.Note.Language}}
|
{{.Note.Language}}
|
||||||
</li>
|
</li>
|
||||||
|
{{if eq .Note.DeleteAfterRead false}}
|
||||||
|
<li class="nav-item px-2">
|
||||||
|
expires in {{HumanDuration (TimeDiff .Note.ExpiresAt)}}
|
||||||
|
</li>
|
||||||
|
{{end}}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue