package Ġio . horizontal systems . bank wallet . modules . nft . collections Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġio . horizontal systems . bank wallet . R Ċ import Ġio . horizontal systems . bank wallet . core . App Ċ import Ġio . horizontal systems . bank wallet . modules . balance . Balance X Rate Repository Ċ import Ġio . horizontal systems . bank wallet . modules . nft . collection . assets . Collection Asset Ċ import Ġio . horizontal systems . bank wallet . ui . compose . Trans latable String Ċ import Ġio . horizontal systems . bank wallet . ui . compose . With Trans latable Title Ċ Ċ object ĠN ft Collections Module Ġ{ ĊĊĠĠĠ Ġclass ĠFactory Ġ: ĠViewModel Provider . Factory Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠViewModel > Ġcreate ( model Class : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġasset Items Repository Ġ= ĠN ft Asset Items Repository ( App . nft Manager ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġasset Items Pr iced Repository Ġ= ĠN ft Asset Items Pr iced Repository () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġasset Items Pr iced With Currency Repository Ġ= ĠN ft Asset Items Pr iced With Currency Repository ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBalance X Rate Repository ( App . currency Manager , ĠApp . market Kit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġservice Ġ= ĠN ft Collections Service ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp . account Manager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġasset Items Repository , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġasset Items Pr iced Repository , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġasset Items Pr iced With Currency Repository ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠN ft Collections ViewModel ( service ) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ enum Ġclass ĠPrice Type ( override Ġval Ġtitle : ĠTrans latable String ) Ġ: ĠWith Trans latable Title Ġ{ ĊĠĠĠ ĠLast Sale ( Trans latable String . Res String ( R . string . N fts _ Price Type _ Last Sale )), ĊĠĠĠ ĠDays 7 ( Trans latable String . Res String ( R . string . N fts _ Price Type _ Days _ 7 )), ĊĠĠĠ ĠDays 3 0 ( Trans latable String . Res String ( R . string . N fts _ Price Type _ Days _ 3 0 )) Ċ } Ċ Ċ data Ġclass ĠN ft CollectionView Item ( ĊĠĠĠ Ġval Ġslug : ĠString , ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġval ĠimageUrl : ĠString ?, ĊĠĠĠ Ġval Ġexpanded : ĠBoolean , ĊĠĠĠ Ġval Ġassets : ĠList < Collection Asset > Ċ ) Ġ{ ĊĠĠĠ Ġval Ġowned Asset Count Ġ= Ġassets . size Ċ } Ċ