package Ġcom . wo 1 f . common _ components Ċ Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . layout . width Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Surface Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . rounded . Campaign Ċ import Ġandroidx . compose . material . icons . rounded . Delete Outline Ċ import Ġandroidx . compose . material . icons . rounded . Edit Ċ import Ġandroidx . compose . material . icons . rounded . Not Inter ested Ċ import Ġandroidx . compose . material . icons . rounded . Visibility Off Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . compose . ui . window . Dialog Ċ import Ġcom . wo 1 f . domain . model . Post Ċ Ċ sealed Ġclass ĠPost Options Dialog Ġ{ ĊĠĠĠ Ġclass ĠShow ( val Ġpost : ĠPost ) Ġ: ĠPost Options Dialog () ĊĠĠĠ Ġobject ĠHide Ġ: ĠPost Options Dialog () Ċ } Ċ Ċ sealed Ġclass ĠDelete Post Dialog Ġ{ ĊĠĠĠ Ġclass ĠShow ( val Ġpost : ĠPost ) Ġ: ĠDelete Post Dialog () ĊĠĠĠ Ġobject ĠHide Ġ: ĠDelete Post Dialog () Ċ } Ċ Ċ sealed Ġclass ĠPost Options Dialog Action Ġ{ ĊĠĠĠ Ġclass ĠOn Delete Click ( val Ġpost : ĠPost ) Ġ: ĠPost Options Dialog Action () ĊĠĠĠ Ġclass ĠOn Edit Click ( val Ġpost Id : ĠString ) Ġ: ĠPost Options Dialog Action () Ċ } Ċ Ċ @ Composable Ċ fun ĠPost Options Dialog On Our Post ( ĊĠĠĠ Ġpost Id : ĠString , ĊĠĠĠ Ġon Dismiss Request : Ġ() Ġ-> ĠUnit , ĊĠĠĠ ĠonDelete Click : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġon Edit Click : Ġ( String ) Ġ-> ĠUnit , Ċ ) Ġ{ ĊĠĠĠ ĠDialog ( ĊĠĠĠĠĠĠĠ Ġon Dismiss Request Ġ= Ġon Dismiss Request , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSurface ( shape Ġ= ĠMaterial Theme . shapes . large ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. width ( 3 0 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( vertical Ġ= Ġ 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDialog Option ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Delete ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Vector Ġ= ĠIcons . Rounded . Delete Outline , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= ĠonDelete Click ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDialog Option ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Edit ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Vector Ġ= ĠIcons . Rounded . Edit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ Ġon Edit Click ( post Id ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠPost Options Dialog On The ir Post ( ĊĠĠĠ Ġpost Id : ĠString , ĊĠĠĠ Ġon Dismiss Request : Ġ() Ġ-> ĠUnit , Ċ ) Ġ{ ĊĠĠĠ ĠDialog ( ĊĠĠĠĠĠĠĠ Ġon Dismiss Request Ġ= Ġon Dismiss Request , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSurface ( shape Ġ= ĠMaterial Theme . shapes . large ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. width ( 3 0 0 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( vertical Ġ= Ġ 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDialog Option ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Hide ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Vector Ġ= ĠIcons . Rounded . Visibility Off , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDialog Option ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Not Ġinterested ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Vector Ġ= ĠIcons . Rounded . Not Inter ested , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDialog Option ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" Report ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage Vector Ġ= ĠIcons . Rounded . Campaign , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ