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: `
`,
}));