big update i guess
This commit is contained in:
@@ -37,6 +37,32 @@ export function toDateInput(d) {
|
||||
return `${d.getFullYear()}-${String(d.getMonth()+1).padStart(2,'0')}-${String(d.getDate()).padStart(2,'0')}`;
|
||||
}
|
||||
|
||||
// Monday-first: returns 0=Mo, 1=Di, ..., 6=So
|
||||
export function dayOfWeek(d, weekStartDay = 'monday') {
|
||||
if (weekStartDay === 'sunday') {
|
||||
return d.getDay(); // 0=So, 1=Mo, ..., 6=Sa
|
||||
}
|
||||
return (d.getDay() + 6) % 7; // 0=Mo, 1=Di, ..., 6=So
|
||||
}
|
||||
|
||||
// Returns the start-of-week date for d
|
||||
export function weekStart(d, weekStartDay = 'monday') {
|
||||
const m = new Date(d);
|
||||
m.setDate(m.getDate() - dayOfWeek(m, weekStartDay));
|
||||
m.setHours(0, 0, 0, 0);
|
||||
return m;
|
||||
}
|
||||
|
||||
// Returns the ISO week number (Monday-based, ISO 8601)
|
||||
export function getISOWeekNumber(d) {
|
||||
const date = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()));
|
||||
// ISO week: weeks start on Monday, week 1 contains the first Thursday
|
||||
const day = date.getUTCDay() || 7; // make Sunday = 7
|
||||
date.setUTCDate(date.getUTCDate() + 4 - day);
|
||||
const yearStart = new Date(Date.UTC(date.getUTCFullYear(), 0, 1));
|
||||
return Math.ceil((((date - yearStart) / 86400000) + 1) / 7);
|
||||
}
|
||||
|
||||
export function applyTheme(settings) {
|
||||
const root = document.documentElement;
|
||||
root.style.setProperty('--primary', settings.primary_color || '#4285f4');
|
||||
|
||||
Reference in New Issue
Block a user