Skip to content

Commit 3bed823

Browse files
authored
Store Datetimes as UTC. Use Luxon for formatting datetimes
1 parent 67d474c commit 3bed823

File tree

6 files changed

+21
-4
lines changed

6 files changed

+21
-4
lines changed

Diff for: internal/webserver/controller/auth/signin.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func (a *Controller) SignIn(c *fiber.Ctx) error {
3838
}, "layout")
3939
}
4040

41-
user.LastLogin = time.Now()
41+
user.LastLogin = time.Now().UTC()
4242
if err := a.repository.Update(user); err != nil {
4343
log.Printf("error updating user last login time: %v\n", err)
4444
return fiber.ErrInternalServerError

Diff for: internal/webserver/embedded/css/display.css

+4
Original file line numberDiff line numberDiff line change
@@ -117,3 +117,7 @@ a.collapse-control.collapsed:after {
117117
.actions .dropdown-menu {
118118
white-space: nowrap;
119119
}
120+
121+
.datetime::first-letter {
122+
text-transform: capitalize;
123+
}

Diff for: internal/webserver/embedded/js/datetime.js

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
"use strict";
2+
3+
import { DateTime } from "./luxon.min.js";
4+
5+
document.addEventListener('DOMContentLoaded', function() {
6+
const datetime = document.querySelectorAll('.datetime span');
7+
datetime.forEach(function(element) {
8+
const dt = DateTime.fromISO(element.textContent);
9+
element.textContent = dt.toRelative({ locale: document.documentElement.lang });
10+
});
11+
});

Diff for: internal/webserver/embedded/js/luxon.min.js

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: internal/webserver/embedded/translations/es.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -139,5 +139,5 @@
139139
"Titles by %s": "Títulos de %s"
140140
"Send to %s": "Enviar a %s"
141141
"Home": "Inicio"
142-
"Last login": "Último Acceso"
142+
"Last login": "Último acceso"
143143
"Never": "Nunca"

Diff for: internal/webserver/embedded/views/user/index.html

+3-2
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ <h2>{{t $lang "Users"}}</h2>
2929
<span class="badge rounded-pill text-bg-secondary">Admin</span>
3030
{{end}}
3131
</td>
32-
<td>
32+
<td class="datetime">
3333
{{if $user.LastLogin.IsZero }}
3434
{{t $lang "Never"}}
3535
{{else}}
36-
{{$user.LastLogin.Format "2006-01-02 15:04"}}
36+
<span>{{$user.LastLogin.Format "2006-01-02T15:04:05Z"}}</span>
3737
{{end}}
3838
</td>
3939
<td class="text-end">
@@ -55,3 +55,4 @@ <h2>{{t $lang "Users"}}</h2>
5555
{{template "partials/delete-modal" dict "Lang" $lang "Action" "users" "ModalHeader" "Delete user" "ModalBody" "Are you sure you want to delete this user?" "ModalErrorMessage" "There was an error deleting the user, try again later"}}
5656

5757
<script type="text/javascript" src="/js/delete.js"></script>
58+
<script type="module" src="/js/datetime.js"></script>

0 commit comments

Comments
 (0)