```enum class DarkTheme(private val _enabled: @Com...
# compose
a
Copy code
enum class DarkTheme(private val _enabled: @Composable () -> Boolean) {
    NO({ false }),
    YES({ true }),
    AUTO({ isSystemInDarkTheme() });

    val enabled: Boolean
        @Composable
        get() = _enabled()
}
e
any of these would eliminate the lambda:
Copy code
enum class DarkTheme(private val overrideSystemInDarkTheme: Boolean?) {
    ForceLight(false),
    ForceDark(true),
    FollowSystem(null);

    val isDarkTheme: Boolean
        @Composable
        get() = overrideSystemInDarkTheme ?: isSystemInDarkTheme()
}

enum class DarkTheme {
    ForceLight,
    ForceDark,
    FollowSystem;

    val isDarkTheme: Boolean
        @Composable
        get() = when (this) {
            ForceLight -> false
            ForceDark -> true
            FollowSystem -> isSystemInDarkTheme()
        }
}

enum class DarkTheme {
    ForceLight {
        override val isDarkTheme: Boolean
            @Composable
            get() = false
    },
    ForceDark {
        override val isDarkTheme: Boolean
            @Composable
            get() = true
    },
    FollowSystem {
        override val isDarkTheme: Boolean
            @Composable
            get() = isSystemInDarkTheme()
    };

    @get:Composable
    abstract val isDarkTheme: Boolean
}
a
Ah, true haha
I was originally gonna use a when, dunno why that left my mind
Thanks for un-derailing me 😆