style: improve calendar event hint layout and rendering

- Updated CSS for `.calendar-event-hint-rows` and `.calendar-event-hint-row` to enhance layout using table display properties for better alignment.
- Adjusted JavaScript in `hints.js` to modify the separator between time and name in duty marker hints, improving visual clarity.
- Ensured consistent styling and spacing for better readability of duty hints in the calendar.
This commit is contained in:
2026-02-19 15:48:09 +03:00
parent dd14d48824
commit a5f7a5a0ef
2 changed files with 25 additions and 16 deletions

View File

@@ -158,7 +158,7 @@ export function getDutyMarkerHintContent(marker) {
const rows = getDutyMarkerRows(dutyItems, hintDay, " - ");
body = rows
.map((r) =>
r.timePrefix ? r.timePrefix + " " + r.fullName : r.fullName
r.timePrefix ? r.timePrefix + " - " + r.fullName : r.fullName
)
.join("\n");
} else {
@@ -186,14 +186,15 @@ export function getDutyMarkerHintHtml(marker) {
const rows = getDutyMarkerRows(dutyItems, hintDay, nbsp);
rowHtmls = rows.map((r) => {
const timeHtml = r.timePrefix ? escapeHtml(r.timePrefix) : "";
const namePart = r.timePrefix
? " — " + escapeHtml(r.fullName)
: escapeHtml(r.fullName);
const sepHtml = r.timePrefix ? '<span class="calendar-event-hint-sep">-</span>' : '<span class="calendar-event-hint-sep"></span>';
const nameHtml = escapeHtml(r.fullName);
return (
'<span class="calendar-event-hint-time">' +
timeHtml +
'</span><span class="calendar-event-hint-name">' +
namePart +
"</span>" +
sepHtml +
'<span class="calendar-event-hint-name">' +
nameHtml +
"</span>"
);
});
@@ -201,7 +202,7 @@ export function getDutyMarkerHintHtml(marker) {
rowHtmls = (names ? names.split("\n") : []).map((fullName) => {
const nameHtml = escapeHtml(fullName.trim());
return (
'<span class="calendar-event-hint-time"></span><span class="calendar-event-hint-name">' +
'<span class="calendar-event-hint-time"></span><span class="calendar-event-hint-sep"></span><span class="calendar-event-hint-name">' +
nameHtml +
"</span>"
);

View File

@@ -219,6 +219,7 @@ body {
z-index: 1000;
width: max-content;
max-width: min(98vw, 900px);
min-width: 0;
padding: 8px 12px;
background: var(--surface);
color: var(--text);
@@ -241,25 +242,32 @@ body {
}
.calendar-event-hint-rows {
display: flex;
flex-direction: column;
gap: 2px;
display: table;
width: min-content;
table-layout: auto;
border-collapse: separate;
border-spacing: 0 2px;
}
.calendar-event-hint-row {
display: table;
width: max-content;
min-width: max-content;
display: table-row;
white-space: nowrap;
}
.calendar-event-hint-row .calendar-event-hint-time {
display: table-cell;
white-space: nowrap;
width: 7.5em;
min-width: 7.5em;
width: 1%;
vertical-align: top;
padding-right: 0.35em;
text-align: right;
padding-right: 0.15em;
}
.calendar-event-hint-row .calendar-event-hint-sep {
display: table-cell;
width: 1em;
vertical-align: top;
padding-right: 0.1em;
}
.calendar-event-hint-row .calendar-event-hint-name {