package Ġcom . jd agn ogo . we lov em ar athon . common . category Ċ Ċ import Ġandroidx . compose . animation . animate Content Size Ċ import Ġandroidx . compose . foundation . Experimental Foundation Api Ċ import Ġandroidx . compose . foundation . Image Ċ import Ġandroidx . compose . foundation . click able Ċ import Ġandroidx . compose . foundation . interaction . Mutable Interaction Source Ċ import Ġandroidx . compose . foundation . layout . Arrange ment Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . Padding Values Ċ import Ġandroidx . compose . foundation . layout . Row Ċ import Ġandroidx . compose . foundation . layout . fill Max Width Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . layout . size Ċ import Ġandroidx . compose . foundation . lazy . Lazy Column Ċ import Ġandroidx . compose . material . Card Ċ import Ġandroidx . compose . material . Divider Ċ import Ġandroidx . compose . material . Experimental Material Api Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Surface Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . compose . ui . layout . Content Scale Ċ import Ġandroidx . compose . ui . platform . Local Context Ċ import Ġandroidx . compose . ui . platform . Local Uri Handler Ċ import Ġandroidx . compose . ui . text . style . Text Align Ċ import Ġandroidx . compose . ui . text . style . Text Overflow Ċ import Ġandroidx . compose . ui . tool ing . preview . Preview Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġco il . compose . remember Image Painter Ċ import Ġcom . jd agn ogo . we lov em ar athon . R Ċ import Ġcom . jd agn ogo . we lov em ar athon . common . like . Like Component Ċ import Ġcom . jd agn ogo . we lov em ar athon . common . ui . component . Contact Component Ċ import Ġcom . jd agn ogo . we lov em ar athon . common . ui . theme . Primary Light Ċ import Ġcom . jd agn ogo . we lov em ar athon . common . ui . theme . Recommended Category Item Title Style Ċ import Ġcom . jd agn ogo . we lov em ar athon . common . ui . theme . spacing Ċ import Ġcom . jd agn ogo . we lov em ar athon . common . ui . theme . tags Title Style Ċ import Ġcom . jd agn ogo . we lov em ar athon . common . utils . redirectTo Link Ċ import Ġcom . jd agn ogo . we lov em ar athon . common . utils . redirectTo Phone Ċ Ċ @ Experimental Material Api Ċ @ Experimental Foundation Api Ċ @ Composable Ċ fun ĠCategory Component ( ĊĠĠĠ Ġitems : ĠList < Category Item >, ĊĠĠĠ Ġon Like Clicked : Ġ( String ) Ġ-> ĠUnit , ĊĠĠĠ Ġon Filter Clicked : Ġ( isVisible : ĠBoolean ) Ġ-> ĠUnit , ĊĠĠĠ Ġshould Display Filter : ĠBoolean , ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , Ċ ) Ġ{ ĊĠĠĠ ĠColumn ( modifier Ġ= Ġmodifier ) Ġ{ ĊĠĠĠĠĠĠĠ ĠFilter Component ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Filter Clicked Ġ= Ġon Filter Clicked , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Display Filter Ġ= Ġshould Display Filter , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Ġ= ĠMaterial Theme . spacing . huge ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠCategory Grid Component ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems Ġ= Ġitems , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Like Clicked Ġ= Ġon Like Clicked , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Experimental Material Api Ċ @ Composable Ċ fun ĠCategory Item Component ( ĊĠĠĠ Ġitem : ĠCategory Item , ĊĠĠĠ Ġon Like Clicked : Ġ( String ) Ġ-> ĠUnit , ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , Ċ ) Ġ{ ĊĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠ Ġvertical Alignment Ġ= ĠAlignment . Center Vert ically , ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLike Component ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġitem . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Fav Item Ġ= Ġitem . is Fav Item , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Like Clicked Ġ= Ġon Like Clicked , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . size ( Material Theme . spacing . huge ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠCard ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelevation Ġ= ĠMaterial Theme . spacing . small , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshape Ġ= ĠMaterial Theme . shapes . large , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= ĠPrimary Light , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( start Ġ= ĠMaterial Theme . spacing . small ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. weight ( 1 f ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( Modifier . padding ( Material Theme . spacing . small )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Alignment Ġ= ĠAlignment . Center Vert ically ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextAlign Ġ= ĠText Align . Start , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . weight ( 1 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . El lipsis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠRecomm ended Category Item Title Style , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġitem . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuri Handler Ġ= ĠLocal Uri Handler . current ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠLocal Context . current ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContact Component ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( Material Theme . spacing . extra Small ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= ĠR . drawable . location , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Size Ġ= Ġ 2 4 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick ed Ġ= Ġ{ Ġredirect To Link ( uri Handler , Ġitem . location Link ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContact Component ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( Material Theme . spacing . extra Small ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= ĠR . drawable . ic _ phone , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Size Ġ= Ġ 2 4 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick ed Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġredirect To Phone ( context , Ġitem . number ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDiv ider ( color Ġ= ĠColor . White , Ġthickness Ġ= Ġ 1 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverflow Ġ= ĠText Overflow . El lipsis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġtags Title Style , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġitem . tags , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= ĠMaterial Theme . spacing . medium ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Ġ= ĠMaterial Theme . spacing . small ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Experimental Material Api Ċ @ Experimental Foundation Api Ċ @ Composable Ċ fun ĠCategory Grid Component ( ĊĠĠĠ Ġitems : ĠList < Category Item >, ĊĠĠĠ Ġon Like Clicked : Ġ( String ) Ġ-> ĠUnit , ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , Ċ ) Ġ{ ĊĠĠĠ ĠLazy Column ( ĊĠĠĠĠĠĠĠ Ġcontent Padding Ġ= ĠPadding Values ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= ĠMaterial Theme . spacing . small , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= ĠMaterial Theme . spacing . huge , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= ĠMaterial Theme . spacing . large , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= ĠMaterial Theme . spacing . large , ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġvertical Arrange ment Ġ= ĠArrange ment . spaced By ( Material Theme . spacing . medium ), ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier . animate Content Size () ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġitems ( items . size ) Ġ{ Ġindex Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġitems [ index ] ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCategory Item Component ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ= Ġitem , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Like Clicked Ġ= Ġon Like Clicked ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠFilter Component ( ĊĠĠĠ Ġshould Display Filter : ĠBoolean , ĊĠĠĠ Ġon Filter Clicked : Ġ( isVisible : ĠBoolean ) Ġ-> ĠUnit , ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier Ċ ) Ġ{ ĊĠĠĠ Ġif Ġ( should Display Filter ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinteraction Source Ġ= Ġremember Ġ{ ĠMutable Interaction Source () Ġ} ĊĠĠĠĠĠĠĠ ĠImage ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpainter Ġ= Ġremember Image Painter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= ĠR . drawable . filter , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġ" Filter Ġmenu ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able ( interaction Source Ġ= Ġinteraction Source , Ġindication Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Filter Clicked ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Scale Ġ= ĠContent Scale . Fill Width ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Experimental Material Api Ċ @ Experimental Foundation Api Ċ @ Preview Ċ @ Composable Ċ fun ĠFilter Component Preview () Ġ{ ĊĠĠĠ ĠMaterial Theme Ġ{ ĊĠĠĠĠĠĠĠ ĠSurface Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilter Component ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshould Display Filter Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Experimental Material Api Ċ @ Experimental Foundation Api Ċ @ Preview Ċ @ Composable Ċ fun ĠCategory Component Preview () Ġ{ ĊĠĠĠ Ġval Ġitems Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ ĠCategory Item (" id ", Ġ" name ", Ġtags Ġ= Ġ"# t oto Ġ# t iti "), ĊĠĠĠĠĠĠĠ ĠCategory Item (" id 2 ", Ġ" name ", Ġtags Ġ= Ġ"# t oto Ġ# t iti "), ĊĠĠĠĠĠĠĠ ĠCategory Item (" id 3 ", Ġ" name ", Ġtags Ġ= Ġ"# t oto Ġ# t iti "), ĊĠĠĠĠĠĠĠ ĠCategory Item (" id 4 ", Ġ" name ", Ġtags Ġ= Ġ"# t oto Ġ# t iti "), ĊĠĠĠĠĠĠĠ ĠCategory Item (" id 5 ", Ġ" name ", Ġtags Ġ= Ġ"# t oto Ġ# t iti "), ĊĠĠĠ Ġ) ĊĠĠĠ ĠMaterial Theme Ġ{ ĊĠĠĠĠĠĠĠ ĠCategory Component ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems Ġ= Ġitems , Ġon Filter Clicked Ġ= Ġ{}, Ġon Like Clicked Ġ= Ġ{}, Ġshould Display Filter Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Experimental Material Api Ċ @ Experimental Foundation Api Ċ @ Preview Ċ @ Composable Ċ fun ĠCategory Item Component Preview () Ġ{ ĊĠĠĠ Ġval Ġitem Ġ= ĠCategory Item (" id ", Ġ" name ", Ġtags Ġ= Ġ"# t oto Ġ# t iti ") ĊĠĠĠ ĠMaterial Theme Ġ{ ĊĠĠĠĠĠĠĠ ĠCategory Item Component ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ= Ġitem , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Like Clicked Ġ= Ġ{} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } ĊĊĊ