<aside> <img src="/icons/info-alternate_green.svg" alt="/icons/info-alternate_green.svg" width="40px" /> Configurer la police de la page (menu ... de la page) en Fixe (🇨🇵) ou Mono (🇬🇧) pour obtenir un affichage aligné correctement
</aside>
Essayer les deux types de vues (Table et Galerie):
lets(
entête, ["W".style("orange"),"L","M","M","J","V","S","D"],
mois, prop("Date").dateStart().month(),
semNow, now().formatDate("WW").toNumber(),
today, now().formatDate("YYYY-MM-DD").parseDate(),
premierJour, prop("Date").dateStart().dateSubtract(
prop("Date").dateStart().day() - 1,
"days"
),
semaines,
"x"
.repeat(
let(
w, prop("Date").dateEnd().formatDate("WW").toNumber(),
if(w == 1 and mois == 12, 53, w)
) -
let(
w, prop("Date").dateStart().formatDate("WW").toNumber(),
if(w <= 53 and w > 51 and mois == 1, 0, w)
) + 1
)
.split("")
.map(
prop("Date").dateStart().dateAdd(index * 7, "days").formatDate("WW").toNumber()
),
weeks, semaines.map(
[ /* n° semaine */
(if(current < 10, "0", "") + current)
.style(
ifs(
current == semNow, "pink",
current < semNow, "grey",
""
)
),
/* jours de la semaine */
lets(
start, premierJour.dateAdd(index * 7, "days"),
sem, [1,2,3,4,5,6,7],
sem.map(
let(
sti, start.dateAdd(index, "days"),
if(
sti.month() != mois, " ",
sti.formatDate("DD").style(
ifs(
sti == today, "pink",
sti < today, "grey",
""
)
)
)
)
)
).flat()
]
),
entête.join(" ") +
"\\n" +
weeks.map(
current.first() + " " +
current.last().join(" ")
)
.join("\\n")
)