diff options
author | Ben Sima <ben@bsima.me> | 2020-06-05 22:27:14 -0700 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2020-06-05 22:29:30 -0700 |
commit | 37062e1ca6c479b7cf773931aa0e797ebcfafe8b (patch) | |
tree | 56a2262621f85dc3aabe6983da1da689837b7836 /Hero/Client.hs | |
parent | 99c0a806be7fa502394cc3b3634ce7eb43f97024 (diff) |
Add user datatype to keep
I also restructured some types so that I could grab a handle on the keep to
close it on shutdown, otherwise the database would be locked and I can't do
anything about it. This might mean I have to delete and start the database from
scratch when I deploy, but that's okay because I haven't stored anything yet.
I also renamed some stuff like 'deck' and 'beam' just for fun. I could make
these into more general interfaces like I always planned to.
Also I haven't really tested this yet, so... next commit will implement the user
login.
Diffstat (limited to 'Hero/Client.hs')
-rw-r--r-- | Hero/Client.hs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Hero/Client.hs b/Hero/Client.hs index a513dcd..4189fd8 100644 --- a/Hero/Client.hs +++ b/Hero/Client.hs @@ -28,6 +28,7 @@ import Hero.App ComicReaderState (..), ComicReaderView (..), Model (..), + User (..), audioId, chooseExperienceLink, comicPlayerFullLink, @@ -130,12 +131,13 @@ move (ToggleZoom c pg) m = m {cpState = newState} <# pure act Reading Full _ _ -> (reading Spread, goto comicPlayerSpreadLink) Reading Spread _ _ -> (reading Full, goto comicPlayerFullLink) x -> (x, NoOp) -move (ToggleInLibrary c) model = model {userLibrary = newLib} <# pure NoOp +move (ToggleInLibrary c) model = model {user = newUser} <# pure NoOp where + newUser = (user model) { userLibrary = newLib } newLib - | c `elem` userLibrary model = - Protolude.filter (/= c) $ userLibrary model - | otherwise = c : userLibrary model + | c `elem` (userLibrary $ user model) = + Protolude.filter (/= c) $ userLibrary $ user model + | otherwise = c : (userLibrary $ user model) move (HandleURI u) model = model {uri = u} <# pure NoOp move (ChangeURI u) model = model <# do pushURI u |