diff --git a/modules/rcal/components/folk-calendar-view.ts b/modules/rcal/components/folk-calendar-view.ts index a083324..0f8e529 100644 --- a/modules/rcal/components/folk-calendar-view.ts +++ b/modules/rcal/components/folk-calendar-view.ts @@ -1287,6 +1287,9 @@ class FolkCalendarView extends HTMLElement { let gridRow = row + 1; if (detailAfterGridRow > 0 && gridRow > detailAfterGridRow) gridRow++; + const mob = window.innerWidth <= 768; + const spanTop = mob ? 16 : 22; + const spanGap = mob ? 12 : 18; for (let l = 0; l < lanes.length; l++) { for (const re of lanes[l]) { const color = re.ev.source_color || "#6366f1"; @@ -1296,11 +1299,11 @@ class FolkCalendarView extends HTMLElement { const contR = realEnd > rowEnd; const rL = contL ? "0" : "4px"; const rR = contR ? "0" : "4px"; - html += `
${this.esc(re.ev.title)}
`; + html += `
${this.esc(re.ev.title)}
`; } } if (overflow > 0) { - html += `
+${overflow} more
`; + html += `
+${overflow} more
`; } } return html; @@ -3076,10 +3079,18 @@ class FolkCalendarView extends HTMLElement { .resize-handle { display: none; } .year-grid { grid-template-columns: repeat(3, 1fr); } .season-grid { grid-template-columns: 1fr; } - .day { min-height: 52px; padding: 4px; } + .day { min-height: 48px; padding: 4px; } .day-num { font-size: 11px; } .ev-label { display: none; } - .dot { width: 5px; height: 5px; } + /* Dots → thin colored bars on mobile */ + .dots { flex-direction: column; gap: 1px; margin-top: 2px; } + .dot { width: 100%; height: 2px; border-radius: 1px; margin: 0; } + .dot--tentative { width: 100%; height: 0; border-radius: 0; margin: 0; border: none; border-top: 2px dashed; } + .dot--reminder { width: 100%; height: 2px; border-radius: 1px; margin: 0; } + /* Thinner multi-day spans */ + .ev-span { height: 10px; line-height: 10px; font-size: 0; } + .ev-span-text { display: none; } + .ev-span-more { font-size: 8px; height: 10px; line-height: 10px; } .moon { font-size: 8px; } .nav-title { font-size: 13px; } .nav { gap: 4px; } @@ -3103,8 +3114,10 @@ class FolkCalendarView extends HTMLElement { .mt-day-name { width: 30px; font-size: 10px; } } @media (max-width: 480px) { - .day { min-height: 44px; padding: 3px; } + .day { min-height: 40px; padding: 3px; } .day-num { font-size: 10px; } + .dot { height: 1.5px; } + .dot--tentative { border-top-width: 1.5px; } .wd { font-size: 9px; padding: 2px; } .nav { flex-wrap: wrap; justify-content: center; } .nav-title { width: 100%; order: -1; margin-bottom: 4px; } diff --git a/modules/rcal/mod.ts b/modules/rcal/mod.ts index d63e85b..2e5a22c 100644 --- a/modules/rcal/mod.ts +++ b/modules/rcal/mod.ts @@ -985,7 +985,7 @@ routes.get("/", (c) => { modules: getModuleInfoList(), theme: "dark", body: ``, - scripts: ``, + scripts: ``, styles: ` `, }));