package Ġcom . alex v any o . compose life . ui Ċ Ċ import Ġandroid . content . res . Configuration . UI _ MODE _ N IGHT _ NO Ċ import Ġandroid . content . res . Configuration . UI _ MODE _ N IGHT _ YES Ċ import Ġandroidx . compose . foundation . background Ċ import Ġandroidx . compose . foundation . interaction . Mutable Interaction Source Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . size Ċ import Ġandroidx . compose . foundation . selection . toggle able Ċ import Ġandroidx . compose . material . ripple . remember R ipple Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . semantics . Role Ċ import Ġandroidx . compose . ui . semantics . content Description Ċ import Ġandroidx . compose . ui . semantics . semantics Ċ import Ġandroidx . compose . ui . tool ing . preview . Preview Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġcom . alex v any o . compose life . ui . theme . Compose Life Theme Ċ Ċ /** Ċ Ġ* ĠAn Ġindividual Ġcell Ġthat Ġis Ġinteract able . Ċ Ġ* Ċ Ġ* ĠThis Ġcell Ġhas Ġno Ġin herent Ġsize , Ġwhich Ġmust Ġbe Ġspecified Ġvia Ġ[ modifier ]. Ċ Ġ* Ċ Ġ* ĠThe Ġcell Ġis Ġalive Ġif Ġ[ is Alive ] Ġis Ġtrue , Ġand Ġ[ on Value Change ] Ġwill Ġbe Ġcalled Ġwhen Ġthe Ġliving Ġstate Ġshould Ġbe Ġtoggle d . Ċ Ġ*/ Ċ @ Composable Ċ fun ĠInter act able Cell ( ĊĠĠĠ Ġmodifier : ĠModifier , ĊĠĠĠ Ġis Alive : ĠBoolean , ĊĠĠĠ Ġcontent Description : ĠString , ĊĠĠĠ Ġon Value Change : Ġ( is Alive : ĠBoolean ) Ġ-> ĠUnit , Ċ ) Ġ{ ĊĠĠĠ Ġval Ġcell Color Ġ= Ġif Ġ( is Alive ) Ġ{ ĊĠĠĠĠĠĠĠ ĠCompose Life Theme . alive Cell Color ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠCompose Life Theme . dead Cell Color ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġri pple Color Ġ= Ġif Ġ( is Alive ) Ġ{ ĊĠĠĠĠĠĠĠ ĠCompose Life Theme . dead Cell Color ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠCompose Life Theme . alive Cell Color ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( cell Color ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. semantics Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . content Description Ġ= Ġcontent Description ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. toggle able ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġis Alive , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinteraction Source Ġ= Ġremember Ġ{ ĠMutable Interaction Source () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindication Ġ= Ġremember R ipple ( color Ġ= Ġri pple Color ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrole Ġ= ĠRole . Switch , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Value Change Ġ= Ġon Value Change , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) Ċ } Ċ Ċ @ Preview ( ĊĠĠĠ Ġname Ġ= Ġ" Alive Ġcell Ġlight Ġmode ", ĊĠĠĠ Ġui Mode Ġ= ĠUI _ MODE _ N IGHT _ NO Ċ ) Ċ @ Preview ( ĊĠĠĠ Ġname Ġ= Ġ" Alive Ġcell Ġdark Ġmode ", ĊĠĠĠ Ġui Mode Ġ= ĠUI _ MODE _ N IGHT _ YES Ċ ) Ċ @ Composable Ċ fun ĠA live Cell Preview () Ġ{ ĊĠĠĠ ĠCompose Life Theme Ġ{ ĊĠĠĠĠĠĠĠ ĠInter act able Cell ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . size ( 5 0 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Alive Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġ" test Ġcell ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Value Change Ġ= Ġ{} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Preview ( ĊĠĠĠ Ġname Ġ= Ġ" Dead Ġcell Ġlight Ġmode ", ĊĠĠĠ Ġui Mode Ġ= ĠUI _ MODE _ N IGHT _ NO Ċ ) Ċ @ Preview ( ĊĠĠĠ Ġname Ġ= Ġ" Dead Ġcell Ġdark Ġmode ", ĊĠĠĠ Ġui Mode Ġ= ĠUI _ MODE _ N IGHT _ YES Ċ ) Ċ @ Composable Ċ fun ĠDead Cell Preview () Ġ{ ĊĠĠĠ ĠCompose Life Theme Ġ{ ĊĠĠĠĠĠĠĠ ĠInter act able Cell ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . size ( 5 0 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Alive Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġ" test Ġcell ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Value Change Ġ= Ġ{} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ