Greasy Fork is available in English.
Apply the default border with the good color on full day events.
// ==UserScript==// @name iCloud full day events border// @description Apply the default border with the good color on full day events.// @namespace https://gitlab.com/breatfr// @match https://www.icloud.com/calendar/// @version 1.0.0// @homepageURL https://gitlab.com/breatfr/icloud// @supportURL https://discord.gg/Q8KSHzdBxs// @author BreatFR// @copyright 2024, BreatFR (https://breat.fr)// @grant none// @icon https://gitlab.com/uploads/-/system/project/avatar/65415880/icloud.png// @license AGPL-3.0-or-later; https://www.gnu.org/licenses/agpl-3.0.txt// ==/UserScript==(function() {'use strict';function applyBorderStyle() {const iframes = document.querySelectorAll('iframe');iframes.forEach(iframe => {try {const iframeDoc = iframe.contentDocument || iframe.contentWindow.document;const buttons = iframeDoc.querySelectorAll('div:not(:has(.month-view-event-preview-start-time)) .css-6310j7 > button:not(:has(svg))');buttons.forEach(button => {const computedStyle = getComputedStyle(button);// Check if a border is defined with a colorif (computedStyle.border && computedStyle.border !== '0px none rgba(0, 0, 0, 0)') {const borderColor = computedStyle.borderColor || computedStyle.borderLeftColor;// If a color is defined, apply the left borderif (borderColor && borderColor !== 'rgba(0, 0, 0, 0)') {button.style.borderLeft = `3px solid ${borderColor}`;}}});} catch (error) {console.error('Erreur avec un iframe:', error);}});}const observer = new MutationObserver(applyBorderStyle);observer.observe(document.body, {childList: true,subtree: true});applyBorderStyle();setInterval(applyBorderStyle, 1000);})();