Skip to content

Commit b00ecbc

Browse files
committed
Enable to select your own tasks and all tasks from Tasks
1 parent 82a8a2b commit b00ecbc

1 file changed

Lines changed: 89 additions & 34 deletions

File tree

app/views/tasks/index.html.erb

Lines changed: 89 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
<head>
2+
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.0/dist/css/bootstrap.min.css">
3+
</head>
4+
15
<div class="flex">
26
<%= render 'layouts/h1', title: "タスク一覧" %>
37
<div class="flex-1">
@@ -23,45 +27,96 @@
2327
<%= link_to '新規作成', new_task_path, class: "my-auto text-white bg-red-400 rounded p-2" %>
2428
</div>
2529

26-
<% @tasks.each do |task| %>
27-
<div class="p-3 my-3 border rounded flex space-x-4">
28-
<div>
29-
<p class="text-xl">
30-
<% if task.completed? %>
31-
<i class="far fa-check-circle" style="color: <%= task.state.color %>;"></i>
32-
<% else %>
33-
<i class="far fa-dot-circle" style="color: <%= task.state.color %>;"></i>
30+
<ul class="text-center nav nav-tabs" id="myTab" role="tablist">
31+
<li class="nav-item w-50 bg-light">
32+
<a class="nav-link active link-text" id="my-task-tab" data-toggle="tab" href="#my-task" role="tab" aria-controls="my-task" aria-selected="true"><%= current_user&.screen_name %>のタスク</a>
33+
</li>
34+
<li class="nav-item w-50 bg-light">
35+
<a class="nav-link link-text" id="all-tasks-tab" data-toggle="tab" href="#all-tasks" role="tab" aria-controls="all-tasks" aria-selected="false">すべてのタスク</a>
36+
</li>
37+
</ul>
38+
39+
<div class="tab-content" id="myTabContent">
40+
<div class="tab-pane fade show active" id="my-task" role="tabpanel" aria-labelledby="my-task-tab">
41+
<% @tasks.select {|i| i.assigner.screen_name == current_user&.screen_name}.each do |task| %>
42+
<div class="p-3 my-3 border rounded flex space-x-4">
43+
<div>
44+
<p class="text-xl">
45+
<% if task.completed? %>
46+
<i class="far fa-check-circle" style="color: <%= task.state.color %>;"></i>
47+
<% else %>
48+
<i class="far fa-dot-circle" style="color: <%= task.state.color %>;"></i>
49+
<% end %>
50+
<%= link_to task.content, task %>
51+
</p>
52+
<p>
53+
<% if task.project %>
54+
<%= link_to task.project.name, task.project %>
55+
<% end %>
56+
<%= link_to task.assigner.name, task.assigner %>
57+
<%= task.show_days_ago.round.to_s + "日前" %>
58+
<% task.tags.each do |tag| %>
59+
<%= link_to tag_label(tag), tag %>
60+
<% end %>
61+
</p>
62+
</div>
63+
<div class="flex-1">
64+
<% if task.overdue? %>
65+
<p class="overdue_mark">期限切れです!</p>
66+
<% else %>
67+
<p class="ongoing_mark"><%= days_to_deadline_as_string task %></p>
68+
<% end %>
69+
</div>
70+
<% if logged_in? %>
71+
<%= link_to '詳細', task %>
72+
<%= link_to '編集', edit_task_path(task) %>
73+
<%= link_to '削除', task, method: :delete, data: { confirm: 'このタスクを削除しますか?' } %>
3474
<% end %>
35-
<%= link_to task.content, task %>
36-
</p>
37-
<p>
38-
<% if task.project %>
39-
<%= link_to task.project.name, task.project %>
40-
<% end %>
41-
<%= link_to task.assigner.name, task.assigner %>
42-
<%= task.show_days_ago.round.to_s + "日前" %>
43-
<% task.tags.each do |tag| %>
44-
<%= link_to tag_label(tag), tag %>
45-
<% end %>
46-
</p>
47-
</div>
48-
<div class="flex-1">
49-
<% if task.overdue? %>
50-
<p class="overdue_mark">期限切れです!</p>
51-
<% else %>
52-
<p class="ongoing_mark"><%= days_to_deadline_as_string task %></p>
53-
<% end %>
54-
</div>
55-
<% if logged_in? %>
56-
<%= link_to '詳細', task %>
57-
<%= link_to '編集', edit_task_path(task) %>
58-
<%= link_to '削除', task, method: :delete, data: { confirm: 'このタスクを削除しますか?' } %>
75+
</div>
5976
<% end %>
6077
</div>
61-
<% end %>
62-
78+
<div class="mb-5 tab-pane fade" id="all-tasks" role="tabpanel" aria-labelledby="all-tasks-tab">
79+
<% @tasks.each do |task| %>
80+
<div class="p-3 my-3 border rounded flex space-x-4">
81+
<div>
82+
<p class="text-xl">
83+
<% if task.completed? %>
84+
<i class="far fa-check-circle" style="color: <%= task.state.color %>;"></i>
85+
<% else %>
86+
<i class="far fa-dot-circle" style="color: <%= task.state.color %>;"></i>
87+
<% end %>
88+
<%= link_to task.content, task %>
89+
</p>
90+
<p>
91+
<% if task.project %>
92+
<%= link_to task.project.name, task.project %>
93+
<% end %>
94+
<%= link_to task.assigner.name, task.assigner %>
95+
<%= task.show_days_ago.round.to_s + "日前" %>
96+
<% task.tags.each do |tag| %>
97+
<%= link_to tag_label(tag), tag %>
98+
<% end %>
99+
</p>
100+
</div>
101+
<div class="flex-1">
102+
<% if task.overdue? %>
103+
<p class="overdue_mark">期限切れです!</p>
104+
<% else %>
105+
<p class="ongoing_mark"><%= days_to_deadline_as_string task %></p>
106+
<% end %>
107+
</div>
108+
<% if logged_in? %>
109+
<%= link_to '詳細', task %>
110+
<%= link_to '編集', edit_task_path(task) %>
111+
<%= link_to '削除', task, method: :delete, data: { confirm: 'このタスクを削除しますか?' } %>
112+
<% end %>
113+
</div>
114+
<% end %>
115+
</div>
116+
</div>
63117
<div class="row">
64118
<div class="col-md-12 col-sm-12 text-center hidden-xs">
65119
<%= raw(paginate @tasks) %>
66120
</div>
67121
</div>
122+
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.0/dist/js/bootstrap.bundle.min.js"></script>

0 commit comments

Comments
 (0)