Add timezone selector to Admin settings with full-stack support
- Add `timezone` column to User model (VARCHAR 64, default UTC) with idempotent startup migration - Expose and persist timezone via PATCH /api/users/me - Fix TimerEvent.occurred_at serialization to include UTC offset marker (+00:00) so JavaScript correctly parses timestamps as UTC - Add frontend utility (src/utils/time.js) with timezone-aware formatTime, getHHMM, getDateInTZ, tzDateTimeToUTC helpers and a curated IANA timezone list - Add Settings section to Admin page with timezone dropdown; saves to both the API and localStorage for the unauthenticated TV view - Update Activity Log to display and edit times in the user's timezone - Update TV dashboard clock to respect the saved timezone - Update README: features, setup steps, usage table, WebSocket events Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,7 @@ export const useAuthStore = defineStore('auth', () => {
|
||||
const user = ref(null)
|
||||
|
||||
const isAuthenticated = computed(() => !!accessToken.value)
|
||||
const timezone = computed(() => user.value?.timezone || 'UTC')
|
||||
|
||||
function setToken(token) {
|
||||
accessToken.value = token
|
||||
@@ -67,6 +68,7 @@ export const useAuthStore = defineStore('auth', () => {
|
||||
accessToken,
|
||||
user,
|
||||
isAuthenticated,
|
||||
timezone,
|
||||
login,
|
||||
register,
|
||||
logout,
|
||||
|
||||
Reference in New Issue
Block a user