package Ġcom . developers bre ach . jet pack comp o ses ample s . navigation Ċ Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . lifecycle . view model . compose . viewModel Ċ import Ġandroidx . navigation . Nav Graph Builder Ċ import Ġandroidx . navigation . compose . Nav Host Ċ import Ġandroidx . navigation . compose . comp osable Ċ import Ġandroidx . navigation . compose . remember Nav Controller Ċ import Ġcom . developers bre ach . jet pack comp o ses ample s . categories .* Ċ import Ġcom . developers bre ach . jet pack comp o ses ample s . categories . destination .* Ċ import Ġcom . developers bre ach . jet pack comp o ses ample s . ui . canvas . hour glass . Hour glass Animation Ċ import Ġcom . developers bre ach . jet pack comp o ses ample s . ui . material Components . bottom Nav . Bottom Navigation View Ċ import Ġcom . developers bre ach . jet pack comp o ses ample s . ui . list Animations . addItem ToList . AddItem ToList Animation Ċ import Ġcom . developers bre ach . jet pack comp o ses ample s . ui . list Animations . drag To Re order . Drag To Re order Animation Ċ import Ġcom . developers bre ach . jet pack comp o ses ample s . ui . list Animations . swipe ToDelete . Swipe ToDelete Animation Ċ Ċ @ Composable Ċ fun ĠApp Navigation ( ĊĠĠĠ Ġstart Destination : ĠString Ġ= ĠApp Dest inations . HOME _ DEST INATION _ CATEGORY , ĊĠĠĠ Ġcategory ViewModel : ĠCategories ViewModel Ġ= ĠviewModel () Ċ ) Ġ{ ĊĠĠĠ Ġval Ġnav Controller Ġ= Ġremember Nav Controller () ĊĠĠĠ Ġval Ġdest inations Ġ= ĠApp Dest inations ĊĠĠĠ Ġval Ġactions Ġ= Ġremember ( nav Controller ) Ġ{ ĊĠĠĠĠĠĠĠ ĠApp Actions ( nav Controller , Ġdest inations ) ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠNav Host ( ĊĠĠĠĠĠĠĠ Ġnav Controller Ġ= Ġnav Controller , ĊĠĠĠĠĠĠĠ Ġstart Destination Ġ= Ġstart Destination ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Main Category Destination ( dest inations , Ġactions , Ġcategory ViewModel ) ĊĠĠĠĠĠĠĠ Ġset Canvas Dest inations ( dest inations , Ġactions , Ġcategory ViewModel ) ĊĠĠĠĠĠĠĠ Ġset List Animations Dest inations ( dest inations , Ġactions , Ġcategory ViewModel ) ĊĠĠĠĠĠĠĠ Ġset Material Component Dest inations ( dest inations , Ġactions , Ġcategory ViewModel ) ĊĠĠĠĠĠĠĠ Ġset Navig ations Dest inations ( dest inations , Ġactions , Ġcategory ViewModel ) ĊĠĠĠĠĠĠĠ Ġset Layouts Dest inations ( dest inations , Ġactions , Ġcategory ViewModel ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠNav Graph Builder . set Main Category Destination ( ĊĠĠĠ Ġdest inations : ĠApp Dest inations , ĊĠĠĠ Ġactions : ĠApp Actions , ĊĠĠĠ Ġcategory ViewModel : ĠCategories ViewModel Ċ ) Ġ{ ĊĠĠĠ Ġcomp osable ( ĊĠĠĠĠĠĠĠ Ġdest inations . HOME _ DEST INATION _ CATEGORY ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠCategory List ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Category Ġ= Ġactions . main Categories , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategory ViewModel Ġ= Ġcategory ViewModel ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠNav Graph Builder . set Canvas Dest inations ( ĊĠĠĠ Ġdest inations : ĠApp Dest inations , ĊĠĠĠ Ġactions : ĠApp Actions , ĊĠĠĠ Ġcategory ViewModel : ĠCategories ViewModel Ċ ) Ġ{ ĊĠĠĠ Ġval Ġcanvas Category Ġ= ĠApp Dest inations . Canvas Category ĊĊĠĠĠ Ġcomp osable ( dest inations . CAN V AS _ MAIN _ CATEGORY _ DEST INATION ) Ġ{ ĊĠĠĠĠĠĠĠ ĠCanvas Destination ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Category Ġ= Ġactions . canvas Categories , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate Up Ġ= Ġactions . navigate Up , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategory ViewModel Ġ= Ġcategory ViewModel ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcomp osable ( ĊĠĠĠĠĠĠĠ Ġcanvas Category . HOUR GL ASS _ ANIM ATION _ DEST INATION ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠHour glass Animation ( navigate Up Ġ= Ġactions . navigate Up ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcomp osable ( ĊĠĠĠĠĠĠĠ Ġcanvas Category . NUMBER S _ ANIM ATION _ DEST INATION ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠHour glass Animation ( navigate Up Ġ= Ġactions . navigate Up ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcomp osable ( ĊĠĠĠĠĠĠĠ Ġcanvas Category . DRAW _ COMP OSE _ DEST INATION ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠHour glass Animation ( navigate Up Ġ= Ġactions . navigate Up ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠNav Graph Builder . set List Animations Dest inations ( ĊĠĠĠ Ġdest inations : ĠApp Dest inations , ĊĠĠĠ Ġactions : ĠApp Actions , ĊĠĠĠ Ġcategory ViewModel : ĠCategories ViewModel Ċ ) Ġ{ ĊĠĠĠ Ġval Ġlist Animation Category Ġ= ĠApp Dest inations . List Animations Category ĊĊĠĠĠ Ġcomp osable ( dest inations . LIST _ ANIM ATIONS _ MAIN _ CATEGORY _ DEST INATION ) Ġ{ ĊĠĠĠĠĠĠĠ ĠList Animations Destination ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Category Ġ= Ġactions . list Animations Category , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate Up Ġ= Ġactions . navigate Up , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategories ViewModel Ġ= Ġcategory ViewModel ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcomp osable ( ĊĠĠĠĠĠĠĠ Ġlist Animation Category . ADD _ ITEM _ TO _ LIST ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠAdd Item ToList Animation ( navigate Up Ġ= Ġactions . navigate Up ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcomp osable ( ĊĠĠĠĠĠĠĠ Ġlist Animation Category . SW I PE _ TO _ DELETE ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSw ipe ToDelete Animation ( navigate Up Ġ= Ġactions . navigate Up ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcomp osable ( ĊĠĠĠĠĠĠĠ Ġlist Animation Category . DR AG _ TO _ RE ORDER ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠDrag To Re order Animation ( navigate Up Ġ= Ġactions . navigate Up ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠNav Graph Builder . set Material Component Dest inations ( ĊĠĠĠ Ġdest inations : ĠApp Dest inations , ĊĠĠĠ Ġactions : ĠApp Actions , ĊĠĠĠ Ġcategory ViewModel : ĠCategories ViewModel Ċ ) Ġ{ ĊĠĠĠ Ġval Ġmaterial Components Category Ġ= ĠApp Dest inations . Material Components Category ĊĊĠĠĠ Ġcomp osable ( dest inations . MAT ERIAL _ COMPONENTS _ MAIN _ CATEGORY _ DEST INATION ) Ġ{ ĊĠĠĠĠĠĠĠ ĠMaterial Components Destination ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Category Ġ= Ġactions . material Components Category , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate Up Ġ= Ġactions . navigate Up , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategories ViewModel Ġ= Ġcategory ViewModel ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcomp osable ( ĊĠĠĠĠĠĠĠ Ġmaterial Components Category . BOTTOM _ NAV IG ATION _ VIEW _ DEST INATION ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠBottom Navigation View () ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠNav Graph Builder . set Navig ations Dest inations ( ĊĠĠĠ Ġdest inations : ĠApp Dest inations , ĊĠĠĠ Ġactions : ĠApp Actions , ĊĠĠĠ Ġcategory ViewModel : ĠCategories ViewModel Ċ ) Ġ{ ĊĠĠĠ Ġval Ġnavigation Category Ġ= ĠApp Dest inations . Navigation Category ĊĊĠĠĠ Ġcomp osable ( dest inations . NAV IG ATION _ MAIN _ CATEGORY _ DEST INATION ) Ġ{ ĊĠĠĠĠĠĠĠ ĠNavig ations Destination ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Category Ġ= Ġactions . navigation Category , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate Up Ġ= Ġactions . navigate Up , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategories ViewModel Ġ= Ġcategory ViewModel ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcomp osable ( ĊĠĠĠĠĠĠĠ Ġnavigation Category . LIST _ TO _ DETAIL _ DEST INATION ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠAdd Item ToList Animation ( navigate Up Ġ= Ġactions . navigate Up ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcomp osable ( ĊĠĠĠĠĠĠĠ Ġnavigation Category . NE ST ED _ NAV IG ATION _ DEST INATION ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠSw ipe ToDelete Animation ( navigate Up Ġ= Ġactions . navigate Up ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠNav Graph Builder . setLayout s Dest inations ( ĊĠĠĠ Ġdest inations : ĠApp Dest inations , ĊĠĠĠ Ġactions : ĠApp Actions , ĊĠĠĠ Ġcategory ViewModel : ĠCategories ViewModel Ċ ) Ġ{ ĊĠĠĠ Ġval Ġlayouts Category Ġ= ĠApp Dest inations . Layouts Category ĊĊĠĠĠ Ġcomp osable ( dest inations . LAYOUT S _ MAIN _ CATEGORY _ DEST INATION ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLayout s Destination ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Category Ġ= Ġactions . layouts Category , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate Up Ġ= Ġactions . navigate Up , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcategories ViewModel Ġ= Ġcategory ViewModel ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcomp osable ( ĊĠĠĠĠĠĠĠ Ġlayouts Category . CONSTRAINT _ LAYOUT _ DEST INATION ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠAdd Item ToList Animation ( navigate Up Ġ= Ġactions . navigate Up ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcomp osable ( ĊĠĠĠĠĠĠĠ Ġlayouts Category . COLUMN _ LAYOUT _ DEST INATION ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠAdd Item ToList Animation ( navigate Up Ġ= Ġactions . navigate Up ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcomp osable ( ĊĠĠĠĠĠĠĠ Ġlayouts Category . ROW _ LAYOUT _ DEST INATION ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠAdd Item ToList Animation ( navigate Up Ġ= Ġactions . navigate Up ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcomp osable ( ĊĠĠĠĠĠĠĠ Ġlayouts Category . BOX _ LAYOUT _ DEST INATION ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠAdd Item ToList Animation ( navigate Up Ġ= Ġactions . navigate Up ) ĊĠĠĠ Ġ} Ċ }