diff of 9c92b52f124c2dff61dc9a99a05c3a3391877a66
9c92b52f124c2dff61dc9a99a05c3a3391877a66
diff --git a/elm-frontti/src/FeedView.elm b/elm-frontti/src/FeedView.elm
index 3713a7e..ca46bce 100644
--- a/elm-frontti/src/FeedView.elm
+++ b/elm-frontti/src/FeedView.elm
@@ -19,11 +19,8 @@ feed_item time_format zone item =
, div [ class "feed-author"] [ text <| "By " ++ item.author]
, div [ class "feed-item"
, dangerouslySetInnerHTML item.description] []]
-
-feeds settings zone fs new_feed =
- let new_feed_state = Maybe.withDefault (NewFeed "" "") new_feed
- in
+perFeedView settings zone fs new_feed_state =
div []
[ ul [ class "feed-list" ]
(List.map (\feed ->
@@ -49,4 +46,17 @@ feeds settings zone fs new_feed =
, value new_feed_state.url
, type_ "text"] []
, murja_button [ onClick (AddFeed new_feed_state)] [ text "Add a feed"]]]
-
+feeds feedReaderState settings zone fs new_feed =
+ let new_feed_state = Maybe.withDefault (NewFeed "" "") new_feed
+ in
+ div []
+ [ span [] [ input [ id "feed_state_per_feed"
+ , type_ "checkbox"
+ , onClick SetPerFeedView
+ , checked <| feedReaderState == PerFeed] []
+ , label [ for "feed_state_per_feed"] [ text "Show rss per feed?"] ]
+
+
+ , case feedReaderState of
+ PerFeed -> perFeedView settings zone fs new_feed_state
+ SingleFeed -> div [] [ text "NotImplemented" ]]
diff --git a/elm-frontti/src/Main.elm b/elm-frontti/src/Main.elm
index 406c3c5..1aa945d 100644
--- a/elm-frontti/src/Main.elm
+++ b/elm-frontti/src/Main.elm
@@ -67,7 +67,7 @@ subscriptions _ = Sub.batch
[ tags ReceivedTag
, aceStateUpdate AceStateUpdate]
-initialModel url key viewstate = Model viewstate Nothing False False [] Nothing LoggedOut key url Nothing Time.utc [] [] Nothing
+initialModel url key viewstate = Model viewstate Nothing False False [] Nothing LoggedOut key url Nothing Time.utc [] [] Nothing PerFeed
viewStatePerUrl : Url.Url -> (ViewState, List (Cmd Msg))
viewStatePerUrl url =
@@ -602,6 +602,15 @@ update msg model =
Err error ->
( { model | view_state = ShowError (errToString error) }
, Cmd.none)
+ SetPerFeedView ->
+ let state = model.feedReaderState in
+ ({ model
+ | feedReaderState = case state of
+ PerFeed -> SingleFeed
+ SingleFeed -> PerFeed}
+ , Cmd.none)
+
+
doGoHome_ model other_cmds =
(model, Cmd.batch (List.append [ getSettings
, getTitles
@@ -693,7 +702,7 @@ view model =
Nothing -> [ div [] [ text "No post loaded" ]]
MediaList -> [ medialist model.loadedImages model.medialist_state ]
SettingsEditor -> [ SettingsEditor.editor settings]
- Feeds feeds -> [ FeedView.feeds settings model.zone feeds model.new_feed ])
+ Feeds feeds -> [ FeedView.feeds model.feedReaderState settings model.zone feeds model.new_feed ])
, div [id "sidebar"] [ User.loginView model.loginState
, (sidebarHistory model.titles )
, (case model.view_state of
diff --git a/elm-frontti/src/Message.elm b/elm-frontti/src/Message.elm
index 11d383e..689f07c 100644
--- a/elm-frontti/src/Message.elm
+++ b/elm-frontti/src/Message.elm
@@ -62,6 +62,10 @@ type alias PostEditorSettings =
, selected_tag : String
, show_preview : Bool
, previewing_previously : Maybe Article.Article}
+
+type FeedReaderState
+ = PerFeed
+ | SingleFeed
type alias Model =
{ view_state : ViewState
@@ -77,7 +81,8 @@ type alias Model =
, zone : Time.Zone
, titles : List Article.Title
, searchedPosts : List Article.PreviousArticle
- , new_feed: Maybe Feeds.NewFeed}
+ , new_feed: Maybe Feeds.NewFeed
+ , feedReaderState: FeedReaderState}
type Msg
= PageReceived (Result Http.Error P.Page)
@@ -150,6 +155,7 @@ type Msg
| SetFeedName String
| AddFeed Feeds.NewFeed
| FeedAdded (Result Http.Error ())
+ | SetPerFeedView
-- ports
port reallySetupAce : String -> Cmd msg