navidrome/ui/src/themes/catppuccinFrappe.css.js
jaxi 1ceb25c6c1
feat(ui): added Catppuccin Mocha and Frappé themes, updated Macchiato theme to better reflect the official palette (#5835)
* added catppuccin mocha theme

* added catppuccin mocha theme to index.js

* fix syntax

* add catppuccin frappé theme

* made frappe and mocha themes more consistant with official color palette and added comments for easy verification

* same for macchiato, seperate commit in case original is preferred

* added comments to .js files

---------

Co-authored-by: Deluan Quintão <deluan@navidrome.org>
2026-09-06 23:28:25 -04:00

159 lines
4.3 KiB
JavaScript

const stylesheet = `
.react-jinke-music-player-main svg:active,
.react-jinke-music-player-main svg:hover {
color: #949cbb; /* overlay2 */
}
.react-jinke-music-player-main .music-player-panel .panel-content .rc-slider-handle,
.react-jinke-music-player-main .music-player-panel .panel-content .rc-slider-track {
background-color: #a5adce; /* subtext0 */
}
.react-jinke-music-player-main ::-webkit-scrollbar-thumb {
background-color: #a5adce; /* subtext0 */
}
.react-jinke-music-player-main .music-player-panel .panel-content .rc-slider-handle:active {
box-shadow: 0 0 2px #a5adce; /* subtext0 */
}
.react-jinke-music-player-main .audio-item.playing svg {
color: #a5adce; /* subtext0 */
}
.react-jinke-music-player-main .audio-item.playing .player-singer {
color: #a5adce !important;
}
.react-jinke-music-player-main .loading svg {
color: #a5adce !important;
}
.react-jinke-music-player-main .music-player-panel .panel-content .rc-slider-handle {
border: hidden;
box-shadow:rgba(15, 17, 21, 0.25) 0px 4px 6px, rgba(15, 17, 21, 0.1) 0px 5px 7px;
}
.rc-slider-rail, .rc-slider-track {
height: 6px;
}
.rc-slider {
padding: 3px 0;
}
.sound-operation > div:nth-child(4) {
transform: translateX(-50%) translateY(5%) !important;
}
.sound-operation {
padding: 4px 0;
}
.react-jinke-music-player-main .music-player-panel {
background-color: #292c3c; /* mantle */
color: #c6d0f5; /* text */
box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
}
.audio-lists-panel {
background-color: #292c3c; /* mantle */
bottom: 6.25rem;
box-shadow:rgba(15, 17, 21, 0.25) 0px 4px 6px, rgba(15, 17, 21, 0.1) 0px 5px 7px;
}
.audio-lists-panel-content .audio-item.playing {
background-color: rgba(0, 0, 0, 0);
}
.audio-lists-panel-content .audio-item:nth-child(2n+1) {
background-color: rgba(0, 0, 0, 0);
}
.audio-lists-panel-content .audio-item:active,
.audio-lists-panel-content .audio-item:hover {
background-color:rgba(255, 255, 255, 0.08);
}
.audio-lists-panel-header {
border-bottom:1px solid #414559; /* surface0 */
}
.react-jinke-music-player-main .music-player-panel .panel-content .player-content .audio-lists-btn {
background-color:rgba(0,0,0,0);
box-shadow:0 0 0 0;
}
.audio-lists-panel-content .audio-item {
line-height: 32px;
}
.react-jinke-music-player-main .music-player-panel .panel-content .img-content {
box-shadow:rgba(15, 17, 21, 0.25) 0px 4px 6px, rgba(15, 17, 21, 0.1) 0px 5px 7px;
}
.react-jinke-music-player-main .music-player-lyric {
color: #a5adce; /* subtext0 */
-webkit-text-stroke: 0.5px #303446; /* base */
font-weight: bolder;
}
.react-jinke-music-player-main .lyric-btn-active,
.react-jinke-music-player-main .lyric-btn-active svg {
color: #a5adce !important;
}
.audio-lists-panel-header {
border-bottom:1px solid rgba(0, 0, 0, 0.25);
box-shadow:none;
}
.audio-lists-panel-content .audio-item.playing,
.audio-lists-panel-content .audio-item.playing svg {
color: #a5adce; /* subtext0 */
}
.audio-lists-panel-content .audio-item:active .group:not([class=".player-delete"]) svg,
.audio-lists-panel-content .audio-item:hover .group:not([class=".player-delete"]) svg {
color: #a5adce; /* subtext0 */
}
.audio-lists-panel-content .audio-item .player-icons {
scale: 75%;
}
.audio-lists-panel-content .audio-item:active,
.audio-lists-panel-content .audio-item:hover {
background-color: #51576d; /* surface1 */
}
/* Mobile */
.react-jinke-music-player-mobile-cover {
border: none;
box-shadow:rgba(15, 17, 21, 0.25) 0px 4px 6px, rgba(15, 17, 21, 0.1) 0px 5px 7px;
}
.react-jinke-music-player .music-player-controller {
border: none;
box-shadow:rgba(15, 17, 21, 0.25) 0px 4px 6px, rgba(15, 17, 21, 0.1) 0px 5px 7px;
color: #a5adce; /* subtext0 */
}
.react-jinke-music-player .music-player-controller .music-player-controller-setting {
color: rgba(122,160,236,.3);
}
.react-jinke-music-player-mobile-progress .rc-slider-handle, .react-jinke-music-player-mobile-progress .rc-slider-track {
background-color: #a5adce; /* subtext0 */
}
.react-jinke-music-player-mobile-progress .rc-slider-handle {
border: none;
}
`
export default stylesheet