This thread tracks the evolution of Slack's theming capabilities, focusing on the implementation of dark mode across its desktop and browser applications. Initial posts detailed the foundational work of redefining the color system to support multiple themes, including the introduction of foreground/background concepts and nuanced grayscale values. This post details the technical implementation of dark mode, leveraging CSS variables, a LESS plugin to handle transparency functions, and localStorage for theme persistence. It also covers OS integration for automatic theme switching and an inline script for pre-paint theme application to avoid flashes of white. Subsequent posts will likely detail further refinements, broader platform support, and user-facing controls.
All Slack trails