@@ -2,15 +2,18 @@ package com.mikepenz.markdown.sample
22
33import androidx.compose.foundation.layout.Arrangement
44import androidx.compose.foundation.layout.Column
5+ import androidx.compose.foundation.layout.Row
56import androidx.compose.foundation.layout.fillMaxSize
67import androidx.compose.foundation.layout.safeContentPadding
78import androidx.compose.material3.Button
89import androidx.compose.material3.MaterialTheme
10+ import androidx.compose.material3.Switch
911import androidx.compose.material3.Text
1012import androidx.compose.runtime.Composable
1113import androidx.compose.runtime.DisposableEffect
1214import androidx.compose.runtime.getValue
1315import androidx.compose.runtime.mutableIntStateOf
16+ import androidx.compose.runtime.mutableStateOf
1417import androidx.compose.runtime.remember
1518import androidx.compose.runtime.setValue
1619import androidx.compose.ui.Alignment
@@ -42,23 +45,46 @@ fun RecompositionPage(
4245 horizontalAlignment = Alignment .CenterHorizontally ,
4346 modifier = modifier.fillMaxSize().safeContentPadding()
4447 ) {
48+ var retainState by remember {
49+ mutableStateOf(true )
50+ }
51+ var includeCounter by remember {
52+ mutableStateOf(false )
53+ }
4554 var counter by remember {
4655 mutableIntStateOf(0 )
4756 }
4857
49- Text (" Count: $counter " , color = MaterialTheme .colorScheme.onBackground)
50-
51- Button (onClick = { counter++ }) {
52- Text (" Increase" )
58+ Row (horizontalArrangement = Arrangement .spacedBy(8 .dp), verticalAlignment = Alignment .CenterVertically ) {
59+ Text (" Include Counter:" )
60+ Switch (includeCounter, onCheckedChange = { includeCounter = it })
5361 }
62+ Row (horizontalArrangement = Arrangement .spacedBy(8 .dp), verticalAlignment = Alignment .CenterVertically ) {
63+ Text (" Retain State:" )
64+ Switch (retainState, onCheckedChange = { retainState = it })
65+ }
66+ Row (horizontalArrangement = Arrangement .spacedBy(8 .dp)) {
67+ Button (onClick = { counter++ }) {
68+ Text (" Increase" )
69+ }
5470
55- Button (onClick = { counter-- }) {
56- Text (" Decrease" )
71+ Button (onClick = { counter-- }) {
72+ Text (" Decrease" )
73+ }
5774 }
5875
76+ Text (" Count: $counter " , color = MaterialTheme .colorScheme.onBackground)
77+
5978 val markdownState = rememberMarkdownState(
60- content = " ## My markdown text"
61- )
79+ if (includeCounter) counter else 0 ,
80+ retainState = retainState
81+ ) {
82+ if (includeCounter) {
83+ " ## My markdown text $counter "
84+ } else {
85+ " ## My markdown text"
86+ }
87+ }
6288 Markdown (
6389 markdownState = markdownState,
6490 dimens = markdownDimens(),
0 commit comments