/* Ċ Ġ* ĠCopyright Ġ 2 0 2 2 ĠV ital iy ĠZ ar ub in Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . key gen qt . viewer . android . features . other . navigation . graph . impl Ċ Ċ import Ġandroidx . compose . animation . Experimental Animation Api Ċ import Ġandroidx . h ilt . navigation . compose . h ilt ViewModel Ċ import Ġandroidx . navigation . Nav Graph Builder Ċ import Ġcom . key gen qt . viewer . android . base . App Actions Ċ import Ġcom . key gen qt . viewer . android . base . Local Navigation Dispatcher Ċ import Ġcom . key gen qt . routing . Navigation Dispatcher Ċ import Ġcom . key gen qt . viewer . android . extensions . comp osable Animation Ċ import Ġcom . key gen qt . viewer . android . features . other . navigation . route . Other Nav Route Ċ import Ġcom . key gen qt . viewer . android . features . other . ui . actions . On boarding Actions Ċ import Ġcom . key gen qt . viewer . android . features . other . ui . screens . on boarding . On boarding Screen Ċ import Ġcom . key gen qt . viewer . android . features . other . ui . view Models . On boarding ViewModel Ċ import Ġcom . key gen qt . viewer . android . utils . Auth User Ċ Ċ /** Ċ Ġ* ĠNav Graph Ġfor Ġ[ On boarding Screen ] Ċ Ġ*/ Ċ @ Opt In ( Experimental Animation Api :: class ) Ċ fun ĠNav Graph Builder . on boarding Graph ( ĊĠĠĠ Ġapp Actions : ĠApp Actions , Ċ ) Ġ{ ĊĠĠĠ Ġcomp osable Animation ( ĊĠĠĠĠĠĠĠ Ġroute Ġ= ĠOther Nav Route . on boarding . default . route ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġis Login Ġ= ĠAuth User . is Login ĊĠĠĠĠĠĠĠ Ġval Ġnav Dispatcher : ĠNavigation Dispatcher Ġ= ĠLocal Navigation Dispatcher . current ĊĠĠĠĠĠĠĠ Ġval ĠviewModel : ĠOn boarding ViewModel Ġ= Ġh ilt ViewModel () ĊĊĠĠĠĠĠĠĠ ĠOn boarding Screen ( viewModel Ġ= ĠviewModel ) Ġ{ Ġevent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( event ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOn boarding Actions . Done On boarding Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . done On boarding () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( app Actions ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnav Dispatcher . to Route Pop Stack ( if Ġ( is Login ) Ġ:: to Repos Ġelse Ġ:: to Welcome ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ