package Ġdev . lo tr . app . ui . books Ċ Ċ import Ġdagger . h ilt . android . lifecycle . H ilt ViewModel Ċ import Ġdev . lo tr . app . navigation . Nav Dest Ċ import Ġdev . lo tr . app . navigation . Nav Manager Ċ import Ġdev . lo tr . app . navigation . to Route With Param Ċ import Ġdev . lo tr . app . ui . base . Base ViewModel Ċ import Ġdev . lo tr . domain . common . Result Ċ import Ġdev . lo tr . domain . model . Book Ċ import Ġdev . lo tr . domain . use case . Get Books UseCase Ċ import Ġjavax . inject . Inject Ċ Ċ @ H ilt ViewModel Ċ class ĠBooks ViewModel Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġget Books UseCase : ĠGet Books UseCase , ĊĠĠĠ Ġprivate Ġval Ġnav Manager : ĠNav Manager , Ċ ) Ġ: ĠBase ViewModel < List < Book >>() Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġfetch Data () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġinvoke UseCase (): ĠResult < List < Book >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Books UseCase . invoke ( null ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Book Clicked ( book Id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnav Manager . navigate ( Nav Dest . CH AP TER S . to Route With Param ( book Id )) ĊĠĠĠ Ġ} Ċ } Ċ