Files
docker-rconfig/resources/js/composables/ServerTimezone.js
2024-10-19 18:23:55 +00:00

44 lines
1.0 KiB
JavaScript

import { reactive, toRefs } from 'vue';
const state = reactive({
timezoneOffset: 0
});
export default function useServerTimezone(timezone) {
const clientTimezone = timezone;
function getLang() {
if (navigator.languages != undefined) return navigator.languages[0];
return navigator.language;
}
function formatTime(finished_at) {
// if finished_at is not a valid date, return finished_at
if (isNaN(Date.parse(finished_at))) {
return finished_at;
}
var d = new Date(Date.parse(finished_at));
let locale = getLang();
const mediumTime = new Intl.DateTimeFormat(locale, {
timeStyle: 'short',
dateStyle: 'short'
});
var timeAgo = mediumTime.format(d);
return timeAgo;
}
Date.prototype.addMinutes = function (minutes) {
this.setMinutes(this.getMinutes() + minutes);
return this;
};
return {
formatTime,
...toRefs(state) // convert to refs when returning
};
}