iCloud customizations

Customizations for iCloud website.

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

/* ==UserStyle==
@name           iCloud customizations
@version        1.0.8
@description    Customizations for iCloud website.
@author         BreatFR (https://breat.fr)
@namespace      https://gitlab.com/breatfr
@homepageURL    https://gitlab.com/breatfr/icloud
@supportURL     https://discord.gg/Q8KSHzdBxs
@license        AGPL-3.0-or-later; https://www.gnu.org/licenses/agpl-3.0.txt
@preprocessor   stylus

@var    checkbox    hidebanner          "Hide banner"                   1
@var    checkbox    hidemail            "Hide mail"                     0
@var    checkbox    hidecontacts        "Hide contacts"                 0
@var    checkbox    hidecalendar        "Hide calendar"                 0
@var    checkbox    hidephotos          "Hide photos"                   0
@var    checkbox    hidedrive           "Hide drive"                    0
@var    checkbox    hidenotes           "Hide notes"                    0
@var    checkbox    hidereminders       "Hide reminders"                0
@var    checkbox    hidepages           "Hide pages"                    0 
@var    checkbox    hidenumbers         "Hide numbers"                  0
@var    checkbox    hidekeynote         "Hide keynote"                  0
@var    checkbox    hidefind            "Hide find"                     0
@var    checkbox    biggertextevents    "Bigger text in events"         1
@var    text        fontsize            "Font size"                     1rem
@var    checkbox    hideheader          "Hide calendar header"          0
@var    checkbox    hidecalendarsidebar "Hide calendar sidebar"         0
@var    checkbox    monthyearright      "Set month and year on right"   0
==/UserStyle== */

/* === Credits ===
Website         https://breat.fr
facebook        https://www.facebook.com/breatfroff
mastodon        https://mastodon.social/@breat_fr
telegram        https://t.me/breatfr
vk              https://vk.com/breatfroff
X (twitter)     https://x.com/breatfroff
=== Credits === */

@-moz-document url("https://www.icloud.com/") {
    /* Versions */
    :root {
        --themeversion: 'Theme v1.0.8 by BreatFR (https://breat.fr)';
        --install1: ' usercssjs.breat.fr ';
        --install2: ' gitlab.com/breatfr/icloud ';
        --space: '\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0\00a0';
        --support1: ' ko-fi.com/breatfr ';
        --support2: ' paypal.me/breat ';
    }

    @media screen and (min-width: 900px) {
        body::after {
            background: linear-gradient(88.55deg, rgb(139, 109, 255) 22.43%, rgb(254, 132, 132) 92.28%);
            -webkit-background-clip: text;
            -moz-background-clip: text;
            background-clip: text;
            color: transparent;
            content: var(--themeversion) '\A''Install: ' url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAAK/INwWK6QAAAAlwSFlzAAAOwgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAARxSURBVDhPvZR5TJNnGMAfBIUFzLSctqWUlqPcCBlQjhpdkGvNWCY2rQfKBihImMc4VgUhoIM4mG5z7MicCROZbBBxICAUHEeG6IRF2nKUwteDclhbbkq/7gO+ZRoy+W+/5P3n+Z7n9z7fm+d94X/DALDF0PC7v7alJVlVW1sir668qaiqKFf8cufG+G+1l2eaW+PQm02WePrrUd6uYg+WlTUKs8+phfHv6QdimLqhUM/FIZb74lC496IolqV/lnp0pb+0QDhaXs7ByzZi6OnZ+qiwuPhx8lH9ANNxQUUHZMEZBlZ2gkhvASJ0OwhRJxDqyCCaMYEhCflNbRf3gK4vvygWV7xKY3o6vzuGaVC7whjqDv3YEi8zYHiFZCTWO2BSexAvEWEYJWByG2y5Qr+UbKJ9wIsVoFcHTHHNOoLMy9R7rEBE4wZy1AdEiJ+16s9w5mQHlzvax96NoG4gHN1PHG2L440P+Lso9V4gxroVrZBhpJXpMdKUVULDVet8eTg+spNmrUEdYLg9xHPqAfdQzdOkU5zmD1J5ze5UGeoCIx0hNElXYub7dfG87yTMHeN4p5KW3TTJT8nnnXHVOmU8nle1K1VVz3CYv8s5xEcj09Z+ITc0NLbDbrsatYexGh/HHjAYjK6FR+3rtCdMoX4gXvABeSXTtVOQ8rPFmugfsDExqotmp/0aw87GQ2vkOzsX9TuaaGYtYfw6zbFyNZbFYKR07TLTYkLhE5KZ5ovAwItryZthyBWYXCJZNmqdQPXMHKay7IgXIgFM+XZWLZP0LRMaF0CuUym9d48kUfCS15PkyWR8bWOGoCQY7qMTFDnRUcIcdkx3vRdRPesMkm/td4xVRLHfwdM350MqPbHBynQOJYJwwnvrqJxhp5Z5kTQ62rZhhGwuLwgJkOeG7Q3G0zengE69I7cxfq61haEffN2U9TTKOGIHMpSCDbitkXjQ1/ZFiYeH7IJfqD9e8t9c2sN2qmBQEJQM0j8YhIkq9oFT7UeOcW7v3dfZ7USa1lOwOcQGu9/RYqk00KdGgJ03XvoqD9MKras+LY24cSzxVh9jp3re3hi5HxrcZgCD0ep3NPczQg2X+03/W+RxbDPRCg2ktX60sR8T+fQ1wcs0JSVRqnmcnvbDB/VP3g1aWLKEwTEGSXU/k9/bfKU0obeo1HU1byrjKrljD0u0bAVSFDuOR0EMpC670HtN8jIPCwvffuzrMjdnDlI9dq2wWyOeJ8KgOIym7uZEox2pJya6CvLauj6/0vQ0LEC5QoUB7KEY7ePu/6uv8JYtrvkXyfflDlJunFhnY6yYY1EV8pTjz1+wgyb0WBfLAOLpbSCTEm00w57kGS02Nqg5CKeD3WaHMrKu4YqNIB9nn1acOalEzmc0SE6e4Uj5OV+pTiTL5yNY03oXogwlvCFFbUylugCqQpMQPSPL/6RVkXDWAS/fyOpLLT543GfMPYiAh0CSks6S5+UVT/Kz702d/ah16txpgTKHX4PkXMyWhkXswtMwAP4GEl0BMY+jC7gAAAAASUVORK5CYII=") var(--install1) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAUCAYAAACJfM0wAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAvRJREFUOE+dU0lrU1EUfqhbK4rixiHvvptW+gu0TZqkrQWHhVJpKyoI4lRx3ghdOCwFrS24cwCbmKYtVelCqIorf0NBrGkSWqJkWmgb7Hvv+J37brSxg9UPDuGcb8h5Jy/Gn5hsEv3TodrNul0VZgJyC/t0uxjptvpNX1r8xUxENOvRqpAK+Vuz8JUCOzbqUTVSYauTDtZTOmL16dGqkAnLfvalIlaHHlUDgcP2vl2UDlufKRRap8crgnXwJT2fHNLj3yi0ig0gSl9b/FRoraXpsGjU1IpIhUSA9ezLRGRxEjma8pAJySPf2uqYpDl8Yuv7mloR0PWynn3KH5btmvIAYrASnMcGMHwiw1ij6SWB514L3WQO+gXBcU0bxkdD1qSDspBt9lM6JJmkXHMtJRvlbi1ZEskGa08eOtazj/2ZoMxPGHXrlaD8QBy2r0maPSlo9pRXzlmLih1iKhmQH3D7RcXzYqeYYl3Fw37OKfdah1Swk/DFKG6Rc8n06opJ7lWTqBvheMwS194FhZ7nzLOO9RWvyhn2RQ33ubnVjpozNIpvu2eSfQ510SvnsknZ/Ralm3Ae3LBS3GcPIAB8Rat88HPO/IA5bSB01I0hJApiEHVHiyDmbUpdglLB6mDuS0eF4n+Fsg9+znGQh2DfW0oIoiFsjIGqG6jz3sblMya/+FXB/GPxXG0MndJrL+dwnrqxHdvZ5SREnl5JcuIQPEWx6YJnVufgtwWh6tdHr0LB27gv69mn/AmRw7KdKpjhPtthYviGxiTRCLZ/CEM3zgHjwnOoM6DnOfOsYz374B+fQ46OrIYdN3sgcGnMIvsuNoG5fFqfg9/Xyhk4FDzrWI8z9OiI5fFjwAw6Q2KCXktybyMEd+THnwroM6DnOfNKFxMBbf07cn2yxhk2n9BLi+imoGK7oGSDVJ90C4W5MyIeu4/0v+xfYb/wnXCjokD4R6URTNexJXp71DyuJf8P9/026faJ8e/H5LyDT/fddktTy8AwfgLHRHNkJDm7EgAAAABJRU5ErkJggg==") var(--install2) var(--space) ' Support me: ' url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAUCAYAAACaq43EAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAA2FJREFUSEu1lktIVGEYhqfIXW5ctUkDF250q4jLILLUvBSjzjh285pahoxIK3Fop0iRiWbiNRMUzcvIpI1dNkVGYBckIzTRAkVHCbOyt/f7/Y81alOgvvBw5nzf+b/3/Nc5Jq0I4iKPdpg7xEy2VCSZJtglfpBRkkm85CQoKSlBT0/PjtDf34+BgQG0trYiOzsbAQEBxkvcI/uJ0gMCt9uN3dLs7CzMZrNhPkD2ENOgBHp7e/Vj29P4+DhCQ0MRGBiIkJAQZGRkYH5+XuVSUlIM8ywxlkUAp9Opkl76+BlwjwDPXgPLKzpIjfDe+ZAuEzrwWzLEuvgH8kp+ywssLi7C4/EYw/6S/MW43QXEFwFH84BjF4CCq8CT50DZdSDmHGPpwImzwN0u3WBNg4ODhnGhFKdKCex2u8pbrVbJeSSx2XhqhqYXgcRLQPJljhGviTmMZfB6HkjNBixZgPkMYynAu/e6oZexXYprTYSFhal8ZWWl5FYkuNn4xSgQm0nDAsIep+YSGqcyZqG5hT220tR6Gog7AQwN6YZexsVSXOtpUFCQyjc0NEjuuwQfkw09ngZO0SSZvbJsNOMQW9OANCuvqUASjd++0Q29jAukOHWIeKKiolS+rKxMcl8l4Sbo6+tTiXWVcy6Pn6QB51HM0rRZmgWwaeJjAEcpsLqqGwEul8swvkVsZEzuOzo6VD4iIkJyn4jpviRk43tpaQmwF7M4e2QYGaTzBaSn+ZyCuTndYE3Dw8OGscLPzw8Oh0PlxFzHm8jaydXd3a2SXlrg/isqBBLi1swM46R4IJfTMMMp2aDl5WXU1NSgoqICTU1NmJqaUnGZAn9/fzH9QoLFuEuMOzs71QObJJtfzONjdU9pmsN5n95supXGxsaQn59v9PQbiSVKbQTt7e360S3EjY8rJcCRw0Aeh9eH6eTkJKKjoxEZGYng4GDDUBghUWRdt4k60H2KQ4iaag4v97gPyVqRemSByAnVSJLIXuKlawSNjY266fYk8yv1SLoU96UEog7w7WqV2yo8PFxMf5KDUvxfUn+NNpsNzc3NaGtrU9eWlpZ15F5OHaG+vh51dXWora1FdXU1qqqqUF5eDjkkpA65IUX/RweIfPrIUl/1gXxN/IkcfYKsVmGO3CT7iA+ZTL8ANy582NV4RdEAAAAASUVORK5CYII=") var(--support1) url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAUCAYAAABroNZJAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAslJREFUOE+Nk0tIVFEYx6WNEC1attA7znXmnHNvpjH3js7GRQ+dKDKTMgx6UOnMvaNZaRAoGD0WRTQPH6Nii6CgRa1yUUGEjo+0mTSkB7UIF0G0aFlUxNd37jmOjo7QH/6cgXu+3/leU7BSxLSvaVXnvhDTWmNqRhap2TqmVbZf1PXDm2RIrjyetkJiWJ9Z5Vmgpr2+/ZFfeOcd8YUaZeiyvKalUtP6y/yt+YNXGLNFnwfiC++U4UII2a1Vta8KiKxjG/RAB2D5T2S4ENZt8w85EMMCYoTXmKJ5NtQXfiPDhZCayEL8EbwcghLWAC5av8Yl9CCoWiOUVoU+GGnYKBEO5KmOdXII74t3+ylQvPvBReryurhoF3iabgAdmX8mET0bsJxPmpwMh3jKj0vIgbxWlCB4O+4BG54DB6H77S1Y/4+lyfBTLTu6DqQelOIacFdjb/qmgcYnBYT5wgGxH6LzvCduvRFcqyHeOlCKasClHwJy5THQgRmgsZSAYD+O6YELAsCNUylx73NeVJRaPLkxWN0L7h2tQK6OAku+QsAEkFjqj4AY1vXl8eJkfCFQgx2g1neDWtcFakMPlJ6MgrfrIdB+fJ07Og7a0ByQ6PiChNiPsplUNAMNdgMdSgMbygAb5Kf47aQfn3AArO8lbL3zFlgi1eBAqGG/zm7rttNAj9wCOjjr1Ltk1jcDrH8WtGTGCdaSaSC3xy45AN1oUbCcr8zfJiBlCGkZzoGwxBS+nvqGk1ikiekMwgZIbNLvALiYYTdhJj+zkyk/A7TzQbbz/GUSTaVd0RebPfGPhTIsV7hk90VD0TgVx5dHxQ4gRB9Z4Fn0y+v5heP9Lv7aaLMNWHUn0JvPgSYmlyGxVLu8nl/MZxnMiNTgWcsqmmvJid4I6+WbiFPg5fAxxsf3yOv/J3r3fVAfnncAvKG4TL898YlS+TmPCgr+AaBy8VrppmCMAAAAAElFTkSuQmCC") var(--support2);
            display: inline-block;
            font-family: SF Pro Display, Helvetica Neue, sans-serif;
            font-size: 1.2rem;
            left: 50%;
            pointer-events: none;
            position: absolute;
            text-align: center;
            top: 0;
            transform: translate(-50%, -7%);
            width: 100%;
            white-space: pre-line;
        }
    }
}

@-moz-document domain("icloud.com") {
    /* iCloud */
    if hidebanner {
        .banner-content {
            display: none !important;
            height: 0;
            width: 0;
        }
    }
    
    /* Hide elements you don't use */
    if hidemail {
        [href="https://www.icloud.com/mail"] {
            display: none !important;
            height: 0;
            width: 0;
        }
    }
    if hidecontacts {
        [href="https://www.icloud.com/contacts"] {
            display: none !important;
            height: 0;
            width: 0;
        }
    }
    if hidecalendar {
        [href="https://www.icloud.com/calendar"] {
            display: none !important;
            height: 0;
            width: 0;
        }
    }
    if hidephotos {
        [href="https://www.icloud.com/photos"] {
            display: none !important;
            height: 0;
            width: 0;
        }
    }
    if hidedrive {
        [href="https://www.icloud.com/iclouddrive"] {
            display: none !important;
            height: 0;
            width: 0;
        }
    }
    if hidenotes {
        [href="https://www.icloud.com/notes"] {
            display: none !important;
            height: 0;
            width: 0;
        }
    }
    if hidereminders {
        [href="https://www.icloud.com/reminders"] {
            display: none !important;
            height: 0;
            width: 0;
        }
    }
    if hidepages {
        [href="https://www.icloud.com/pages"] {
            display: none !important;
            height: 0;
            width: 0;
        }
    }
    if hidenumbers {
        [href="https://www.icloud.com/numbers"] {
            display: none !important;
            height: 0;
            width: 0;
        }
    }
    if hidekeynote {
        [href="https://www.icloud.com/keynote"] {
            display: none !important;
            height: 0;
            width: 0;
        }
    }
    if hidefind {
        [href="https://www.icloud.com/find"] {
            display: none !important;
            height: 0;
            width: 0;
        }
    }
    
    [dir=ltr] .navigation-drawer {
        padding: 20px;
    }
    [dir=ltr] .home-page .application-content .tile-grid.lg {
        padding-bottom: 40px;
    }
    
    [dir=ltr] .home-page .announcement-content .announcement-container.lg {
        min-width: 1035px;
    }
    [dir=ltr] .home-page .announcement-content .announcement-container.lg > .content {
        margin: 0 auto;
    }
    
    /* If scripts to add icons */
    body:has(a[href="https://beta.maps.apple.com/"]),
    body:has(a[href="https://tv.apple.com/"]),
    body:has(a[href="https://music.apple.com/"]) {
        .app-library.large {
            height: auto;
        }
        .app-library.large .app-icon-container {
            align-items: center;
            display: flex;
            flex-flow: wrap;
            justify-content: space-between;
        }
        .announcement-content {
            margin: 140px auto 40px auto;
        }
    }
}

@-moz-document url-prefix("https://www.icloud.com/applications/calendar/") {
    /* Calendar */
    if hidecalendarsidebar {
        ui-split[style="width: 250px;"],
        ui-split-divider[style="left: 250px;"] {
            display: none;
            width: 0;
        }
    }
    
    if hideheader {
        header {
            display: none !important;
            height: 0 !important;
        }
    }
    
    if biggertextevents {
        .event-button * {
            font-size: fontsize;
            line-height: 1.5;
        }
        .col-color,
        .event-button svg {
            height: fontsize !important;
            width: fontsize !important;
        }
    }
    
    /* Today */
    .css-107fxrr > span,
    .css-8ts4xs,
    .css-6k0qnq {
        color: var(--theme-color-systemWhite);
    }
    
    /* Birthday better view */
    .event-button:has(.birthday) {
        background-color: transparent;
    }
    .birthday > div {
        color: var(--theme-color-systemRed);
        fill: var(--theme-color-systemRed);
    }

    /* Set month and year on right */
    if monthyearright {
        .css-10udamb {
            order: 3;
        }
        .css-1yaufk0 {
            color: var(--theme-color-systemRed);
        }
        .css-xcsuj9 {
            margin-inline-start: auto;
        }
        .css-t7kvo9 {
            order: 2;
        }
        .css-iwyx1e {
            flex-direction: row-reverse;
            justify-content: flex-start;
            order: 1;
        }
    }
    
    /* ========================
        Day view
    ======================== */
    /* No more space around day table */
    .css-6ub2mo {
        padding: 0;
    }
    
    if biggertextevents {
        .css-1b9imfs {
            grid-auto-rows: auto;
        }
        .css-oyl8cq {
            height: max-content;
        }
    }
    
    /* ========================
        Week view
    ======================== */
    /* No more space around week table */
    .css-bhx65h {
        padding: 0;
    }
    
    if biggertextevents {
        .css-12eikme {
            align-self: center;
        }
        .css-5ve0cs {
            height: max-content;
        }
        .css-1h98574 {
            grid-auto-rows: auto;
        }
    }
    
    /* Days label */
    .week-daylabel {
        justify-content: center;
    }
    .css-1ttvfef  {
        color: var(--theme-color-systemWhite);
    }
    .css-8ts4xs + .css-1ttvfef  {
        color: var(--theme-color-systemRed);
    }

    /* ========================
        Month view
    ======================== */
    /* No more space around month table */
    .css-6mc1rx {
        padding: 0;
    }
    
    if biggertextevents {
        .css-6310j7 {
            height: auto;
        }    
        .css-1opsrsm {
            grid-auto-rows: auto;
        }
        .css-6pogpz {
            white-space: wrap;
        }
    }
    
    /* Other months days */
    .css-swsj24 {
        color: var(--theme-color-labelTertiary)
    }
    
    /* Day focused */
    .month-view-day-cell:focus {
        background: rgba(255, 255, 255, 0.2);
    }
    
    /* Days label */
    .n-grid-col > span {
        display: flex;
        justify-self: center;
        padding-inline-start: 0;
    }
    .css-1fdlgye {
        color: var(--theme-color-systemWhite);
    }
}