diff --git a/core/src/views/PublicPageMenu.vue b/core/src/views/PublicPageMenu.vue index ddadfb63bc053..19cf8d5690b9d 100644 --- a/core/src/views/PublicPageMenu.vue +++ b/core/src/views/PublicPageMenu.vue @@ -135,7 +135,23 @@ function openDialogIfNeeded() { } &__primary-icon { - filter: var(--primary-invert-if-bright); + // Light mode: icon is black by default, invert to white when primary is dark + filter: var(--primary-invert-if-dark); + + // Dark mode: icon is white (swapped in icons.css), invert to black when primary is bright + @media (prefers-color-scheme: dark) { + filter: var(--primary-invert-if-bright); + } } } + +// Dark theme via Nextcloud setting (data-themes attribute, not media query) +:global([data-themes*=dark]) .public-page-menu__primary-icon { + filter: var(--primary-invert-if-bright); +} + +// Light theme explicitly set (overrides dark media query if system is dark but user chose light) +:global([data-themes*=light]) .public-page-menu__primary-icon { + filter: var(--primary-invert-if-dark); +}