Skip to content

Theme

@Composable



fun Theme(
    mode: String = ThemeVariants.DEFAULT, 
    type: String = "java", 
    darkTextColor: KColor = KColor.DARK_GRAY, 
    lightTextColor: KColor = KColor.WHITE, 
    namespace: String = Archie.MOD_ID, 
    content: @Composable



 () -> Unit
)

Sets the active ThemeData for all composables in content.

Parameters

  • mode: The variant name to activate ("" for default, "dark" for dark mode).

  • type: The platform type ("java" by default).

  • namespace: The resource namespace for theme files.

  • content: The composable tree that will receive the theme.

@Composable



fun Theme(data: ThemeData, content: @Composable



 () -> Unit)

Sets the active theme using a pre-built ThemeData.

Also pushes data onto the nearest net.kernelpanicsoft.archie.gui.layer.LayerStackManager's theme stack while mounted (popping it back off on dispose), so a modal/dropdown/tooltip pushed from anywhere in content inherits this theme too instead of silently falling back to LocalTheme's own default - each later-pushed layer is its own top-level composition (see net.kernelpanicsoft.archie.gui.layer.LayerStackManager's own doc) and would otherwise never see a Theme {} that only wraps the base layer's content. A nested Theme {} override stacks on top of whatever it's nested inside for as long as it stays mounted.