module Chiasma.Ui.Pane(
  paneToggleOpen,
  paneSetOpen,
) where

import Chiasma.Ui.Data.View (View(View), PaneView, Pane(Pane))
import Chiasma.Ui.Data.ViewState (ViewState(ViewState))

paneToggleOpen :: PaneView -> PaneView
paneToggleOpen :: PaneView -> PaneView
paneToggleOpen (View Ident
i ViewState
s ViewGeometry
g (Pane Bool
False Bool
pin Maybe Text
cwd)) =
  Ident -> ViewState -> ViewGeometry -> Pane -> PaneView
forall a. Ident -> ViewState -> ViewGeometry -> a -> View a
View Ident
i ViewState
s ViewGeometry
g (Bool -> Bool -> Maybe Text -> Pane
Pane Bool
True Bool
pin Maybe Text
cwd)
paneToggleOpen (View Ident
i (ViewState Bool
m) ViewGeometry
g Pane
e) =
  Ident -> ViewState -> ViewGeometry -> Pane -> PaneView
forall a. Ident -> ViewState -> ViewGeometry -> a -> View a
View Ident
i (Bool -> ViewState
ViewState (Bool -> Bool
not Bool
m)) ViewGeometry
g Pane
e

paneSetOpen :: PaneView -> PaneView
paneSetOpen :: PaneView -> PaneView
paneSetOpen (View Ident
i ViewState
s ViewGeometry
g (Pane Bool
_ Bool
pin Maybe Text
cwd)) =
  Ident -> ViewState -> ViewGeometry -> Pane -> PaneView
forall a. Ident -> ViewState -> ViewGeometry -> a -> View a
View Ident
i ViewState
s ViewGeometry
g (Bool -> Bool -> Maybe Text -> Pane
Pane Bool
True Bool
pin Maybe Text
cwd)