diff of d12660a5a3fe15cb19703bda8c6552d4aa749848

d12660a5a3fe15cb19703bda8c6552d4aa749848
diff --git a/elm-frontti/src/FeedView.elm b/elm-frontti/src/FeedView.elm
index 469adb0..074dc85 100644
--- a/elm-frontti/src/FeedView.elm
+++ b/elm-frontti/src/FeedView.elm
@@ -16,27 +16,54 @@ import Tab exposing (tabs)
 import Random
 
 feed_item time_format zone item =
-    li [] [ h1 [] [ text item.title]
-          , h4 [] [ text (formatDateTime time_format zone item.pubdate)]
+    li [] [ h1 [] [ a [ href item.link ] [ text item.title] ]
+          , (if item.title == "" then 
+                  h4 [] [ a [ href item.link] [ text (formatDateTime time_format zone item.pubdate) ]]
+             else
+                 h4 [] [ text (formatDateTime time_format zone item.pubdate)])
           , div [ class "feed-author"] [ text <| "By " ++ item.author]
           , div [ class "feed-item"
                 , dangerouslySetInnerHTML item.description] []]
 
+correctlySortedFeedItemList settings zone items = 
+    (  items
+    |> List.sortBy (Time.posixToMillis << .pubdate)
+    |> List.reverse
+    |> List.map (feed_item settings.time_format zone))
+
+-- fs = feeds, elm sucks balls at shadowing
 perFeedView settings zone fs new_feed_state = 
-    div [] 
-        [ ul [ class "feed-list" ]
-              (List.map (\feed ->
-                             li [ class "feed" ]
-                             [ header [] [ text feed.name ]
-                             , a [ href feed.url ] [ text feed.url ]
-                             , ul [ class "feed-items" ]
-                                 (feed.items
-                                 |> List.sortBy (Time.posixToMillis << .pubdate)
-                                 |> List.reverse
-                                 |> List.map (feed_item settings.time_format zone))]) fs)
-        , h3 [] [ text "Add new feed?"]
-        , div []
-            [ label [ for "name" ] [ text "Feed name" ]
+    ul [ class "feed-list" ]
+        (List.map (\feed ->
+                       li [ class "feed" ]
+                       [ header [] [ text feed.name ]
+                       , a [ href feed.url ] [ text feed.url ]
+                       , ul [ class "feed-items" ]
+                           (correctlySortedFeedItemList settings zone feed.items)]) fs)
+            
+singleFeedView settings zone fs =
+    let feed = List.concatMap .items fs in 
+    ul [ class "feed-items" ]
+        (correctlySortedFeedItemList settings zone feed)
+              
+
+readerState_str state =
+    case state of
+        PerFeed -> "PerFeed"
+        SingleFeed -> "SingleFeed"
+                             
+feeds feedReaderState settings zone fs new_feed  =
+    let new_feed_state = Maybe.withDefault (NewFeed "" "") new_feed
+    in
+        div [ id "feeds" ] 
+            [ tabs "rss-feed-tab" (readerState_str feedReaderState)
+                  (Dict.fromList [ ("PerFeed", "Group by feed")
+                                 , ("SingleFeed", "Show all in a feed")])
+                  (Dict.fromList [ ("PerFeed", perFeedView settings zone fs new_feed_state)
+                                 , ("SingleFeed", singleFeedView settings zone fs)])
+                  
+            , h3 [] [ text "Add new feed?"]
+            , label [ for "name" ] [ text "Feed name" ]
             , input [ id "name"
                     , onInput SetFeedName
                     , value new_feed_state.name
@@ -47,18 +74,4 @@ perFeedView settings zone fs new_feed_state =
                     , onInput SetFeedUrl
                     , value new_feed_state.url
                     , type_ "text"] []
-            , murja_button [ onClick (AddFeed new_feed_state)] [ text "Add a feed"]]]
-
-readerState_str state =
-    case state of
-        PerFeed -> "PerFeed"
-        SingleFeed -> "SingleFeed"
-                             
-feeds feedReaderState settings zone fs new_feed  =
-    let new_feed_state = Maybe.withDefault (NewFeed "" "") new_feed
-    in
-        tabs "rss-feed-tab" (readerState_str feedReaderState)
-            (Dict.fromList [ ("PerFeed", "Group by feed")
-                           , ("SingleFeed", "Show all in a feed")])
-            (Dict.fromList [ ("PerFeed", perFeedView settings zone fs new_feed_state)
-                           , ("SingleFeed", div [] [ text "NotImplemented" ])])
+            , murja_button [ onClick (AddFeed new_feed_state)] [ text "Add a feed"]]
diff --git a/resources/css/murja.css b/resources/css/murja.css
index 5f1d7bc..d9eda7f 100644
--- a/resources/css/murja.css
+++ b/resources/css/murja.css
@@ -335,6 +335,10 @@ header {
     border-bottom: 2px solid #00F;
 }
 
+#feeds {
+    width: 100%;
+}
+
 @media only screen and (max-device-width:480px)
 {
     body {