package Ġcom . github . ps m . mov ied b . ui . widget Ċ Ċ import Ġandroidx . compose . foundation . Scroll State Ċ import Ġandroidx . compose . foundation . layout . Arrange ment Ċ import Ġandroidx . compose . foundation . layout . Row Ċ import Ġandroidx . compose . foundation . layout . Row Scope Ċ import Ġandroidx . compose . foundation . layout . default Min Size Ċ import Ġandroidx . compose . foundation . lazy . Lazy List State Ċ import Ġandroidx . compose . material .* Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . filled . Arrow Back Ċ import Ġandroidx . compose . material . icons . filled . Search Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . Composition Local Provider Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . tool ing . preview . Preview Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . compose . ui . unit . sp Ċ Ċ @ Composable Ċ fun ĠBase AppBar ( ĊĠĠĠ Ġstart Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġcenter Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġend Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, Ċ ) Ġ= ĠBase AppBar Content ( ĊĠĠĠ Ġstart Content Ġ= Ġstart Content , ĊĠĠĠ Ġcenter Content Ġ= Ġcenter Content , ĊĠĠĠ Ġend Content Ġ= Ġend Content , ĊĠĠĠ Ġis Sc rolled Ġ= Ġfalse Ċ ) Ċ Ċ @ Composable Ċ fun ĠBase AppBar ( ĊĠĠĠ Ġstart Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġtitle : ĠString , ĊĠĠĠ Ġend Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġenable Shadow : ĠBoolean Ġ= Ġfalse Ċ ) Ġ= ĠBase AppBar Text ( ĊĠĠĠ Ġtitle Ġ= Ġtitle , ĊĠĠĠ Ġstart Content Ġ= Ġstart Content , ĊĠĠĠ Ġend Content Ġ= Ġend Content , ĊĠĠĠ Ġis Sc rolled Ġ= Ġenable Shadow Ċ ) Ċ Ċ @ Composable Ċ fun ĠBase AppBar ( ĊĠĠĠ Ġstart Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġtitle : ĠString , ĊĠĠĠ Ġend Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġscroll State : ĠScroll State ? Ġ= Ġnull Ċ ) Ġ= ĠBase AppBar Text ( ĊĠĠĠ Ġtitle Ġ= Ġtitle , ĊĠĠĠ Ġstart Content Ġ= Ġstart Content , ĊĠĠĠ Ġend Content Ġ= Ġend Content , ĊĠĠĠ Ġis Sc rolled Ġ= Ġscroll State ?. value Ġ?: Ġ 0 Ġ> Ġ 1 0 Ċ ) Ċ Ċ @ Composable Ċ fun ĠBase AppBar ( ĊĠĠĠ Ġstart Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġtitle : ĠString , ĊĠĠĠ Ġend Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġlist State : ĠLazy List State ? Ċ ) Ġ{ ĊĠĠĠ Ġval Ġis Sc rolled Ġ= Ġif Ġ( list State ?. first Visible Item Index Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġlist State . first Visible Item Scroll Offset Ġ> Ġ 1 0 ĊĠĠĠ Ġelse Ġtrue ĊĠĠĠ ĠBase AppBar Text ( ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġtitle , ĊĠĠĠĠĠĠĠ Ġstart Content Ġ= Ġstart Content , ĊĠĠĠĠĠĠĠ Ġend Content Ġ= Ġend Content , ĊĠĠĠĠĠĠĠ Ġis Sc rolled Ġ= Ġis Sc rolled ĊĠĠĠ Ġ) Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠBase AppBar Text ( ĊĠĠĠ Ġstart Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġtitle : ĠString , ĊĠĠĠ Ġend Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġis Sc rolled : ĠBoolean Ċ ) Ġ{ ĊĠĠĠ Ġval Ġfont Style Ġ= ĠMaterial Theme ĊĠĠĠĠĠĠĠ Ġ. typography ĊĠĠĠĠĠĠĠ Ġ. h 6 ĊĠĠĠĠĠĠĠ Ġ. copy ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 2 0 . sp ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġreturn ĠBase AppBar Content ( ĊĠĠĠĠĠĠĠ Ġstart Content Ġ= Ġstart Content , ĊĠĠĠĠĠĠĠ Ġcenter Content Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComp osition Local Provider ( Local TextStyle Ġprovides Ġfont Style ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġtitle ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġend Content Ġ= Ġend Content , ĊĠĠĠĠĠĠĠ Ġis Sc rolled Ġ= Ġis Sc rolled ĊĠĠĠ Ġ) Ċ } Ċ Ċ @ Composable Ċ fun ĠBase AppBar ( ĊĠĠĠ Ġstart Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġcenter Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġend Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġscroll State : ĠScroll State ? Ġ= Ġnull , Ċ ) Ġ{ ĊĠĠĠ ĠBase AppBar Content ( ĊĠĠĠĠĠĠĠ Ġstart Content Ġ= Ġstart Content , ĊĠĠĠĠĠĠĠ Ġcenter Content Ġ= Ġcenter Content , ĊĠĠĠĠĠĠĠ Ġend Content Ġ= Ġend Content , ĊĠĠĠĠĠĠĠ Ġis Sc rolled Ġ= Ġscroll State ?. value Ġ?: Ġ 0 Ġ> Ġ 1 0 ĊĠĠĠ Ġ) Ċ } Ċ Ċ @ Composable Ċ fun ĠBase AppBar ( ĊĠĠĠ Ġstart Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġcenter Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġend Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġlist State : ĠLazy List State ? Ġ= Ġnull , Ċ ) Ġ{ ĊĠĠĠ Ġval Ġis Sc rolled Ġ= Ġif Ġ( list State ?. first Visible Item Index Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġlist State . first Visible Item Scroll Offset Ġ> Ġ 1 0 ĊĠĠĠ Ġelse Ġtrue ĊĠĠĠ ĠBase AppBar Content ( ĊĠĠĠĠĠĠĠ Ġstart Content Ġ= Ġstart Content , ĊĠĠĠĠĠĠĠ Ġcenter Content Ġ= Ġcenter Content , ĊĠĠĠĠĠĠĠ Ġend Content Ġ= Ġend Content , ĊĠĠĠĠĠĠĠ Ġis Sc rolled Ġ= Ġis Sc rolled ĊĠĠĠ Ġ) Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠBase AppBar Content ( ĊĠĠĠ Ġstart Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġcenter Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġend Content : Ġ@ Composable Ġ( scope : ĠRow Scope ) Ġ-> ĠUnit Ġ= Ġ{ Ġ}, ĊĠĠĠ Ġis Sc rolled : ĠBoolean Ċ ) Ġ{ ĊĠĠĠ ĠTop AppBar ( ĊĠĠĠĠĠĠĠ Ġelevation Ġ= Ġif Ġ( is Sc rolled ) ĠApp Bar Defaults . Top AppBar Elevation Ġelse Ġ 0 . dp , ĊĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= ĠMaterial Theme . colors . surface ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . default Min Size ( 4 8 . dp ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Content ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. weight ( 1 f , Ġtrue ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Alignment Ġ= ĠAlignment . Center Vert ically , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Arrange ment Ġ= ĠArrange ment . Center ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcenter Content ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . default Min Size ( 4 8 . dp ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Content ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ @ Preview ( show Background Ġ= Ġtrue ) Ċ @ Composable Ċ private Ġfun ĠBase AppBar Preview () Ġ{ ĊĠĠĠ ĠBase AppBar ( ĊĠĠĠĠĠĠĠ Ġenable Shadow Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġstart Content Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIcon Button ( onClick Ġ= Ġ{ Ġ/* TODO */ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( image Vector Ġ= ĠIcons . Default . Arrow Back , Ġcontent Description Ġ= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Base ĠApp Bar " ĊĠĠĠ Ġ) Ċ } Ċ Ċ @ Preview ( show Background Ġ= Ġtrue ) Ċ @ Composable Ċ private Ġfun ĠBase AppBar End Icon Preview () Ġ{ ĊĠĠĠ ĠBase AppBar ( ĊĠĠĠĠĠĠĠ Ġenable Shadow Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġstart Content Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIcon Button ( onClick Ġ= Ġ{ Ġ/* TODO */ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( image Vector Ġ= ĠIcons . Default . Arrow Back , Ġcontent Description Ġ= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Base ĠApp Bar ", ĊĠĠĠĠĠĠĠ Ġend Content Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIcon Button ( onClick Ġ= Ġ{ Ġ/* TODO */ Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Vector Ġ= ĠIcons . Default . Search , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ċ }