package Ġcom . kas umin otes . ui . app . char a Ċ Ċ import Ġandroidx . compose . foundation . Scroll State Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . fill MaxSize Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . layout . size Ċ import Ġandroidx . compose . foundation . vertical Scroll Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . compose . ui . res . string Resource Ċ import Ġandroidx . compose . ui . text . font . Font Weight Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . compose . ui . unit . sp Ċ import Ġcom . kas umin otes . R Ċ import Ġcom . kas umin otes . data . Char a Story Status Ċ import Ġcom . kas umin otes . data . Property Ċ import Ġcom . kas umin otes . data . Story Item Ċ import Ġcom . kas umin otes . data . Unit Data Ċ import Ġcom . kas umin otes . data . UserData Ċ import Ġcom . kas umin otes . data . UserProfile Ċ import Ġcom . kas umin otes . ui . components . Property Table Ċ import Ġcom . kas umin otes . ui . components . Place Image Ċ import Ġcom . kas umin otes . ui . components . Tabs Panel Ċ import Ġcom . kas umin otes . ui . components . Underline Label Column Ċ import Ġcom . kas umin otes . ui . components . Underline Style Ċ Ċ @ Composable Ċ fun ĠChar a Story ( ĊĠĠĠ ĠuserData : ĠUser Data , ĊĠĠĠ Ġunit Data : ĠUnit Data , ĊĠĠĠ Ġchar a Story Status : ĠChar a Story Status ?, ĊĠĠĠ Ġshared Profiles : ĠList < UserProfile >, ĊĠĠĠ Ġselected TabIndex : ĠInt , ĊĠĠĠ Ġon TabIndex Selected : Ġ( Int ) Ġ-> ĠUnit , ĊĠĠĠ Ġstate : ĠScroll State Ċ ) Ġ{ ĊĠĠĠ ĠBox ( Modifier . fill MaxSize ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstories : ĠList < Story Item > Ġ= Ġremember ( userData , Ġchar a Story Status , Ġshared Profiles . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchar a Story Status ?. get Story List ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunit Data . unit Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserData . r arity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserData . love Level , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunit Data . unit Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Profiles ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ?: Ġempty List () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠTabs Panel ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ= Ġstories . size , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscroll able Ġ= Ġstories . size Ġ> Ġ 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected TabIndex Ġ= Ġselected TabIndex , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon TabIndex Selected Ġ= Ġon TabIndex Selected , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= ĠColor . Transparent , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Color Ġ= ĠMaterial Theme . colors . on Surface . copy ( 0 . 5 f ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġedge Padding Ġ= Ġ 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtab Content For Ġ= Ġ{ Ġindex Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstory Ġ= Ġstories [ index ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( top Ġ= Ġ 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ( 4 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPlace Image ( story . icon Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġstory . label , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( vertical Ġ= Ġ 4 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 1 2 . sp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontWeight Ġ= ĠFontWeight . Sem iB old ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpanel Content For Ġ= Ġ{ Ġindex Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstory Item Ġ= Ġstories [ index ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStory Properties ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= Ġstory Item . status , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunlock Count Ġ= Ġstory Item . unlock Count , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġstate ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠStory Properties ( ĊĠĠĠ Ġstatus : ĠList < Property > ?, ĊĠĠĠ Ġunlock Count : ĠInt , ĊĠĠĠ Ġstate : ĠScroll State Ċ ) Ġ{ ĊĠĠĠ Ġif Ġ( status Ġ== Ġnull ) Ġreturn ĊĊĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠ ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill MaxSize () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. vertical Scroll ( state ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( 4 . dp ) ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstatus . forEach Indexed Ġ{ Ġindex , Ġproperty Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStory Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġstring Resource ( R . string . story _ d , Ġindex Ġ+ Ġ 2 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġunlock Ġ= Ġindex Ġ< Ġunlock Count , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproperty Ġ= Ġproperty ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠStory Property ( ĊĠĠĠ Ġlabel : ĠString , ĊĠĠĠ Ġunlock : ĠBoolean , ĊĠĠĠ Ġproperty : ĠProperty Ċ ) Ġ{ ĊĠĠĠ ĠUnder line Label Column ( ĊĠĠĠĠĠĠĠ Ġlabel Ġ= Ġlabel , ĊĠĠĠĠĠĠĠ Ġcolor Ġ= Ġif Ġ( unlock ) ĠMaterial Theme . colors . primary Variant ĊĠĠĠĠĠĠĠ Ġelse ĠMaterial Theme . colors . on Surface . copy ( 0 . 5 f ), ĊĠĠĠĠĠĠĠ Ġstyle Ġ= Ġif Ġ( unlock ) ĠUnder line Style . Solid Ġelse ĠUnder line Style . Dot ted ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠProperty Table ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperty Ġ= Ġproperty , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindices Ġ= Ġproperty . nonzero Indices ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ