Skip to content

Commit e00ae0f

Browse files
author
Matt Swanson
committed
design feed list.
1 parent 43dca3b commit e00ae0f

File tree

8 files changed

+139
-8
lines changed

8 files changed

+139
-8
lines changed

app.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,5 @@ def render_partial(name, locals = {})
4646

4747
require_relative "app/controllers/stories_controller"
4848
require_relative "app/controllers/first_run_controller"
49-
require_relative "app/controllers/sessions_controller"
49+
require_relative "app/controllers/sessions_controller"
50+
require_relative "app/controllers/feeds_controller"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
require_relative "../repositories/feed_repository"
2+
3+
class Stringer < Sinatra::Base
4+
get "/feeds" do
5+
@feeds = Feed.all
6+
7+
erb :'feeds/index'
8+
end
9+
end

app/models/feed.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
11
class Feed < ActiveRecord::Base
22
has_many :stories, order: "published desc"
3+
4+
def status
5+
options = [:green, :yellow, :red]
6+
options[rand(3)]
7+
end
38
end

app/public/css/styles.css

Lines changed: 67 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,12 @@ hr {
8686
margin-bottom: 14px;
8787
}
8888

89-
ul#story-list {
89+
ul#story-list, ul#feed-list {
9090
list-style-type: none;
9191
margin-left: 0px;
9292
}
9393

94-
li.story {
94+
li.story, li.feed {
9595
margin-bottom: 7px;
9696
background-color: white;
9797
border-radius: 5px;
@@ -129,7 +129,7 @@ li.story.open .story-preview {
129129
border-bottom: 2px solid #FAF2E5;
130130
}
131131

132-
.story-preview {
132+
.story-preview , .feed-line{
133133
height: 30px;
134134
line-height: 30px;
135135
cursor: pointer;
@@ -138,11 +138,11 @@ li.story.open .story-preview {
138138
white-space: nowrap;
139139
}
140140

141-
.story-preview div {
141+
.story-preview div, .feed-line div {
142142
height: 30px;
143143
}
144144

145-
.blog-title {
145+
.blog-title, .feed-title {
146146
text-align: left;
147147
margin-left: 20px;
148148
overflow: hidden;
@@ -231,6 +231,68 @@ li.story .story-body h1 a:hover {
231231
color: #7F8281;
232232
}
233233

234+
li.feed .status {
235+
height: 15px;
236+
width: 15px;
237+
display: inline-block;
238+
line-height: 30px;
239+
border-radius: 50px;
240+
position: relative;
241+
top: 2px;
242+
left: 10px;
243+
}
244+
245+
li.feed .feed-line {
246+
cursor: default;
247+
}
248+
249+
li.feed .feed-title {
250+
display: inline-block;
251+
}
252+
253+
li.feed .feed-title-container {
254+
overflow: hidden;
255+
text-overflow: ellipsis;
256+
white-space: nowrap;
257+
}
258+
259+
li.feed .status.green {
260+
background: #2ECC71;
261+
}
262+
263+
li.feed .status.yellow {
264+
background: #F1C40F;
265+
}
266+
267+
li.feed .status.red {
268+
background: #E74C3C;
269+
}
270+
271+
li.feed .feed-last-updated {
272+
text-align: right;
273+
}
274+
275+
li.feed .last-updated {
276+
font-size: 10px;
277+
}
278+
279+
li.feed .last-updated-time {
280+
width: 100px;
281+
display: inline-block;
282+
}
283+
284+
li.feed .remove-feed {
285+
cursor: pointer;
286+
}
287+
288+
li.feed .remove-feed a {
289+
text-align: center;
290+
padding-left: 3px;
291+
padding-right: 3px;
292+
margin-left: 10px;
293+
color: #C0392B;
294+
}
295+
234296
#zen {
235297
text-align: center;
236298
}

app/views/feeds/index.erb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<div id="action-bar">
2+
<%= render_partial :feed_action_bar %>
3+
</div>
4+
5+
<% unless @feeds.empty? %>
6+
<div id="feeds">
7+
<ul id="feed-list">
8+
<% @feeds.each do |feed| %>
9+
<%= render_partial :feed, { feed: feed } %>
10+
<% end %>
11+
</ul>
12+
</div>
13+
<% else %>
14+
Hey, you should <a href="/add_feed">add</a> some feeds.
15+
<% end %>

app/views/partials/_action_bar.erb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
</div>
1212

1313
<div class="pull-right">
14-
<a class="btn btn-primary" id="feeds">
14+
<a class="btn btn-primary" id="feeds" href="/feeds">
1515
<i class="icon-list"></i>
1616
</a>
17-
<a class="btn btn-primary" id="add-feed">
17+
<a class="btn btn-primary" id="add-feed" href="/add_feed">
1818
<i class="icon-plus"></i>
1919
</a>
2020
</div>

app/views/partials/_feed.erb

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<li class="feed" id="feed-<%= feed.id%>" data-id="<%= feed.id %>">
2+
<div class="row-fluid feed-line">
3+
<div class="span7 feed-title-container">
4+
<div class="status <%= feed.status %>"></div>
5+
<p class="feed-title">
6+
<%= feed.name %>
7+
</p>
8+
</div>
9+
<div class="span4 feed-last-updated">
10+
<span class="last-updated">Last updated</span>
11+
<span class="last-updated-time">
12+
<% if feed.last_fetched %>
13+
<%= feed.last_fetched.strftime("%b %d, %H:%M") %>
14+
<% else %>
15+
Never
16+
<% end %>
17+
</span>
18+
</div>
19+
<div class="span1 remove-feed">
20+
<a class="icon-remove"></a>
21+
</div>
22+
</div>
23+
</li>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<div class="row-fluid">
2+
<div class="pull-left">
3+
<a class="btn" id="home" href="/news">
4+
<i class="icon-reply"></i>
5+
</a>
6+
</div>
7+
8+
<div class="pull-right">
9+
<a class="btn btn-primary" id="feeds" href="/feeds">
10+
<i class="icon-list"></i>
11+
</a>
12+
<a class="btn btn-primary" id="add-feed" href="/add_feed">
13+
<i class="icon-plus"></i>
14+
</a>
15+
</div>
16+
</div>

0 commit comments

Comments
 (0)