mirror of
https://github.com/rajnandan1/kener.git
synced 2026-06-23 04:10:22 +00:00
Merge pull request #660 from rajnandan1/fix-timezone-sw
refactor: update timestamp handling to respect selected timezone
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
import TrendingUp from "@lucide/svelte/icons/trending-up";
|
||||
import { t } from "$lib/stores/i18n";
|
||||
import { formatDate } from "$lib/stores/datetime";
|
||||
import { selectedTimezone } from "$lib/stores/timezone";
|
||||
import { toZonedTime } from "date-fns-tz";
|
||||
import * as Tooltip from "$lib/components/ui/tooltip/index.js";
|
||||
|
||||
interface MinuteData {
|
||||
@@ -74,7 +76,7 @@
|
||||
const minutesByHour: Map<number, MinuteData[]> = new Map();
|
||||
|
||||
for (const minute of minutes) {
|
||||
const date = new Date(minute.timestamp * 1000);
|
||||
const date = toZonedTime(minute.timestamp * 1000, $selectedTimezone);
|
||||
const hour = date.getHours();
|
||||
|
||||
if (!minutesByHour.has(hour)) {
|
||||
|
||||
@@ -37,7 +37,7 @@ function createTimezoneStore() {
|
||||
// Check localStorage for saved preference (only in browser)
|
||||
if (typeof window !== "undefined") {
|
||||
const savedTimezone = localStorage.getItem(TIMEZONE_STORAGE_KEY);
|
||||
if (savedTimezone && allTimezones.includes(savedTimezone)) {
|
||||
if (savedTimezone && (savedTimezone === "UTC" || allTimezones.includes(savedTimezone))) {
|
||||
preferredTimezone = savedTimezone;
|
||||
} else {
|
||||
// Save the default timezone to localStorage
|
||||
@@ -47,7 +47,7 @@ function createTimezoneStore() {
|
||||
|
||||
set({
|
||||
selectedTimezone: preferredTimezone,
|
||||
availableTimezones: allTimezones,
|
||||
availableTimezones: ["UTC", ...allTimezones],
|
||||
});
|
||||
},
|
||||
|
||||
@@ -56,7 +56,7 @@ function createTimezoneStore() {
|
||||
*/
|
||||
setTimezone(timezone: string): void {
|
||||
update((state) => {
|
||||
if (state.availableTimezones.includes(timezone)) {
|
||||
if (timezone === "UTC" || state.availableTimezones.includes(timezone)) {
|
||||
// Save to localStorage
|
||||
if (typeof window !== "undefined") {
|
||||
localStorage.setItem(TIMEZONE_STORAGE_KEY, timezone);
|
||||
|
||||
Reference in New Issue
Block a user