@MMRIZE Thank you for the eventTransformer fix - is there some ruleset I can find for other icons, or just prefix everything with “fas”?
As for the other, you are right that I have edited the eventHeight, in order to grow the size of the whole calendar. Is there a better way to do this? Perhaps I should be using only the maxEventLines to grow the size of things? Or I guess I could use the CSS to force a minimum height for each .cell. What would you say is the preferred or “correct” method?
I now have two slightly different issues.
First, using the custom CSS to fully color-in my partial day events seems to override the icon. I tried commenting out the top selector, but these events still have no icon. Is there a correct way to do this - to have all my events colored in but also have icons?
Second, I have added a second calendar to see how that all works, but these new events are the same color, and the legend does not differentiate them. I am wondering if it is because my Google account owns both of these calendars, or if you have any other ideas as to why this won’t work? They are separate and distinct .ics URLs.
Here’s my CX3 config code, with .ics URLs omitted:
language: "en",
locale: "en-US",
logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging
timeFormat: 24,
units: "imperial",
modules: [
{
module: "MMM-Carousel",
position: "bottom_bar",
config: {
mode: "slides",
transitionInterval: 0,
slideTransitionSpeed: 100,
homeSlide: 0,
showPageIndicators: true,
showPageControls: true,
ignoreModules: ["clock", "MMM-AccuWeatherForecastDeluxe"],
slides: {
main: ["MMM-CalendarExt3"],
"Slide 2": ["MMM-CalendarExt3Journal"],
"Slide 3": ["calendar"],
}
}
},
{
module: "clock",
position: "top_left",
config: {
displayType: "both",
secondsColor: "#FF0000"
}
},
{
module: "calendar",
position: "top_left",
config: {
broadcastPastEvents: true,
calendars: [
{
fetchInterval: 7 * 24 * 60 * 60 * 1000,
symbol: "calendar-check",
url: "https://ics.calendarlabs.com/76/mm3137/US_Holidays.ics"
},
{
name: "Dad",
useSymbol: false,
url: "SECRET.ics",
color: "orange"
},
{
name: "Son",
useSymbol: false,
url: "SECRET.ics",
color: "blue"
}
]
}
},
{
module: "MMM-CalendarExt3Journal",
position: "upper_third",
config: {
height: '30vh',
width: '80%',
staticWeek: true,
staticTime: true,
hourLength: 12,
beginHour: 8,
calendarSet: ['Dad', 'Son'],
}
},
{
module: "MMM-CalendarExt3",
position: "upper_third",
title: "",
config: {
height: '40vh',
mode: "week",
weekIndex: 0,
weeksInView: 5,
instanceId: "basicCalendar",
maxEventLines: 9,
fontSize: '20px',
firstDayOfWeek: 0,
calendarSet: ['Dad', 'Son'],
displayLegend: true,
useWeather: false,
displayLegend: true,
customHeader: true,
eventTransformer: (ev) => {
if (ev.title.includes("Volleyball")) {
ev.symbol = ["fas fa-fw fa-volleyball"]
}
return ev
},
}
},
{
module: "MMM-AccuWeatherForecastDeluxe",
position: "top_right",
classes: "default everyone",
config: {
apikey: "SECRET",
locationKey: "SECRET",
updateInterval: 60,
relativeColors: true,
hourlyForecastLayout: "table",
hourlyForecastInterval: 1,
maxHourliesToShow: 9,
showDailyForecast: false,
iconset: "5c",
}
},
{
module: "MMM-AccuWeatherForecastDeluxe",
position: "top_right",
classes: "default everyone",
config: {
listenerOnly: true,
locationKey: "SECRET",
relativeColors: true,
showCurrentConditions: false,
showExtraCurrentConditions: false,
showSummary: false,
showHourlyForecast: false,
showDailyForecast: true,
dailyForecastLayout: "table",
ignoreToday: true,
maxDailiesToShow: 5,
iconset: "5c",
label_high: "",
label_low: "",
}
},
]
And this is the entirety of my custom.css:
.CX3 .event.singleday .headline:not(.useSymbol)::before,
.CX3 .event.singleday .headline.useSymbol .symbol.noSymbol::before {
display: none;
}
.CX3 .event.singleday {
background-color: var(--calendarColor);
mix-blend-mode: difference;
border-radius: 4px;
color: var(--oppositeColor);
}
.CX3 .event:not(.fullday) .headline .time {
color: var(--oppositeColor);
}
.CX3 .cellContainer .cell:nth-child(1) .cw {
display: none;
}
Thank you for your time!
I appreciate the help!