package Ġcom . dropbox . desktop . component box . ui . sur faces . explorer Ċ Ċ import Ġandroidx . compose . foundation . background Ċ import Ġandroidx . compose . foundation . click able Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . Row Ċ import Ġandroidx . compose . foundation . layout . fill Max Width Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . material . Icon Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . compose . ui . res . p ainter Resource Ċ import Ġandroidx . compose . ui . text . font . Font Weight Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . compose . ui . unit . sp Ċ import Ġcom . dropbox . desktop . component box . data . entities . Node Ċ import Ġcom . dropbox . desktop . component box . store . actions . Component Action Ċ import Ġcom . dropbox . desktop . component box . store . store Ċ import Ġcom . dropbox . desktop . component box . store . subscriptions . sync Active Node Ċ import Ġcom . dropbox . desktop . component box . ui . theme . disabled Background Ċ import Ġcom . dropbox . desktop . component box . ui . theme . standard Background E lev ated Ċ Ċ @ Composable Ċ fun Ġnode ( node : ĠNode , Ġis Root : ĠBoolean , Ġoffset X : ĠInt Ġ= Ġ 0 ) Ġ{ ĊĠĠĠ Ġval Ġactive Node Ġ= Ġremember Ġ{ Ġmutable State Of ( store . state . component State . active Node ) Ġ} ĊĊĠĠĠ Ġfun Ġsubscribe () Ġ{ ĊĠĠĠĠĠĠĠ Ġsync Active Node ( active Node , Ġstore . state ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġstore . subscribe Ġ{ Ġsubscribe () Ġ} ĊĊĠĠĠ ĠColumn Ġ{ ĊĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill Max Width (). padding ( 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( color Ġ= Ġif Ġ( is Root ) ĠMaterial Theme . colors . standard Background E lev ated Ġelse ĠColor . Transparent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstore . dispatch ( Component Action . SetActive Node ( node )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Root Ġ&& Ġnode . children . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpainter Ġ= Ġpainter Resource ( CHE VR ON _ UP _ LINE _ RESOURCE _ PATH ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt int Ġ= ĠMaterial Theme . colors . disabled Background ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġnode . type . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= Ġif Ġ( node . id Ġ== Ġactive Node . value ?. id ) ĠMaterial Theme . colors . primary Ġelse ĠMaterial Theme . colors . on Background , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( top Ġ= Ġ 4 . dp , Ġbottom Ġ= Ġ 4 . dp , Ġstart Ġ= Ġoffset X . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontWeight Ġ= ĠFontWeight . Bold , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 1 6 . sp ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġnode . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= Ġif Ġ( node . id Ġ== Ġactive Node . value ?. id ) ĠMaterial Theme . colors . primary Ġelse ĠMaterial Theme . colors . on Background , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( vertical Ġ= Ġ 4 . dp , Ġhorizontal Ġ= Ġ 8 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontWeight Ġ= ĠFontWeight . Light , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 1 2 . sp ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġnode . children . forEach Ġ{ Ġchild Ġ-> ĊĠĠĠĠĠĠĠ Ġnode ( child , Ġfalse , Ġoffset X Ġ+ Ġ 2 0 ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ const Ġval ĠCHE VR ON _ UP _ LINE _ RESOURCE _ PATH Ġ= Ġ" drawable / ic _ dig _ chevron _ up _ line . xml "