diff --git a/src/Calendar.tsx b/src/Calendar.tsx index 84eae1e..ab2003a 100644 --- a/src/Calendar.tsx +++ b/src/Calendar.tsx @@ -1,16 +1,15 @@ import { For, createSignal, Show } from 'solid-js'; -function getDateArray(year: number, month: number) { +function getDateArray(year: number, month: number, startday: number) { //Das bedeutet Montag im englischen Wochenformat. - const startTagDerWoche = 1; + const startTagDerWoche = startday; const offsetZumEnglischenSonntag = (7 - startTagDerWoche); const wochenTagDesErsten = (new Date(year, month, 1).getDay() + offsetZumEnglischenSonntag) % 7; - const wochenTage = ['So', "Mo", "Di", "Mi", "Do", "Fr", "Sa"]; + const wochenTage = [{"dayname":"So", "dayInWeekArr":0}, {"dayname":"Mo", "dayInWeekArr":1}, {"dayname":"Di", "dayInWeekArr":2}, {"dayname":"Mi", "dayInWeekArr":3}, {"dayname":"Do", "dayInWeekArr":4}, {"dayname":"Fr", "dayInWeekArr":5}, {"dayname":"Sa", "dayInWeekArr":6}]; const monatsNamen = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"] const wochenTageNachAnfangsTag = []; for (let i = startTagDerWoche; i < startTagDerWoche + 7; i++) { - wochenTageNachAnfangsTag.push(wochenTage[i % 7]); } let tage = []; @@ -33,13 +32,17 @@ function getDateArray(year: number, month: number) { tage.push(tagObj); nextDay++; } - return { "wochenTage": wochenTageNachAnfangsTag, "tage": tage, "monat": monatsNamen[month], "jahr": year } + return { "weekDay": wochenTageNachAnfangsTag, "days": tage, "month": monatsNamen[month], "year": year } } export function CalendarComponent() { const [month, setMonth] = createSignal(0); const [year, setYear] = createSignal(2025); - const weekdays = getDateArray(year(), month()).wochenTage; + const [startDay, setStartday] = createSignal(1); + + let onclickDayOfWeekHeader = (day : number) => { + setStartday(day); + } let onclickNextMonth = () => { if (month() >= 11) { @@ -62,13 +65,13 @@ export function CalendarComponent() { return (