41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
|
import GLib from 'gi://GLib'
|
||
|
|
||
|
export const TEXT_ALIGN_START = 'left'
|
||
|
export const TEXT_ALIGN_CENTER = 'center'
|
||
|
export const TEXT_ALIGN_END = 'right'
|
||
|
|
||
|
function currentOptions() {
|
||
|
return new Intl.DateTimeFormat().resolvedOptions()
|
||
|
}
|
||
|
|
||
|
export function getCurrentLocale() {
|
||
|
return currentOptions().locale
|
||
|
}
|
||
|
export function getCurrentTimezone() {
|
||
|
return currentOptions().timeZone
|
||
|
}
|
||
|
export function getCurrentCalendar() {
|
||
|
return currentOptions().calendar
|
||
|
}
|
||
|
|
||
|
export function updateLevel(lvl) {
|
||
|
if (typeof lvl === 'number' && !Number.isNaN(lvl)) {
|
||
|
if (lvl === 0)
|
||
|
return { lvl, priority: GLib.PRIORITY_DEFAULT_IDLE, timeout: 1000 * 60 }
|
||
|
if (lvl > 0 && lvl <= 7)
|
||
|
return { lvl, priority: GLib.PRIORITY_DEFAULT, timeout: 1000 / lvl }
|
||
|
if (lvl > 7 && lvl <= 15)
|
||
|
return { lvl, priority: GLib.PRIORITY_HIGH, timeout: 1000 / lvl }
|
||
|
}
|
||
|
return { lvl: 1, priority: GLib.PRIORITY_DEFAULT, timeout: 1000 }
|
||
|
}
|
||
|
|
||
|
export function updateLevelToString(lvl) {
|
||
|
if (typeof lvl === 'number' && !Number.isNaN(lvl)) {
|
||
|
if (lvl === 0) return `every minute`
|
||
|
if (lvl === 1) return `every second`
|
||
|
if (lvl > 1 && lvl <= 15) return `${lvl} times in a second`
|
||
|
}
|
||
|
return `every second`
|
||
|
}
|